fuse-for-macosx-commits Mailing List for Fuse for macOS (Page 10)
Brought to you by:
fredm
You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(9) |
Dec
(31) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(24) |
Feb
(11) |
Mar
(6) |
Apr
(48) |
May
(9) |
Jun
(38) |
Jul
(33) |
Aug
(15) |
Sep
|
Oct
(3) |
Nov
(6) |
Dec
(3) |
2008 |
Jan
|
Feb
(24) |
Mar
(11) |
Apr
(22) |
May
(7) |
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
(3) |
Nov
(18) |
Dec
(23) |
2009 |
Jan
(16) |
Feb
(1) |
Mar
(1) |
Apr
|
May
|
Jun
(7) |
Jul
(4) |
Aug
(11) |
Sep
(9) |
Oct
|
Nov
(3) |
Dec
(2) |
2010 |
Jan
(1) |
Feb
|
Mar
(1) |
Apr
(2) |
May
(8) |
Jun
|
Jul
|
Aug
(2) |
Sep
(2) |
Oct
(9) |
Nov
|
Dec
(8) |
2011 |
Jan
|
Feb
|
Mar
|
Apr
(7) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(5) |
Nov
(2) |
Dec
|
2012 |
Jan
(4) |
Feb
(5) |
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(10) |
Nov
(13) |
Dec
(11) |
2013 |
Jan
(4) |
Feb
(1) |
Mar
(8) |
Apr
(8) |
May
(16) |
Jun
(5) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(4) |
2014 |
Jan
|
Feb
(6) |
Mar
(2) |
Apr
(1) |
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(6) |
2015 |
Jan
|
Feb
|
Mar
(2) |
Apr
|
May
|
Jun
(5) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
(10) |
Jun
(9) |
Jul
(6) |
Aug
(5) |
Sep
(3) |
Oct
(6) |
Nov
(5) |
Dec
|
From: <fr...@us...> - 2009-08-02 11:08:17
|
Revision: 612 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=612&view=rev Author: fredm Date: 2009-08-02 11:08:10 +0000 (Sun, 02 Aug 2009) Log Message: ----------- Small code tidy up. Modified Paths: -------------- trunk/fuse/fusepb/controllers/PokeFinderController.m Modified: trunk/fuse/fusepb/controllers/PokeFinderController.m =================================================================== --- trunk/fuse/fusepb/controllers/PokeFinderController.m 2009-08-02 11:03:25 UTC (rev 611) +++ trunk/fuse/fusepb/controllers/PokeFinderController.m 2009-08-02 11:08:10 UTC (rev 612) @@ -86,10 +86,10 @@ value = [record valueForKey:@"offset_number"]; offset = [value unsignedLongValue]; - error = debugger_breakpoint_add_address( - DEBUGGER_BREAKPOINT_TYPE_WRITE, - page, offset, - 0, DEBUGGER_BREAKPOINT_LIFE_PERMANENT, NULL); + error = + debugger_breakpoint_add_address( DEBUGGER_BREAKPOINT_TYPE_WRITE, + page, offset, 0, + DEBUGGER_BREAKPOINT_LIFE_PERMANENT, NULL); } - (void) dealloc This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2009-08-02 11:03:33
|
Revision: 611 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=611&view=rev Author: fredm Date: 2009-08-02 11:03:25 +0000 (Sun, 02 Aug 2009) Log Message: ----------- Updates to UTI list for OPD and OPU, small fix for RAW type. Modified Paths: -------------- trunk/FuseGenerator/Info.plist trunk/FuseImporter/Info.plist trunk/fuse/fusepb/Info-Fuse.plist Modified: trunk/FuseGenerator/Info.plist =================================================================== --- trunk/FuseGenerator/Info.plist 2009-08-02 10:35:36 UTC (rev 610) +++ trunk/FuseGenerator/Info.plist 2009-08-02 11:03:25 UTC (rev 611) @@ -11,23 +11,32 @@ <string>QLGenerator</string> <key>LSItemContentTypes</key> <array> + <string>net.sourceforge.projects.fuse-emulator.Cartridge</string> + <string>net.sourceforge.projects.fuse-emulator.MassStorage</string> <string>net.sourceforge.projects.fuse-emulator.Snapshot</string> <string>net.sourceforge.projects.fuse-emulator.Tape</string> - <string>net.sourceforge.projects.fuse-emulator.MassStorage</string> - <string>net.sourceforge.projects.fuse-emulator.Cartridge</string> + <string>net.sourceforge.projects.fuse-emulator.csw</string> <string>net.sourceforge.projects.fuse-emulator.dck</string> - <string>net.sourceforge.projects.fuse-emulator.csw</string> + <string>net.sourceforge.projects.fuse-emulator.dsk</string> <string>net.sourceforge.projects.fuse-emulator.hdf</string> - <string>net.sourceforge.projects.fuse-emulator.dsk</string> + <string>net.sourceforge.projects.fuse-emulator.img</string> + <string>net.sourceforge.projects.fuse-emulator.ltp</string> + <string>net.sourceforge.projects.fuse-emulator.mdr</string> <string>net.sourceforge.projects.fuse-emulator.mgt</string> + <string>net.sourceforge.projects.fuse-emulator.mgtsnp</string> + <string>net.sourceforge.projects.fuse-emulator.opd</string> + <string>net.sourceforge.projects.fuse-emulator.opu</string> + <string>net.sourceforge.projects.fuse-emulator.raw</string> <string>net.sourceforge.projects.fuse-emulator.rzx</string> <string>net.sourceforge.projects.fuse-emulator.scl</string> <string>net.sourceforge.projects.fuse-emulator.scr</string> <string>net.sourceforge.projects.fuse-emulator.slt</string> <string>net.sourceforge.projects.fuse-emulator.sna</string> + <string>net.sourceforge.projects.fuse-emulator.snp</string> <string>net.sourceforge.projects.fuse-emulator.sp</string> + <string>net.sourceforge.projects.fuse-emulator.spc</string> + <string>net.sourceforge.projects.fuse-emulator.sta</string> <string>net.sourceforge.projects.fuse-emulator.szx</string> - <string>net.sourceforge.projects.fuse-emulator.snp</string> <string>net.sourceforge.projects.fuse-emulator.tap</string> <string>net.sourceforge.projects.fuse-emulator.trd</string> <string>net.sourceforge.projects.fuse-emulator.tzx</string> Modified: trunk/FuseImporter/Info.plist =================================================================== --- trunk/FuseImporter/Info.plist 2009-08-02 10:35:36 UTC (rev 610) +++ trunk/FuseImporter/Info.plist 2009-08-02 11:03:25 UTC (rev 611) @@ -13,10 +13,10 @@ <string>MDImporter</string> <key>LSItemContentTypes</key> <array> + <string>net.sourceforge.projects.fuse-emulator.Cartridge</string> + <string>net.sourceforge.projects.fuse-emulator.MassStorage</string> <string>net.sourceforge.projects.fuse-emulator.Snapshot</string> <string>net.sourceforge.projects.fuse-emulator.Tape</string> - <string>net.sourceforge.projects.fuse-emulator.MassStorage</string> - <string>net.sourceforge.projects.fuse-emulator.Cartridge</string> <string>net.sourceforge.projects.fuse-emulator.csw</string> <string>net.sourceforge.projects.fuse-emulator.dck</string> <string>net.sourceforge.projects.fuse-emulator.dsk</string> @@ -26,8 +26,10 @@ <string>net.sourceforge.projects.fuse-emulator.mdr</string> <string>net.sourceforge.projects.fuse-emulator.mgt</string> <string>net.sourceforge.projects.fuse-emulator.mgtsnp</string> + <string>net.sourceforge.projects.fuse-emulator.opd</string> + <string>net.sourceforge.projects.fuse-emulator.opu</string> + <string>net.sourceforge.projects.fuse-emulator.raw</string> <string>net.sourceforge.projects.fuse-emulator.rzx</string> - <string>net.sourceforge.projects.fuse-emulator.raw</string> <string>net.sourceforge.projects.fuse-emulator.scl</string> <string>net.sourceforge.projects.fuse-emulator.scr</string> <string>net.sourceforge.projects.fuse-emulator.slt</string> @@ -561,38 +563,57 @@ <dict> <key>UTTypeConformsTo</key> <array> + <string>net.sourceforge.projects.fuse-emulator.Tape</string> + </array> + <key>UTTypeDescription</key> + <string>ZX Spectrum RAW Tape Image</string> + <key>UTTypeIdentifier</key> + <string>net.sourceforge.projects.fuse-emulator.raw</string> + <key>UTTypeTagSpecification</key> + <dict> + <key>public.filename-extension</key> + <array> + <string>raw</string> + </array> + </dict> + </dict> + <dict> + <key>UTTypeConformsTo</key> + <array> <string>net.sourceforge.projects.fuse-emulator.MassStorage</string> </array> <key>UTTypeDescription</key> - <string>ZX Spectrum DISCiPLE/+D Disk Image</string> + <string>ZX Spectrum Opus Discovery Disk Image</string> <key>UTTypeIdentifier</key> - <string>net.sourceforge.projects.fuse-emulator.img</string> + <string>net.sourceforge.projects.fuse-emulator.opd</string> <key>UTTypeReferenceURL</key> <string>http://www.worldofspectrum.org/faq/reference/formats.htm</string> <key>UTTypeTagSpecification</key> <dict> <key>public.filename-extension</key> <array> - <string>img</string> + <string>opd</string> </array> </dict> </dict> <dict> - <key>CFBundleTypeExtensions</key> + <key>UTTypeConformsTo</key> <array> - <string>raw</string> - <string>RAW</string> + <string>net.sourceforge.projects.fuse-emulator.MassStorage</string> </array> - <key>CFBundleTypeIconFile</key> - <string>raw</string> - <key>CFBundleTypeName</key> - <string>ZX Spectrum Tape Image</string> - <key>CFBundleTypeRole</key> - <string>Viewer</string> - <key>LSItemContentTypes</key> - <array> - <string>net.sourceforge.projects.fuse-emulator.raw</string> - </array> + <key>UTTypeDescription</key> + <string>ZX Spectrum Opus Discovery Disk Image</string> + <key>UTTypeIdentifier</key> + <string>net.sourceforge.projects.fuse-emulator.opu</string> + <key>UTTypeReferenceURL</key> + <string>http://www.worldofspectrum.org/faq/reference/formats.htm</string> + <key>UTTypeTagSpecification</key> + <dict> + <key>public.filename-extension</key> + <array> + <string>opu</string> + </array> + </dict> </dict> </array> </dict> Modified: trunk/fuse/fusepb/Info-Fuse.plist =================================================================== --- trunk/fuse/fusepb/Info-Fuse.plist 2009-08-02 10:35:36 UTC (rev 610) +++ trunk/fuse/fusepb/Info-Fuse.plist 2009-08-02 11:03:25 UTC (rev 611) @@ -456,6 +456,40 @@ <string>net.sourceforge.projects.fuse-emulator.mgt</string> </array> </dict> + <dict> + <key>CFBundleTypeExtensions</key> + <array> + <string>opd</string> + <string>OPD</string> + </array> + <key>CFBundleTypeIconFile</key> + <string>blank</string> + <key>CFBundleTypeName</key> + <string>ZX Spectrum Disk Image</string> + <key>CFBundleTypeRole</key> + <string>Viewer</string> + <key>LSItemContentTypes</key> + <array> + <string>net.sourceforge.projects.fuse-emulator.opd</string> + </array> + </dict> + <dict> + <key>CFBundleTypeExtensions</key> + <array> + <string>opu</string> + <string>OPU</string> + </array> + <key>CFBundleTypeIconFile</key> + <string>blank</string> + <key>CFBundleTypeName</key> + <string>ZX Spectrum Disk Image</string> + <key>CFBundleTypeRole</key> + <string>Viewer</string> + <key>LSItemContentTypes</key> + <array> + <string>net.sourceforge.projects.fuse-emulator.opu</string> + </array> + </dict> </array> <key>CFBundleExecutable</key> <string>Fuse</string> @@ -883,6 +917,61 @@ </array> </dict> </dict> + <dict> + <key>UTTypeConformsTo</key> + <array> + <string>net.sourceforge.projects.fuse-emulator.Tape</string> + </array> + <key>UTTypeDescription</key> + <string>ZX Spectrum RAW Tape Image</string> + <key>UTTypeIdentifier</key> + <string>net.sourceforge.projects.fuse-emulator.raw</string> + <key>UTTypeTagSpecification</key> + <dict> + <key>public.filename-extension</key> + <array> + <string>raw</string> + </array> + </dict> + </dict> + <dict> + <key>UTTypeConformsTo</key> + <array> + <string>net.sourceforge.projects.fuse-emulator.MassStorage</string> + </array> + <key>UTTypeDescription</key> + <string>ZX Spectrum Opus Discovery Disk Image</string> + <key>UTTypeIdentifier</key> + <string>net.sourceforge.projects.fuse-emulator.opd</string> + <key>UTTypeReferenceURL</key> + <string>http://www.worldofspectrum.org/faq/reference/formats.htm</string> + <key>UTTypeTagSpecification</key> + <dict> + <key>public.filename-extension</key> + <array> + <string>opd</string> + </array> + </dict> + </dict> + <dict> + <key>UTTypeConformsTo</key> + <array> + <string>net.sourceforge.projects.fuse-emulator.MassStorage</string> + </array> + <key>UTTypeDescription</key> + <string>ZX Spectrum Opus Discovery Disk Image</string> + <key>UTTypeIdentifier</key> + <string>net.sourceforge.projects.fuse-emulator.opu</string> + <key>UTTypeReferenceURL</key> + <string>http://www.worldofspectrum.org/faq/reference/formats.htm</string> + <key>UTTypeTagSpecification</key> + <dict> + <key>public.filename-extension</key> + <array> + <string>opu</string> + </array> + </dict> + </dict> </array> </dict> </plist> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2009-08-02 10:35:46
|
Revision: 610 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=610&view=rev Author: fredm Date: 2009-08-02 10:35:36 +0000 (Sun, 02 Aug 2009) Log Message: ----------- Merge up to vendor revision 4041. Revision Links: -------------- http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=4041&view=rev Modified Paths: -------------- trunk/FuseGenerator/libspectrum.h trunk/FuseImporter/libspectrum.h trunk/fuse/AUTHORS trunk/fuse/ChangeLog trunk/fuse/README trunk/fuse/disk/Makefile.am trunk/fuse/disk/beta.c trunk/fuse/disk/disk.c trunk/fuse/disk/fdd.c trunk/fuse/disk/plusd.c trunk/fuse/disk/wd_fdc.c trunk/fuse/disk/wd_fdc.h trunk/fuse/fuse.c trunk/fuse/fusepb/Credits.html trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj trunk/fuse/fusepb/controllers/FuseController.h trunk/fuse/fusepb/controllers/FuseController.m trunk/fuse/fusepb/controllers/PreferencesController.m trunk/fuse/fusepb/models/Emulator.h trunk/fuse/fusepb/models/Emulator.m trunk/fuse/fusepb/nibs/Preferences.nib/designable.nib trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html trunk/fuse/fusepb/resources/Fuse Help/html/formats.html trunk/fuse/fusepb/resources/Fuse Help/html/menus.html trunk/fuse/fusepb/resources/Fuse Help/html/preferences.html trunk/fuse/fusepb/resources/Fuse Help/html/tocstart.html trunk/fuse/fusepb/views/DisplayOpenGLView.h trunk/fuse/fusepb/views/DisplayOpenGLView.m trunk/fuse/hacking/ChangeLog trunk/fuse/ide/divide.c trunk/fuse/ide/divide.h trunk/fuse/ide/ide.c trunk/fuse/ide/ide.h trunk/fuse/ide/simpleide.c trunk/fuse/ide/simpleide.h trunk/fuse/ide/zxatasp.c trunk/fuse/ide/zxatasp.h trunk/fuse/ide/zxcf.c trunk/fuse/ide/zxcf.h trunk/fuse/machines/pentagon1024.c trunk/fuse/machines/spec128.c trunk/fuse/machines/spec16.c trunk/fuse/machines/spec48.c trunk/fuse/machines/spec_se.c trunk/fuse/machines/specplus2.c trunk/fuse/machines/tc2048.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/roms/Makefile.am trunk/fuse/settings.dat trunk/fuse/tape.c trunk/fuse/ui/cocoa/cocoaui.m trunk/fuse/ui/options.dat trunk/fuse/ui/ui.h trunk/fuse/ui.c trunk/fuse/utils.c trunk/fuse/z80/coretest.c trunk/fuse/z80/z80_checks.h trunk/fuse/z80/z80_ops.c trunk/libspectrum/libspectrum/accessor.pl trunk/libspectrum/libspectrum/doc/libspectrum.txt trunk/libspectrum/libspectrum/hacking/ChangeLog trunk/libspectrum/libspectrum/libspectrum.c trunk/libspectrum/libspectrum/libspectrum.h.in trunk/libspectrum/libspectrum/sna.c trunk/libspectrum/libspectrum/snap_accessors.txt trunk/libspectrum/libspectrum/snapshot.c trunk/libspectrum/libspectrum/szx.c trunk/libspectrum/libspectrum/z80.c trunk/libspectrum/libspectrum.h Added Paths: ----------- trunk/fuse/disk/opus.c trunk/fuse/disk/opus.h trunk/fuse/fusepb/resources/Fuse Help/html/opus.html trunk/fuse/roms/opus.rom Property Changed: ---------------- trunk/fuse/ trunk/libspectrum/libspectrum/ Modified: trunk/FuseGenerator/libspectrum.h =================================================================== --- trunk/FuseGenerator/libspectrum.h 2009-08-01 14:03:19 UTC (rev 609) +++ trunk/FuseGenerator/libspectrum.h 2009-08-02 10:35:36 UTC (rev 610) @@ -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 4039 2009-06-27 06:04:44Z fredm $ + $Id: libspectrum.h.in 4060 2009-07-30 13:21:38Z fredm $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -343,6 +343,8 @@ LIBSPECTRUM_ID_DISK_SAD, /* .sad generic disk image */ LIBSPECTRUM_ID_DISK_TD0, /* .td0 generic disk image */ + LIBSPECTRUM_ID_DISK_OPD, /* .opu/.opd Opus Discovery disk image */ + LIBSPECTRUM_ID_SCREEN_SCR, /* .scr screen file */ } libspectrum_id_t; @@ -355,6 +357,7 @@ LIBSPECTRUM_CLASS_CARTRIDGE_TIMEX, /* Timex cartridges */ LIBSPECTRUM_CLASS_DISK_PLUS3, /* +3 disk */ LIBSPECTRUM_CLASS_DISK_TRDOS, /* TR-DOS disk */ + LIBSPECTRUM_CLASS_DISK_OPUS, /* Opus Discovery disk*/ LIBSPECTRUM_CLASS_RECORDING, /* Input recording */ LIBSPECTRUM_CLASS_SNAPSHOT, /* Snapshot */ LIBSPECTRUM_CLASS_TAPE, /* Tape */ @@ -679,6 +682,8 @@ void WIN32_DLL libspectrum_snap_set_beta_active( libspectrum_snap *snap, int beta_active ); int WIN32_DLL libspectrum_snap_beta_paged( libspectrum_snap *snap ); void WIN32_DLL libspectrum_snap_set_beta_paged( libspectrum_snap *snap, int beta_paged ); +int WIN32_DLL libspectrum_snap_beta_drive_count( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_beta_drive_count( libspectrum_snap *snap, int beta_drive_count ); int WIN32_DLL libspectrum_snap_beta_custom_rom( libspectrum_snap *snap ); void WIN32_DLL libspectrum_snap_set_beta_custom_rom( libspectrum_snap *snap, int beta_custom_rom ); int WIN32_DLL libspectrum_snap_beta_direction( libspectrum_snap *snap ); @@ -699,6 +704,8 @@ void WIN32_DLL libspectrum_snap_set_plusd_active( libspectrum_snap *snap, int plusd_active ); int WIN32_DLL libspectrum_snap_plusd_paged( libspectrum_snap *snap ); void WIN32_DLL libspectrum_snap_set_plusd_paged( libspectrum_snap *snap, int plusd_paged ); +int WIN32_DLL libspectrum_snap_plusd_drive_count( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_plusd_drive_count( libspectrum_snap *snap, int plusd_drive_count ); int WIN32_DLL libspectrum_snap_plusd_custom_rom( libspectrum_snap *snap ); void WIN32_DLL libspectrum_snap_set_plusd_custom_rom( libspectrum_snap *snap, int plusd_custom_rom ); int WIN32_DLL libspectrum_snap_plusd_direction( libspectrum_snap *snap ); @@ -717,6 +724,40 @@ void WIN32_DLL libspectrum_snap_set_plusd_rom( libspectrum_snap *snap, int idx, libspectrum_byte* plusd_rom ); libspectrum_byte WIN32_DLL * libspectrum_snap_plusd_ram( libspectrum_snap *snap, int idx ); void WIN32_DLL libspectrum_snap_set_plusd_ram( libspectrum_snap *snap, int idx, libspectrum_byte* plusd_ram ); +int WIN32_DLL libspectrum_snap_opus_active( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_opus_active( libspectrum_snap *snap, int opus_active ); +int WIN32_DLL libspectrum_snap_opus_paged( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_opus_paged( libspectrum_snap *snap, int opus_paged ); +int WIN32_DLL libspectrum_snap_opus_drive_count( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_opus_drive_count( libspectrum_snap *snap, int opus_drive_count ); +int WIN32_DLL libspectrum_snap_opus_custom_rom( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_opus_custom_rom( libspectrum_snap *snap, int opus_custom_rom ); +int WIN32_DLL libspectrum_snap_opus_direction( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_opus_direction( libspectrum_snap *snap, int opus_direction ); +libspectrum_byte WIN32_DLL libspectrum_snap_opus_track( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_opus_track( libspectrum_snap *snap, libspectrum_byte opus_track ); +libspectrum_byte WIN32_DLL libspectrum_snap_opus_sector( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_opus_sector( libspectrum_snap *snap, libspectrum_byte opus_sector ); +libspectrum_byte WIN32_DLL libspectrum_snap_opus_data( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_opus_data( libspectrum_snap *snap, libspectrum_byte opus_data ); +libspectrum_byte WIN32_DLL libspectrum_snap_opus_status( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_opus_status( libspectrum_snap *snap, libspectrum_byte opus_status ); +libspectrum_byte WIN32_DLL libspectrum_snap_opus_data_reg_a( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_opus_data_reg_a( libspectrum_snap *snap, libspectrum_byte opus_data_reg_a ); +libspectrum_byte WIN32_DLL libspectrum_snap_opus_data_dir_a( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_opus_data_dir_a( libspectrum_snap *snap, libspectrum_byte opus_data_dir_a ); +libspectrum_byte WIN32_DLL libspectrum_snap_opus_control_a( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_opus_control_a( libspectrum_snap *snap, libspectrum_byte opus_control_a ); +libspectrum_byte WIN32_DLL libspectrum_snap_opus_data_reg_b( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_opus_data_reg_b( libspectrum_snap *snap, libspectrum_byte opus_data_reg_b ); +libspectrum_byte WIN32_DLL libspectrum_snap_opus_data_dir_b( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_opus_data_dir_b( libspectrum_snap *snap, libspectrum_byte opus_data_dir_b ); +libspectrum_byte WIN32_DLL libspectrum_snap_opus_control_b( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_opus_control_b( libspectrum_snap *snap, libspectrum_byte opus_control_b ); +libspectrum_byte WIN32_DLL * libspectrum_snap_opus_rom( libspectrum_snap *snap, int idx ); +void WIN32_DLL libspectrum_snap_set_opus_rom( libspectrum_snap *snap, int idx, libspectrum_byte* opus_rom ); +libspectrum_byte WIN32_DLL * libspectrum_snap_opus_ram( libspectrum_snap *snap, int idx ); +void WIN32_DLL libspectrum_snap_set_opus_ram( libspectrum_snap *snap, int idx, libspectrum_byte* opus_ram ); int WIN32_DLL libspectrum_snap_custom_rom( libspectrum_snap *snap ); void WIN32_DLL libspectrum_snap_set_custom_rom( libspectrum_snap *snap, int custom_rom ); size_t WIN32_DLL libspectrum_snap_custom_rom_pages( libspectrum_snap *snap ); Modified: trunk/FuseImporter/libspectrum.h =================================================================== --- trunk/FuseImporter/libspectrum.h 2009-08-01 14:03:19 UTC (rev 609) +++ trunk/FuseImporter/libspectrum.h 2009-08-02 10:35:36 UTC (rev 610) @@ -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 4039 2009-06-27 06:04:44Z fredm $ + $Id: libspectrum.h.in 4060 2009-07-30 13:21:38Z fredm $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -343,6 +343,8 @@ LIBSPECTRUM_ID_DISK_SAD, /* .sad generic disk image */ LIBSPECTRUM_ID_DISK_TD0, /* .td0 generic disk image */ + LIBSPECTRUM_ID_DISK_OPD, /* .opu/.opd Opus Discovery disk image */ + LIBSPECTRUM_ID_SCREEN_SCR, /* .scr screen file */ } libspectrum_id_t; @@ -355,6 +357,7 @@ LIBSPECTRUM_CLASS_CARTRIDGE_TIMEX, /* Timex cartridges */ LIBSPECTRUM_CLASS_DISK_PLUS3, /* +3 disk */ LIBSPECTRUM_CLASS_DISK_TRDOS, /* TR-DOS disk */ + LIBSPECTRUM_CLASS_DISK_OPUS, /* Opus Discovery disk*/ LIBSPECTRUM_CLASS_RECORDING, /* Input recording */ LIBSPECTRUM_CLASS_SNAPSHOT, /* Snapshot */ LIBSPECTRUM_CLASS_TAPE, /* Tape */ @@ -679,6 +682,8 @@ void WIN32_DLL libspectrum_snap_set_beta_active( libspectrum_snap *snap, int beta_active ); int WIN32_DLL libspectrum_snap_beta_paged( libspectrum_snap *snap ); void WIN32_DLL libspectrum_snap_set_beta_paged( libspectrum_snap *snap, int beta_paged ); +int WIN32_DLL libspectrum_snap_beta_drive_count( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_beta_drive_count( libspectrum_snap *snap, int beta_drive_count ); int WIN32_DLL libspectrum_snap_beta_custom_rom( libspectrum_snap *snap ); void WIN32_DLL libspectrum_snap_set_beta_custom_rom( libspectrum_snap *snap, int beta_custom_rom ); int WIN32_DLL libspectrum_snap_beta_direction( libspectrum_snap *snap ); @@ -699,6 +704,8 @@ void WIN32_DLL libspectrum_snap_set_plusd_active( libspectrum_snap *snap, int plusd_active ); int WIN32_DLL libspectrum_snap_plusd_paged( libspectrum_snap *snap ); void WIN32_DLL libspectrum_snap_set_plusd_paged( libspectrum_snap *snap, int plusd_paged ); +int WIN32_DLL libspectrum_snap_plusd_drive_count( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_plusd_drive_count( libspectrum_snap *snap, int plusd_drive_count ); int WIN32_DLL libspectrum_snap_plusd_custom_rom( libspectrum_snap *snap ); void WIN32_DLL libspectrum_snap_set_plusd_custom_rom( libspectrum_snap *snap, int plusd_custom_rom ); int WIN32_DLL libspectrum_snap_plusd_direction( libspectrum_snap *snap ); @@ -717,6 +724,40 @@ void WIN32_DLL libspectrum_snap_set_plusd_rom( libspectrum_snap *snap, int idx, libspectrum_byte* plusd_rom ); libspectrum_byte WIN32_DLL * libspectrum_snap_plusd_ram( libspectrum_snap *snap, int idx ); void WIN32_DLL libspectrum_snap_set_plusd_ram( libspectrum_snap *snap, int idx, libspectrum_byte* plusd_ram ); +int WIN32_DLL libspectrum_snap_opus_active( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_opus_active( libspectrum_snap *snap, int opus_active ); +int WIN32_DLL libspectrum_snap_opus_paged( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_opus_paged( libspectrum_snap *snap, int opus_paged ); +int WIN32_DLL libspectrum_snap_opus_drive_count( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_opus_drive_count( libspectrum_snap *snap, int opus_drive_count ); +int WIN32_DLL libspectrum_snap_opus_custom_rom( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_opus_custom_rom( libspectrum_snap *snap, int opus_custom_rom ); +int WIN32_DLL libspectrum_snap_opus_direction( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_opus_direction( libspectrum_snap *snap, int opus_direction ); +libspectrum_byte WIN32_DLL libspectrum_snap_opus_track( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_opus_track( libspectrum_snap *snap, libspectrum_byte opus_track ); +libspectrum_byte WIN32_DLL libspectrum_snap_opus_sector( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_opus_sector( libspectrum_snap *snap, libspectrum_byte opus_sector ); +libspectrum_byte WIN32_DLL libspectrum_snap_opus_data( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_opus_data( libspectrum_snap *snap, libspectrum_byte opus_data ); +libspectrum_byte WIN32_DLL libspectrum_snap_opus_status( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_opus_status( libspectrum_snap *snap, libspectrum_byte opus_status ); +libspectrum_byte WIN32_DLL libspectrum_snap_opus_data_reg_a( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_opus_data_reg_a( libspectrum_snap *snap, libspectrum_byte opus_data_reg_a ); +libspectrum_byte WIN32_DLL libspectrum_snap_opus_data_dir_a( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_opus_data_dir_a( libspectrum_snap *snap, libspectrum_byte opus_data_dir_a ); +libspectrum_byte WIN32_DLL libspectrum_snap_opus_control_a( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_opus_control_a( libspectrum_snap *snap, libspectrum_byte opus_control_a ); +libspectrum_byte WIN32_DLL libspectrum_snap_opus_data_reg_b( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_opus_data_reg_b( libspectrum_snap *snap, libspectrum_byte opus_data_reg_b ); +libspectrum_byte WIN32_DLL libspectrum_snap_opus_data_dir_b( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_opus_data_dir_b( libspectrum_snap *snap, libspectrum_byte opus_data_dir_b ); +libspectrum_byte WIN32_DLL libspectrum_snap_opus_control_b( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_opus_control_b( libspectrum_snap *snap, libspectrum_byte opus_control_b ); +libspectrum_byte WIN32_DLL * libspectrum_snap_opus_rom( libspectrum_snap *snap, int idx ); +void WIN32_DLL libspectrum_snap_set_opus_rom( libspectrum_snap *snap, int idx, libspectrum_byte* opus_rom ); +libspectrum_byte WIN32_DLL * libspectrum_snap_opus_ram( libspectrum_snap *snap, int idx ); +void WIN32_DLL libspectrum_snap_set_opus_ram( libspectrum_snap *snap, int idx, libspectrum_byte* opus_ram ); int WIN32_DLL libspectrum_snap_custom_rom( libspectrum_snap *snap ); void WIN32_DLL libspectrum_snap_set_custom_rom( libspectrum_snap *snap, int custom_rom ); size_t WIN32_DLL libspectrum_snap_custom_rom_pages( libspectrum_snap *snap ); Property changes on: trunk/fuse ___________________________________________________________________ Modified: svn:mergeinfo - /vendor/fuse-emulator/0.10.0/fuse:556-557 /vendor/fuse-emulator/0.10.0-pre1/fuse:545-546 /vendor/fuse-emulator/current/fuse:530-600 + /vendor/fuse-emulator/0.10.0/fuse:556-557 /vendor/fuse-emulator/0.10.0-pre1/fuse:545-546 /vendor/fuse-emulator/current/fuse:530-609 Modified: trunk/fuse/AUTHORS =================================================================== --- trunk/fuse/AUTHORS 2009-08-01 14:03:19 UTC (rev 609) +++ trunk/fuse/AUTHORS 2009-08-02 10:35:36 UTC (rev 610) @@ -9,8 +9,8 @@ * Ian Collier: the original ZX Printer emulation (for xz80). -* John Elliott: for lib765, which provides Fuse's emulation of the +3's - FDC, and libdsk which provides support for more disk image formats: +* John Elliott: for lib765, which provided Fuse's original emulation of the + +3's FDC, and libdsk which provided support for more disk image formats: see http://www.seasip.demon.co.uk/Unix/LibDsk/ * Darren Salt: the original versions of the code for +3 emulation, @@ -34,15 +34,20 @@ * Marek Januszewski: Some patches making Fuse much closer to compiling under Win32, and fixing up the GTK+ 2.0 interface. -* Stuart Brady: for the Scorpion emulation and HP-UX sound support. +* Stuart Brady: for the Scorpion, +D interface emulation and HP-UX sound + support. * Garry Lancaster: the simple 8-bit IDE, ZXATASP and ZXCF support. -* Gergely Szasz: Interface I/microdrive emulation, the 'movie' code and the - ao sound driver. +* Gergely Szasz: +3, +D, Opus and Interface I/microdrive emulation, the 'movie' + code and the ao sound driver. * Bjoern Giesler: the original Wii port. +* Shay Green: the Blip_Buffer band pass filter for beeper and AY output. + +* Michael D Wynne: the Opus Discovery emulation (for EightyOne). + * Philip Kendall: everything else. -$Id: AUTHORS 3944 2009-01-10 18:17:04Z pak21 $ +$Id: AUTHORS 4060 2009-07-30 13:21:38Z fredm $ Modified: trunk/fuse/ChangeLog =================================================================== --- trunk/fuse/ChangeLog 2009-08-01 14:03:19 UTC (rev 609) +++ trunk/fuse/ChangeLog 2009-08-02 10:35:36 UTC (rev 610) @@ -1,3 +1,43 @@ +2009-xx-xx Philip Kendall <phi...@sh...> + + * Fuse ?.??.? released + + FIXME: Just a start, mostly changes visible on Fuse for OS X at the + moment + * Add Opus Discovery disk interface support (Gergely Szasz and Fredrick + Meunier). + * Wii support. + * Many improvements to Win32 UI (Marek Januszewski). + * Add support for flipping disk images in single sided drives (Gergely + Szasz). + * Add support for automatically merging both both disk images where + they are in separate files named with the text [Ss]ide[ _][abAB12] + (Gergely Szasz). + * Switch to using Blip_Buffer (by Shay Green) for improved beeper and + AY output (Fredrick Meunier). + * Allow beeper and AY volumes to be set (Fredrick Meunier). + * Enable Beta 128 interface in 48K and TC2048 machines (thanks, + Omikron) (Fredrick Meunier). + * Add emulation of the Fuller Audio Box (Stuart Brady and Fredrick + Meunier). + * Allow sound to run from 2% speed up (Fredrick Meunier). + * Add emulation of the Melodik and similar 48K-compatible AY interfaces + that use the 128K sound ports (Fredrick Meunier). + * Add support for Pentagon 1024SL v2.2 16 colour mode (Fredrick + Meunier). + + * Miscellaneous improvements: + * Preformat new disks on +3 to allow the format command on +3 to work + (Gergely Szasz). + * Support non-standard TRD images with 41-83 tracks per side (Gergely + Szasz). + * Allow user to swap Kempston mouse buttons as some combinations of + physical hardware and Spectrum software make it hard to use the + standard mapping e.g. right clicking and moving the cursor on Mac + notebooks (thanks, Andrew Owen) (Fredrick Meunier). + * Fixes for speed estimation (Gergely Szasz). + * Fix border colour in Timex HiRes screenshots (Fredrick Meunier). + 2008-12-10 Philip Kendall <phi...@sh...> * Fuse 0.10.0.1 released @@ -941,4 +981,4 @@ * Version 0.1.0 released. -$Id: ChangeLog 3900 2008-12-10 19:31:31Z pak21 $ +$Id: ChangeLog 4060 2009-07-30 13:21:38Z fredm $ Modified: trunk/fuse/README =================================================================== --- trunk/fuse/README 2009-08-01 14:03:19 UTC (rev 609) +++ trunk/fuse/README 2009-08-02 10:35:36 UTC (rev 610) @@ -25,7 +25,7 @@ * Support for the RZX input recording file format, including rollback and 'competition mode'. * Emulation of the DivIDE, Interface I, Kempston mouse, Spectrum +3e, - ZXATASP, ZXCF, Beta 128 and +D interfaces. + ZXATASP, ZXCF, Beta 128, Opus Discovery and +D interfaces. Help! <xyz> doesn't work ------------------------ @@ -180,4 +180,4 @@ Philip Kendall <phi...@sh...> 10 December 2008 -$Id: README 4021 2009-05-29 13:39:51Z fredm $ +$Id: README 4060 2009-07-30 13:21:38Z fredm $ Modified: trunk/fuse/disk/Makefile.am =================================================================== --- trunk/fuse/disk/Makefile.am 2009-08-01 14:03:19 UTC (rev 609) +++ trunk/fuse/disk/Makefile.am 2009-08-02 10:35:36 UTC (rev 610) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2007 Stuart Brady -## $Id: Makefile.am 3584 2008-03-25 10:27:30Z fredm $ +## $Id: Makefile.am 4060 2009-07-30 13:21:38Z fredm $ ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -33,6 +33,7 @@ crc.c \ disk.c \ fdd.c \ + opus.c \ plusd.c \ upd_fdc.c \ wd_fdc.c @@ -41,6 +42,7 @@ crc.h \ disk.h \ fdd.h \ + opus.h \ plusd.h \ upd_fdc.h \ wd_fdc.h Modified: trunk/fuse/disk/beta.c =================================================================== --- trunk/fuse/disk/beta.c 2009-08-01 14:03:19 UTC (rev 609) +++ trunk/fuse/disk/beta.c 2009-08-02 10:35:36 UTC (rev 610) @@ -1,7 +1,7 @@ /* beta.c: Routines for handling the Beta disk interface Copyright (c) 2004-2008 Stuart Brady - $Id: beta.c 4029 2009-06-05 13:50:55Z fredm $ + $Id: beta.c 4060 2009-07-30 13:21:38Z fredm $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -708,6 +708,11 @@ 1 ) ) return; + /* ignore drive count for now, there will be an issue with loading snaps where + drives have been disabled + libspectrum_snap_beta_drive_count( snap ) + */ + beta_fdc->direction = libspectrum_snap_beta_direction( snap ); beta_cr_write ( 0x001f, 0 ); @@ -723,6 +728,7 @@ int attached; wd_fdc *f = beta_fdc; libspectrum_byte *buffer; + int drive_count = 0; if( !periph_beta128_active ) return; @@ -745,6 +751,12 @@ libspectrum_snap_set_beta_custom_rom( snap, 1 ); } + drive_count++; /* Drive A is not removable */ + if( option_enumerate_diskoptions_drive_beta128b_type() > 0 ) drive_count++; + if( option_enumerate_diskoptions_drive_beta128c_type() > 0 ) drive_count++; + if( option_enumerate_diskoptions_drive_beta128d_type() > 0 ) drive_count++; + libspectrum_snap_set_beta_drive_count( snap, drive_count ); + libspectrum_snap_set_beta_paged ( snap, beta_active ); libspectrum_snap_set_beta_direction( snap, beta_fdc->direction ); libspectrum_snap_set_beta_status( snap, beta_sr_read( 0x001f, &attached ) ); Modified: trunk/fuse/disk/disk.c =================================================================== --- trunk/fuse/disk/disk.c 2009-08-01 14:03:19 UTC (rev 609) +++ trunk/fuse/disk/disk.c 2009-08-02 10:35:36 UTC (rev 610) @@ -1,7 +1,7 @@ /* disk.c: Routines for handling disk images Copyright (c) 2007 Gergely Szasz - $Id: disk.c 4037 2009-06-13 13:28:42Z fredm $ + $Id: disk.c 4061 2009-07-30 23:37:29Z fredm $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -252,6 +252,7 @@ #define DISK_MFM_VARI 16 #define DISK_DDAM 32 #define DISK_CORRUPT_SECTOR 64 +#define DISK_UNFORMATTED_TRACK 128 static int guess_track_geom( disk_t *d, int head, int track, int *sector_base, @@ -295,7 +296,7 @@ static int check_disk_geom( disk_t *d, int *sector_base, int *sectors, - int *seclen, int *mfm ) + int *seclen, int *mfm, int *unf ) { int h, t, s, slen, sbase, m; int r = 0; @@ -306,6 +307,7 @@ *sectors = -1; *seclen = -1; *mfm = -1; + *unf = -1; for( t = 0; t < d->cylinders; t++ ) { for( h = 0; h < d->sides; h++ ) { r |= guess_track_geom( d, h, t, &sbase, &s, &slen, &m ); @@ -317,6 +319,12 @@ *seclen = slen; if( *mfm == -1 ) *mfm = m; + if( sbase == -1 ) { /* unformatted */ + if( *unf == -1 && h > 0 ) *unf = -2; + if( *unf == -1 ) *unf = t; + continue; + } + if( *unf > -1 ) *unf = -2; if( sbase != *sector_base ) { r |= DISK_SBASE_VARI; if( sbase < *sector_base ) @@ -338,6 +346,11 @@ } } } + if( *unf == -2 ) { + r |= DISK_UNFORMATTED_TRACK; + *unf = -1; + } + return r; } @@ -569,6 +582,7 @@ #define NO_INTERLEAVE 1 #define INTERLEAVE_2 2 +#define INTERLEAVE_OPUS 13 #define NO_PREINDEX 0 #define PREINDEX 1 @@ -593,15 +607,18 @@ idx = d->i; pos = i = 0; for( s = sector_base; s < sector_base + sectors; s++ ) { - d->i = idx + ( pos + i ) * slen; + d->i = idx + pos * slen; if( id_add( d, head, track, s, sector_length >> 8, gap, CRC_OK ) ) return 1; if( data_add( d, buffer, NULL, sector_length, NO_DDAM, gap, CRC_OK, autofill ) ) return 1; pos += interleave; - if( pos >= sectors ) { - pos = 0; - i++; + if( pos >= sectors ) { /* wrap around */ + pos -= sectors; + if( pos <= i ) { /* we fill this pos already */ + pos++; /* skip one more pos */ + i++; + } } } d->i = idx + sectors * slen; @@ -783,14 +800,16 @@ } static int -open_mgt_img( buffer_t *buffer, disk_t *d ) +open_img_mgt_opd( buffer_t *buffer, disk_t *d ) { int i, j, sectors, seclen; buffer->index = 0; /* guess geometry of disk: - * 2*80*10*512, 1*80*10*512 or 1*40*10*512 */ + * 2*80*10*512, 1*80*10*512, 1*40*10*512, 1*40*18*256, 1*80*18*256, + * 2*80*18*256 + */ if( buffer->file.length == 2*80*10*512 ) { d->sides = 2; d->cylinders = 80; sectors = 10; seclen = 512; } else if( buffer->file.length == 1*80*10*512 ) { @@ -799,6 +818,14 @@ d->sides = 1; d->cylinders = 80; sectors = 10; seclen = 512; } else if( buffer->file.length == 1*40*10*512 ) { d->sides = 1; d->cylinders = 40; sectors = 10; seclen = 512; + } else if( buffer->file.length == 1*40*18*256 ) { + d->sides = 1; d->cylinders = 40; sectors = 18; seclen = 256; + } else if( buffer->file.length == 1*80*18*256 ) { + /* we cannot distinguish between a single sided 80 track image + * and a double sided 40 track image (2*40*18*256) */ + d->sides = 1; d->cylinders = 80; sectors = 18; seclen = 256; + } else if( buffer->file.length == 2*80*18*256 ) { + d->sides = 2; d->cylinders = 80; sectors = 18; seclen = 256; } else { return d->status = DISK_GEOM; } @@ -816,11 +843,14 @@ return d->status = DISK_GEOM; } } - } else { /* MGT alt */ - for( i = 0; i < d->sides * d->cylinders; i++ ) { - if( trackgen( d, buffer, i % 2, i / 2, 1, sectors, seclen, - NO_PREINDEX, GAP_MGT_PLUSD, NO_INTERLEAVE, NO_AUTOFILL ) ) - return d->status = DISK_GEOM; + } else { /* MGT / OPD alt */ + for( i = 0; i < d->cylinders; i++ ) { + for( j = 0; j < d->sides; j++ ) { + if( trackgen( d, buffer, j, i, d->type == DISK_MGT ? 1 : 0, sectors, seclen, + NO_PREINDEX, GAP_MGT_PLUSD, + d->type == DISK_MGT ? NO_INTERLEAVE : INTERLEAVE_OPUS, NO_AUTOFILL ) ) + return d->status = DISK_GEOM; + } } } @@ -1072,7 +1102,7 @@ plus3_fix = CPC_ISSUE_NONE; } trlen += seclen; - if( seclen == 0x80 ) /* every 128byte length sector padded */ + if( seclen % 0x100 ) /* every? 128/384/...byte length sector padded */ sector_pad++; } if( i < 84 ) { @@ -1106,6 +1136,7 @@ preindex_add( d, gap ); postindex_add( d, gap ); + sector_pad = 0; for( j = 0; j < hdrb[0x15]; j++ ) { /* each sector */ seclen = d->type == DISK_ECPC ? hdrb[ 0x1e + 8 * j ] + /* data length in sector */ 256 * hdrb[ 0x1f + 8 * j ] @@ -1169,10 +1200,11 @@ /* ( ( N * len ) / len - 1 ) * len */ } } - if( seclen == 0x80 ) /* every 128byte length sector padded */ - buffer->index += 0x80; + if( seclen % 0x100 ) /* every? 128/384/...byte length sector padded */ + sector_pad++; } gap4_add( d, gap ); + buffer->index += sector_pad * 0x80; } return d->status = DISK_OK; } @@ -1504,11 +1536,13 @@ d->type = DISK_UDI; open_udi( &buffer, d ); break; + case LIBSPECTRUM_ID_DISK_OPD: + d->type = DISK_OPD; case LIBSPECTRUM_ID_DISK_MGT: - d->type = DISK_MGT; + if( d->type == DISK_TYPE_NONE) d->type = DISK_MGT; case LIBSPECTRUM_ID_DISK_IMG: if( d->type == DISK_TYPE_NONE) d->type = DISK_IMG; - open_mgt_img( &buffer, d ); + open_img_mgt_opd( &buffer, d ); break; case LIBSPECTRUM_ID_DISK_SAD: d->type = DISK_SAD; @@ -1733,25 +1767,31 @@ } static int -write_img_mgt( FILE *file, disk_t *d ) +write_img_mgt_opd( FILE *file, disk_t *d ) { - int i, j, sbase, sectors, seclen, mfm; + int i, j, sbase, sectors, seclen, mfm, cyl; - if( check_disk_geom( d, &sbase, §ors, &seclen, &mfm ) || - sbase != 1 || seclen != 2 || sectors != 10 ) + if( check_disk_geom( d, &sbase, §ors, &seclen, &mfm, &cyl ) || + ( d->type != DISK_OPD && ( sbase != 1 || seclen != 2 || sectors != 10 ) ) || + ( d->type == DISK_OPD && ( sbase != 0 || seclen != 1 || sectors != 18 ) ) ) return d->status = DISK_GEOM; + if( cyl == -1 ) cyl = d->cylinders; + if( cyl != 40 && cyl != 80 ) + return d->status = DISK_GEOM; + if( d->type == DISK_IMG ) { /* out-out */ for( j = 0; j < d->sides; j++ ) { - for( i = 0; i < d->cylinders; i++ ) { + for( i = 0; i < cyl; i++ ) { if( savetrack( d, file, j, i, 1, sectors, seclen ) ) return d->status = DISK_GEOM; } } } else { /* alt */ - for( i = 0; i < d->cylinders; i++ ) { /* MGT */ + for( i = 0; i < cyl; i++ ) { /* MGT */ for( j = 0; j < d->sides; j++ ) { - if( savetrack( d, file, j, i, 1, sectors, seclen ) ) + if( savetrack( d, file, j, i, d->type == DISK_MGT ? 1 : 0, + sectors, seclen ) ) return d->status = DISK_GEOM; } } @@ -1762,12 +1802,14 @@ static int write_trd( FILE *file, disk_t *d ) { - int i, j, sbase, sectors, seclen, mfm; + int i, j, sbase, sectors, seclen, mfm, cyl; - if( check_disk_geom( d, &sbase, §ors, &seclen, &mfm ) || + if( check_disk_geom( d, &sbase, §ors, &seclen, &mfm, &cyl ) || sbase != 1 || seclen != 1 || sectors != 16 ) return d->status = DISK_GEOM; - for( i = 0; i < d->cylinders; i++ ) { + + if( cyl == -1 ) cyl = d->cylinders; + for( i = 0; i < cyl; i++ ) { for( j = 0; j < d->sides; j++ ) { if( savetrack( d, file, j, i, 1, sectors, seclen ) ) return d->status = DISK_GEOM; @@ -1779,21 +1821,22 @@ static int write_sad( FILE *file, disk_t *d ) { - int i, j, sbase, sectors, seclen, mfm; + int i, j, sbase, sectors, seclen, mfm, cyl; - if( check_disk_geom( d, &sbase, §ors, &seclen, &mfm ) || sbase != 1 ) + if( check_disk_geom( d, &sbase, §ors, &seclen, &mfm, &cyl ) || sbase != 1 ) return d->status = DISK_GEOM; + if( cyl == -1 ) cyl = d->cylinders; memcpy( head, "Aley's disk backup", 18 ); head[18] = d->sides; - head[19] = d->cylinders; + head[19] = cyl; head[20] = sectors; head[21] = seclen * 4; if( fwrite( head, 22, 1, file ) != 1 ) /* SAD head */ return d->status = DISK_WRPART; for( j = 0; j < d->sides; j++ ) { /* OUT-OUT */ - for( i = 0; i < d->cylinders; i++ ) { + for( i = 0; i < cyl; i++ ) { if( savetrack( d, file, j, i, 1, sectors, seclen ) ) return d->status = DISK_GEOM; } @@ -1894,19 +1937,21 @@ static int write_cpc( FILE *file, disk_t *d ) { - int i, j, k, sbase, sectors, seclen, mfm; + int i, j, k, sbase, sectors, seclen, mfm, cyl; int h, t, s, b; size_t len; - i = check_disk_geom( d, &sbase, §ors, &seclen, &mfm ); + i = check_disk_geom( d, &sbase, §ors, &seclen, &mfm, &cyl ); if( i & DISK_SECLEN_VARI || i & DISK_SPT_VARI ) return d->status = DISK_GEOM; if( i & DISK_MFM_VARI ) mfm = -1; + if( cyl == -1 ) cyl = d->cylinders; + memset( head, 0, 256 ); memcpy( head, "MV - CPCEMU Disk-File\r\nDisk-Info\r\n", 34 ); - head[0x30] = d->cylinders; + head[0x30] = cyl; head[0x31] = d->sides; len = sectors * ( 0x80 << seclen ) + 256; head[0x32] = len & 0xff; @@ -1916,7 +1961,7 @@ memset( head, 0, 256 ); memcpy( head, "Track-Info\r\n", 12 ); - for( i = 0; i < d->cylinders; i++ ) { + for( i = 0; i < cyl; i++ ) { for( j = 0; j < d->sides; j++ ) { d->track = d->data + ( ( d->sides * i + j ) * d->tlen ); d->clocks = d->track + d->bpt; @@ -1952,11 +1997,11 @@ static int write_scl( FILE *file, disk_t *d ) { - int i, j, k, l, t, s, sbase, sectors, seclen, mfm, del; + int i, j, k, l, t, s, sbase, sectors, seclen, mfm, del, cyl; int entries; libspectrum_dword sum = 597; /* sum of "SINCLAIR" */ - if( check_disk_geom( d, &sbase, §ors, &seclen, &mfm ) || + if( check_disk_geom( d, &sbase, §ors, &seclen, &mfm, &cyl ) || sbase != 1 || seclen != 1 || sectors != 16 ) return d->status = DISK_GEOM; @@ -2071,7 +2116,9 @@ { int i, j, k, del, rev; int h, t, s, b; + char str[17]; + str[16] = '\0'; fprintf( file, "DISK tracks log!\n" ); fprintf( file, "Sides: %d, cylinders: %d\n", d->sides, d->cylinders ); for( j = 0; j < d->cylinders; j++ ) { /* ALT :) */ @@ -2110,9 +2157,11 @@ if( !( k % 16 ) ) fprintf( file, "0x%08x:", k ); fprintf( file, " 0x%02x", d->track[ d->i ] ); + str[ k & 0x0f ] = d->track[ d->i ] >= 32 && + d->track[ d->i ] < 127 ? d->track[ d->i ] : '.'; k++; if( !( k % 16 ) ) - fprintf( file, "\n" ); + fprintf( file, " | %s\n", str ); d->i++; if( d->i >= d->bpt ) { d->i = 0; @@ -2170,6 +2219,8 @@ d->type = DISK_CPC; /* ALT side */ else if( !strcasecmp( ext, ".mgt" ) ) d->type = DISK_MGT; /* ALT side */ + else if( !strcasecmp( ext, ".opd" ) || !strcasecmp( ext, ".opu" ) ) + d->type = DISK_OPD; /* ALT side */ else if( !strcasecmp( ext, ".img" ) ) /* out-out */ d->type = DISK_IMG; else if( !strcasecmp( ext, ".trd" ) ) /* ALT */ @@ -2192,7 +2243,8 @@ break; case DISK_IMG: case DISK_MGT: - write_img_mgt( file, d ); + case DISK_OPD: + write_img_mgt_opd( file, d ); break; case DISK_TRD: write_trd( file, d ); Modified: trunk/fuse/disk/fdd.c =================================================================== --- trunk/fuse/disk/fdd.c 2009-08-01 14:03:19 UTC (rev 609) +++ trunk/fuse/disk/fdd.c 2009-08-02 10:35:36 UTC (rev 610) @@ -1,7 +1,7 @@ /* fdd.c: Routines for emulating floppy disk drives Copyright (c) 2007 Gergely Szasz - $Id: fdd.c 4012 2009-04-16 12:42:14Z fredm $ + $Id: fdd.c 4045 2009-07-10 13:11:12Z 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 @@ -131,6 +131,7 @@ fdd_init( fdd_t *d, fdd_type_t type, int heads, int cyls, int reinit ) { int upsidedown = d->upsidedown; + int selected = d->selected; disk_t *disk = d->disk; d->fdd_heads = d->fdd_cylinders = d->c_head = d->c_cylinder = 0; @@ -148,6 +149,7 @@ d->auto_geom = 1; d->fdd_heads = heads; d->fdd_cylinders = cyls; + if( reinit ) d->selected = selected; if( reinit && disk ) { fdd_unload( d ); fdd_load( d, disk, upsidedown ); Copied: trunk/fuse/disk/opus.c (from rev 609, vendor/fuse-emulator/current/fuse/disk/opus.c) =================================================================== --- trunk/fuse/disk/opus.c (rev 0) +++ trunk/fuse/disk/opus.c 2009-08-02 10:35:36 UTC (rev 610) @@ -0,0 +1,725 @@ +/* opus.c: Routines for handling the Opus Discovery interface + Copyright (c) 1999-2009 Stuart Brady, Fredrick Meunier, Philip Kendall, + Dmitry Sanarin, Darren Salt, Michael D Wynne, Gergely Szasz + + $Id: opus.c 4012 2009-04-16 12:42:14Z 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 + 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: + + Philip: phi...@sh... + + Stuart: sd...@nt... + +*/ + +#include <config.h> + +#include <libspectrum.h> + +#include <string.h> + +#include "compat.h" +#include "machine.h" +#include "module.h" +#include "opus.h" +#include "printer.h" +#include "settings.h" +#include "ui/ui.h" +#include "wd_fdc.h" +#include "options.h" /* needed for get combo options */ +#include "z80/z80.h" + +#define DISK_TRY_MERGE(heads) ( option_enumerate_diskoptions_disk_try_merge() == 2 || \ + ( option_enumerate_diskoptions_disk_try_merge() == 1 && heads == 1 ) ) + +int opus_available = 0; +int opus_active = 0; + +static int opus_index_pulse; + +static int index_event; + +#define OPUS_NUM_DRIVES 2 + +static wd_fdc *opus_fdc; +static wd_fdc_drive opus_drives[ OPUS_NUM_DRIVES ]; + +static libspectrum_byte opus_ram[ 0x800 ]; + +/* 6821 PIA internal registers */ +static libspectrum_byte data_reg_a, data_dir_a, control_a; +static libspectrum_byte data_reg_b, data_dir_b, control_b; + +static void opus_reset( int hard_reset ); +static void opus_memory_map( void ); +static void opus_enabled_snapshot( libspectrum_snap *snap ); +static void opus_from_snapshot( libspectrum_snap *snap ); +static void opus_to_snapshot( libspectrum_snap *snap ); +static void opus_event_index( libspectrum_dword last_tstates, int type, + void *user_data ); + +static module_info_t opus_module_info = { + + opus_reset, + opus_memory_map, + opus_enabled_snapshot, + opus_from_snapshot, + opus_to_snapshot, + +}; + +void +opus_page( void ) +{ + opus_active = 1; + machine_current->ram.romcs = 1; + machine_current->memory_map(); +} + +void +opus_unpage( void ) +{ + opus_active = 0; + machine_current->ram.romcs = 0; + machine_current->memory_map(); +} + +static void +opus_memory_map( void ) +{ + if( !opus_active ) return; + + memory_map_read[ 0 ] = memory_map_write[ 0 ] = memory_map_romcs[ 0 ]; + memory_map_read[ 1 ] = memory_map_write[ 1 ] = memory_map_romcs[ 1 ]; +} + +static void +opus_set_datarq( struct wd_fdc *f ) +{ + event_add( 0, z80_nmi_event ); +} + +int +opus_init( void ) +{ + int i; + wd_fdc_drive *d; + + opus_fdc = wd_fdc_alloc_fdc( WD1770, 0, WD_FLAG_OPUS ); + + for( i = 0; i < OPUS_NUM_DRIVES; i++ ) { + d = &opus_drives[ i ]; + fdd_init( &d->fdd, FDD_SHUGART, 0, 0, 0 ); /* drive geometry 'autodetect' */ + d->disk.flag = DISK_FLAG_NONE; + } + + opus_fdc->current_drive = &opus_drives[ 0 ]; + fdd_select( &opus_drives[ 0 ].fdd, 1 ); + opus_fdc->dden = 1; + opus_fdc->set_intrq = NULL; + opus_fdc->reset_intrq = NULL; + opus_fdc->set_datarq = opus_set_datarq; + opus_fdc->reset_datarq = NULL; + opus_fdc->iface = NULL; + + index_event = event_register( opus_event_index, "Opus index" ); + + module_register( &opus_module_info ); + + return 0; +} + +static void +opus_reset( int hard_reset ) +{ + int i; + wd_fdc_drive *d; + const fdd_params_t *dt; + + opus_active = 0; + opus_available = 0; + + event_remove_type( index_event ); + + if( !periph_opus_active ) + return; + + machine_load_rom_bank( memory_map_romcs, 0, 0, + settings_current.rom_opus, + settings_default.rom_opus, 0x2000 ); + + memory_map_romcs[0].source = MEMORY_SOURCE_PERIPHERAL; + + memory_map_romcs[1].page = opus_ram; + memory_map_romcs[1].source = MEMORY_SOURCE_PERIPHERAL; + + machine_current->ram.romcs = 0; + + memory_map_romcs[ 0 ].writable = 0; + memory_map_romcs[ 1 ].writable = 1; + + data_reg_a = 0; + data_dir_a = 0; + control_a = 0; + data_reg_b = 0; + data_dir_b = 0; + control_b = 0; + + opus_available = 1; + opus_index_pulse = 0; + + if( hard_reset ) + memset( opus_ram, 0, 0x800 ); + + wd_fdc_master_reset( opus_fdc ); + + for( i = 0; i < OPUS_NUM_DRIVES; i++ ) { + d = &opus_drives[ i ]; + + d->index_pulse = 0; + d->index_interrupt = 0; + } + + /* We can eject disks only if they are currently present */ + dt = &fdd_params[ option_enumerate_diskoptions_drive_opus1_type() + 1 ]; /* +1 => there is no `Disabled' */ + fdd_init( &opus_drives[ OPUS_DRIVE_1 ].fdd, FDD_SHUGART, + dt->heads, dt->cylinders, 1 ); + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_1, dt->enabled ); + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_1_EJECT, + opus_drives[ OPUS_DRIVE_1 ].fdd.loaded ); + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_1_FLIP_SET, + !opus_drives[ OPUS_DRIVE_1 ].fdd.upsidedown ); + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_1_WP_SET, + !opus_drives[ OPUS_DRIVE_1 ].fdd.wrprot ); + + + dt = &fdd_params[ option_enumerate_diskoptions_drive_opus2_type() ]; + fdd_init( &opus_drives[ OPUS_DRIVE_2 ].fdd, dt->enabled ? FDD_SHUGART : FDD_TYPE_NONE, + dt->heads, dt->cylinders, 1 ); + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_2, dt->enabled ); + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_2_EJECT, + opus_drives[ OPUS_DRIVE_2 ].fdd.loaded ); + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_2_FLIP_SET, + !opus_drives[ OPUS_DRIVE_2 ].fdd.upsidedown ); + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_2_WP_SET, + !opus_drives[ OPUS_DRIVE_2 ].fdd.wrprot ); + + + opus_fdc->current_drive = &opus_drives[ 0 ]; + fdd_select( &opus_drives[ 0 ].fdd, 1 ); + machine_current->memory_map(); + opus_event_index( 0, index_event, NULL ); + + ui_statusbar_update( UI_STATUSBAR_ITEM_DISK, UI_STATUSBAR_STATE_INACTIVE ); +} + +void +opus_end( void ) +{ + opus_available = 0; +} + +/* + * opus_6821_access( reg, data, dir ) + * + * reg - register to access: + * + * data - if dir = 1 the value being written else ignored + * + * dir - direction of data. 0 = read, 1 = write + * + * returns: value of register if dir = 0 else 0 + * + * Mostly borrowed from EightyOne - A Windows ZX80/81/clone emulator + */ + +static libspectrum_byte +opus_6821_access( libspectrum_byte reg, libspectrum_byte data, + libspectrum_byte dir ) +{ + int drive, side; + int i; + + switch( reg & 0x03 ) { + case 0: + if( dir ) { + if( control_a & 0x04 ) { + data_reg_a = data; + + drive = ( data & 0x02 ) == 2 ? 1 : 0; + side = ( data & 0x10 )>>4 ? 1 : 0; + + for( i = 0; i < OPUS_NUM_DRIVES; i++ ) { + fdd_set_head( &opus_drives[ i ].fdd, side ); + } + + fdd_select( &opus_drives[ (!drive) ].fdd, 0 ); + fdd_select( &opus_drives[ drive ].fdd, 1 ); + + if( opus_fdc->current_drive != &opus_drives[ drive ] ) { + if( opus_fdc->current_drive->fdd.motoron ) { /* swap motoron */ + fdd_motoron( &opus_drives[ (!drive) ].fdd, 0 ); + fdd_motoron( &opus_drives[ drive ].fdd, 1 ); + } + opus_fdc->current_drive = &opus_drives[ drive ]; + } + } else { + data_dir_a = data; + } + } else { + if( control_a & 0x04 ) { + /* printer never busy (bit 6) */ + data_reg_a &= ~0x40; + return data_reg_a; + } else { + return data_dir_a; + } + } + break; + case 1: + if( dir ) { + control_a = data; + } else { + /* Always return bit 6 set to ACK parallel port actions */ + return control_a | 0x40; + } + break; + case 2: + if( dir ) { + if( control_b & 0x04 ) { + data_reg_b = data; + printer_parallel_write( 0x00, data ); + /* Don't worry about emulating the strobes from the ROM, they are + all bound up with checking current printer busy status which we + don't emulate, so just send the char now */ + printer_parallel_strobe_write( 0 ); + printer_parallel_strobe_write( 1 ); + printer_parallel_strobe_write( 0 ); + } else { + data_dir_b = data; + } + } else { + if( control_b & 0x04 ) { + return data_reg_b; + } else { + return data_dir_b; + } + } + break; + case 3: + if( dir ) { + control_b = data; + } else { + return control_b; + } + break; + } + + return 0; +} + +int +opus_disk_insert( opus_drive_number which, const char *filename, + int autoload ) +{ + int error; + wd_fdc_drive *d; + const fdd_params_t *dt; + + if( which >= OPUS_NUM_DRIVES ) { + ui_error( UI_ERROR_ERROR, "opus_disk_insert: unknown drive %d", + which ); + fuse_abort(); + } + + d = &opus_drives[ which ]; + + /* Eject any disk already in the drive */ + if( d->fdd.loaded ) { + /* Abort the insert if we want to keep the current disk */ + if( opus_disk_eject( which, 0 ) ) return 0; + } + + if( filename ) { + error = disk_open( &d->disk, filename, 0, DISK_TRY_MERGE( d->fdd.fdd_heads ) ); + if( error != DISK_OK ) { + ui_error( UI_ERROR_ERROR, "Failed to open disk image: %s", + disk_strerror( error ) ); + return 1; + } + } else { + switch( which ) { + case 0: + /* +1 => there is no `Disabled' */ + dt = &fdd_params[ option_enumerate_diskoptions_drive_opus1_type() + 1 ]; + break; + case 1: + default: + dt = &fdd_params[ option_enumerate_diskoptions_drive_opus2_type() ]; + break; + } + error = disk_new( &d->disk, dt->heads, dt->cylinders, DISK_DENS_AUTO, DISK_UDI ); + if( error != DISK_OK ) { + ui_error( UI_ERROR_ERROR, "Failed to create disk image: %s", + disk_strerror( error ) ); + return 1; + } + } + + fdd_load( &d->fdd, &d->disk, 0 ); + + /* Set the 'eject' item active */ + switch( which ) { + case OPUS_DRIVE_1: + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_1_EJECT, 1 ); + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_1_FLIP_SET, + !opus_drives[ OPUS_DRIVE_1 ].fdd.upsidedown ); + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_1_WP_SET, + !opus_drives[ OPUS_DRIVE_1 ].fdd.wrprot ); + break; + case OPUS_DRIVE_2: + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_2_EJECT, 1 ); + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_2_FLIP_SET, + !opus_drives[ OPUS_DRIVE_2 ].fdd.upsidedown ); + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_2_WP_SET, + !opus_drives[ OPUS_DRIVE_2 ].fdd.wrprot ); + break; + } + + if( filename && autoload ) { + /* XXX */ + } + + return 0; +} + +int +opus_disk_eject( opus_drive_number which, int write ) +{ + wd_fdc_drive *d; + + if( which >= OPUS_NUM_DRIVES ) + return 1; + + d = &opus_drives[ which ]; + + if( d->disk.type == DISK_TYPE_NONE ) + return 0; + + if( write ) { + + if( ui_opus_disk_write( which ) ) return 1; + + } else { + + if( d->disk.dirty ) { + + ui_confirm_save_t confirm = ui_confirm_save( + "Disk in Opus Discovery drive %c has been modified.\n" + "Do you want to save it?", + which == OPUS_DRIVE_1 ? '1' : '2' + ); + + switch( confirm ) { + + case UI_CONFIRM_SAVE_SAVE: + if( ui_opus_disk_write( which ) ) return 1; + break; + + case UI_CONFIRM_SAVE_DONTSAVE: break; + case UI_CONFIRM_SAVE_CANCEL: return 1; + + } + } + } + + fdd_unload( &d->fdd ); + disk_close( &d->disk ); + + /* Set the 'eject' item inactive */ + switch( which ) { + case OPUS_DRIVE_1: + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_1_EJECT, 0 ); + break; + case OPUS_DRIVE_2: + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_2_EJECT, 0 ); + break; + } + return 0; +} + +int +opus_disk_flip( opus_drive_number which, int flip ) +{ + wd_fdc_drive *d; + + if( which >= OPUS_NUM_DRIVES ) + return 1; + + d = &opus_drives[ which ]; + + if( !d->fdd.loaded ) + return 1; + + fdd_flip( &d->fdd, flip ); + + /* Update the 'write flip' menu item */ + switch( which ) { + case OPUS_DRIVE_1: + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_1_FLIP_SET, + !opus_drives[ OPUS_DRIVE_1 ].fdd.upsidedown ); + break; + case OPUS_DRIVE_2: + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_2_FLIP_SET, + !opus_drives[ OPUS_DRIVE_2 ].fdd.upsidedown ); + break; + } + return 0; +} + +int +opus_disk_writeprotect( opus_drive_number which, int wrprot ) +{ + wd_fdc_drive *d; + + if( which >= OPUS_NUM_DRIVES ) + return 1; + + d = &opus_drives[ which ]; + + if( !d->fdd.loaded ) + return 1; + + fdd_wrprot( &d->fdd, wrprot ); + + /* Update the 'write protect' menu item */ + switch( which ) { + case OPUS_DRIVE_1: + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_1_WP_SET, + !opus_drives[ OPUS_DRIVE_1 ].fdd.wrprot ); + break; + case OPUS_DRIVE_2: + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_2_WP_SET, + !opus_drives[ OPUS_DRIVE_2 ].fdd.wrprot ); + break; + } + return 0; +} + +int +opus_disk_write( opus_drive_number which, const char *filename ) +{ + wd_fdc_drive *d = &opus_drives[ which ]; + int error; + + d->disk.type = DISK_TYPE_NONE; + error = disk_write( &d->disk, filename ); + + if( error != DISK_OK ) { + ui_error( UI_ERROR_ERROR, "couldn't write '%s' file: %s", filename, + disk_strerror( error ) ); + return 1; + } + + return 0; +} + +fdd_t * +opus_get_fdd( opus_drive_number which ) +{ + return &( opus_drives[ which ].fdd ); +} + +static void +opus_event_index( libspectrum_dword last_tstates, int type GCC_UNUSED, + void *user_data GCC_UNUSED ) +{ + int next_tstates; + int i; + + opus_index_pulse = !opus_index_pulse; + for( i = 0; i < OPUS_NUM_DRIVES; i++ ) { + wd_fdc_drive *d = &opus_drives[ i ]; + + d->index_pulse = opus_index_pulse; + if( !opus_index_pulse && d->index_interrupt ) { + wd_fdc_set_intrq( opus_fdc ); + d->index_interrupt = 0; + } + } + next_tstates = ( opus_index_pulse ? 10 : 190 ) * + machine_current->timings.processor_speed / 1000; + event_add( last_tstates + next_tstates, index_event ); +} + +libspectrum_byte +opus_read( libspectrum_word address ) +{ + libspectrum_byte data = 0xff; + + if( address >= 0x3800 ) data = 0xff; /* Undefined on Opus */ + else if( address >= 0x3000 ) /* 6821 PIA */ + data = opus_6821_access( address, 0, 0 ); + else if( address >= 0x2800 ) { /* WD1770 FDC */ + switch( address & 0x03 ) { + case 0: + data = wd_fdc_sr_read( opus_fdc ); + break; + case 1: + data = wd_fdc_tr_read( opus_fdc ); + break; + case 2: + data = wd_fdc_sec_read( opus_fdc ); + break; + case 3: + data = wd_fdc_dr_read( opus_fdc ); + break; + } + } + + return data; +} + +void +opus_write( libspectrum_word address, libspectrum_byte b ) +{ + if( address < 0x2000 ) return; + if( address >= 0x3800 ) return; + + if( address >= 0x3000 ) { + opus_6821_access( address, b, 1 ); + } else if( address >= 0x2800 ) { + switch( address & 0x03 ) { + case 0: + wd_fdc_cr_write( opus_fdc, b ); + break; + case 1: + wd_fdc_tr_write( opus_fdc, b ); + break; + case 2: + wd_fdc_sec_write( opus_fdc, b ); + break; + case 3: + wd_fdc_dr_write( opus_fdc, b ); + break; + } + } +} + +static libspectrum_byte * +alloc_and_copy_page( libspectrum_byte* source_page ) +{ + libspectrum_byte *buffer; + buffer = malloc( MEMORY_PAGE_SIZE ); + if( !buffer ) { + ui_error( UI_ERROR_ERROR, "Out of memory at %s:%d", __FILE__, + __LINE__ ); + return 0; + } + + memcpy( buffer, source_page, MEMORY_PAGE_SIZE ); + return buffer; +} + +static void +opus_enabled_snapshot( libspectrum_snap *snap ) +{ + if( libspectrum_snap_opus_active( snap ) ) + settings_current.opus = 1; +} + +static void +opus_from_snapshot( libspectrum_snap *snap ) +{ + if( !libspectrum_snap_opus_active( snap ) ) return; + + if( libspectrum_snap_opus_custom_rom( snap ) && + libspectrum_snap_opus_rom( snap, 0 ) && + machine_load_rom_bank_from_buffer( + memory_map_romcs, 0, 0, + libspectrum_snap_opus_rom( snap, 0 ), + MEMORY_PAGE_SIZE, + 1 ) ) + return; + + if( libspectrum_snap_opus_ram( snap, 0 ) ) { + memcpy( opus_ram, + libspectrum_snap_opus_ram( snap, 0 ), 0x800 ); + } + + /* ignore drive count for now, there will be an issue with loading snaps where + drives have been disabled + libspectrum_snap_opus_drive_count( snap ) + */ + + opus_fdc->direction = libspectrum_snap_opus_direction( snap ); + + wd_fdc_cr_write ( opus_fdc, libspectrum_snap_opus_status ( snap ) ); + wd_fdc_tr_write ( opus_fdc, libspectrum_snap_opus_track ( snap ) ); + wd_fdc_sec_write( opus_fdc, libspectrum_snap_opus_sector ( snap ) ); + wd_fdc_dr_write ( opus_fdc, libspectrum_snap_opus_data ( snap ) ); + data_reg_a = libspectrum_snap_opus_data_reg_a( snap ); + data_dir_a = libspectrum_snap_opus_data_dir_a( snap ); + control_a = libspectrum_snap_opus_control_a ( snap ); + data_reg_b = libspectrum_snap_opus_data_reg_b( snap ); + data_dir_b = libspectrum_snap_opus_data_dir_b( snap ); + control_b = libspectrum_snap_opus_control_b ( snap ); + + if( libspectrum_snap_opus_paged( snap ) ) { + opus_page(); + } else { + opus_unpage(); + } +} + +static void +opus_to_snapshot( libspectrum_snap *snap GCC_UNUSED ) +{ + libspectrum_byte *buffer; + int drive_count = 0; + + if( !periph_opus_active ) return; + + libspectrum_snap_set_opus_active( snap, 1 ); + + buffer = alloc_and_copy_page( memory_map_romcs[0].page ); + if( !buffer ) return; + libspectrum_snap_set_opus_rom( snap, 0, buffer ); + if( memory_map_romcs[0].source == MEMORY_SOURCE_CUSTOMROM ) + libspectrum_snap_set_opus_custom_rom( snap, 1 ); + + buffer = alloc_and_copy_page( opus_ram ); + if( !buffer ) return; + libspectrum_snap_set_opus_ram( snap, 0, buffer ); + + drive_count++; /* Drive 1 is not removable */ + if( option_enumerate_diskoptions_drive_opus2_type() > 0 ) drive_count++; + libspectrum_snap_set_opus_drive_count( snap, drive_count ); + + libspectrum_snap_set_opus_paged ( snap, opus_active ); + libspectrum_snap_set_opus_direction ( snap, opus_fdc->direction ); + libspectrum_snap_set_opus_status ( snap, opus_fdc->status_register ); + libspectrum_snap_set_opus_track ( snap, opus_fdc->track_register ); + libspectrum_snap_set_opus_sector ( snap, opus_fdc->sector_register ); + libspectrum_snap_set_opus_data ( snap, opus_fdc->data_register ); + libspectrum_snap_set_opus_data_reg_a( snap, data_reg_a ); + libspectrum_snap_set_opus_data_dir_a( snap, data_dir_a ); + libspectrum_snap_set_opus_control_a ( snap, control_a ); + libspectrum_snap_set_opus_data_reg_b( snap, data_reg_b ); + libspectrum_snap_set_opus_data_dir_b( snap, data_dir_b ); + libspectrum_snap_set_opus_control_b ( snap, control_b ); +} Copied: trunk/fuse/disk/opus.h (from rev 609, vendor/fuse-emulator/current/fuse/disk/opus.h) =================================================================== --- trunk/fuse/disk/opus.h (rev 0) +++ trunk/fuse/disk/opus.h 2009-08-02 10:35:36 UTC (rev 610) @@ -0,0 +1,65 @@ +/* opus.h: Routines for handling the Opus Discovery interface + Copyright (c) 2005-2009 Stuart Brady, Fredrick Meunier + + $Id: opus.h 4012 2009-04-16 12:42:14Z 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 + 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: + + Philip: phi...@sh... + + Stuart: sd...@nt... + +*/ + +#ifndef FUSE_OPUS_H +#define FUSE_OPUS_H + +#include <config.h> + +typedef enum opus_drive_number { + OPUS_DRIVE_1 = 0, + OPUS_DRIVE_2, +} opus_drive_number; + +#include <libspectrum.h> + +#include "periph.h" +#include "disk/fdd.h" + +extern int opus_available; /* Is the Opus available for use? */ +extern int opus_active; /* Opus enabled? */ + +int opus_init( void ); +void opus_end( void ); + +void opus_page( void ); +void opus_unpage( void ); + +libspectrum_byte opus_read( libspectrum_word address ); +void opus_write( libspectrum_word address, libspectrum_byte b ); + +libspectrum_byte opus_joy_read( libspectrum_word port, int *attached ); + +int opus_disk_insert( opus_drive_number which, const char *filename, + int autoload ); +int opus_disk_eject( opus_drive_number which, int write ); +int opus_disk_write( opus_drive_number which, const char *filename ); +int opus_disk_flip( opus_drive_number which, int flip ); +int opus_disk_writeprotect( opus_drive_number which, int wrprot ); +fdd_t *opus_get_fdd( opus_drive_number which ); + +#endif /* #ifndef FUSE_OPUS_H */ Modified: trunk/fuse/disk/plusd.c =================================================================== --- trunk/fuse/disk/plusd.c 2009-08-01 14:03:19 UTC (rev 609) +++ trunk/fuse/disk/plusd.c 2009-08-02 10:35:36 UTC (rev 610) @@ -2,7 +2,7 @@ Copyright (c) 1999-2007 Stuart Brady, Fredrick Meunier, Philip Kendall, Dmitry Sanarin, Darren Salt - $Id: plusd.c 4012 2009-04-16 12:42:14Z fredm $ + $Id: plusd.c 4060 2009-07-30 13:21:38Z fredm $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -654,8 +654,13 @@ libspectrum_snap_plusd_ram( snap, 0 ), 0x2000 ); } - plusd_fdc->direction = libspectrum_snap_beta_direction( snap ); + /* ignore drive count for now, there will be an issue with loading snaps where + drives have been disabled + libspectrum_snap_plusd_drive_count( snap ) + */ + plusd_fdc->direction = libspectrum_snap_plusd_direction( snap ); + plusd_cr_write ( 0x00e3, libspectrum_snap_plusd_status ( snap ) ); plusd_tr_write ( 0x00eb, libspectrum_snap_plusd_track ( snap ) ); plusd_sec_write( 0x00f3, libspectrum_snap_plusd_sector ( snap ) ); @@ -673,6 +678,7 @@ pl... [truncated message content] |
From: <fr...@us...> - 2009-08-01 14:03:30
|
Revision: 609 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=609&view=rev Author: fredm Date: 2009-08-01 14:03:19 +0000 (Sat, 01 Aug 2009) Log Message: ----------- Tag vendor/fuse-emulator/current as vendor/fuse-emulator/fuse-r4061. Added Paths: ----------- vendor/fuse-emulator/fuse-r4061/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2009-08-01 14:02:06
|
Revision: 608 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=608&view=rev Author: fredm Date: 2009-08-01 14:01:53 +0000 (Sat, 01 Aug 2009) 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/README vendor/fuse-emulator/current/fuse/disk/Makefile.am vendor/fuse-emulator/current/fuse/disk/beta.c vendor/fuse-emulator/current/fuse/disk/disk.c vendor/fuse-emulator/current/fuse/disk/fdd.c vendor/fuse-emulator/current/fuse/disk/plusd.c vendor/fuse-emulator/current/fuse/disk/wd_fdc.c vendor/fuse-emulator/current/fuse/disk/wd_fdc.h vendor/fuse-emulator/current/fuse/fuse.c vendor/fuse-emulator/current/fuse/hacking/ChangeLog vendor/fuse-emulator/current/fuse/ide/divide.c vendor/fuse-emulator/current/fuse/ide/divide.h vendor/fuse-emulator/current/fuse/ide/ide.c vendor/fuse-emulator/current/fuse/ide/ide.h vendor/fuse-emulator/current/fuse/ide/simpleide.c vendor/fuse-emulator/current/fuse/ide/simpleide.h vendor/fuse-emulator/current/fuse/ide/zxatasp.c vendor/fuse-emulator/current/fuse/ide/zxatasp.h vendor/fuse-emulator/current/fuse/ide/zxcf.c vendor/fuse-emulator/current/fuse/ide/zxcf.h vendor/fuse-emulator/current/fuse/machines/pentagon1024.c vendor/fuse-emulator/current/fuse/machines/spec128.c vendor/fuse-emulator/current/fuse/machines/spec16.c vendor/fuse-emulator/current/fuse/machines/spec48.c vendor/fuse-emulator/current/fuse/machines/spec_se.c vendor/fuse-emulator/current/fuse/machines/specplus2.c vendor/fuse-emulator/current/fuse/machines/tc2048.c vendor/fuse-emulator/current/fuse/man/fuse.1 vendor/fuse-emulator/current/fuse/memory.c 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/roms/Makefile.am vendor/fuse-emulator/current/fuse/settings.dat vendor/fuse-emulator/current/fuse/tape.c vendor/fuse-emulator/current/fuse/ui/options.dat vendor/fuse-emulator/current/fuse/ui/ui.h vendor/fuse-emulator/current/fuse/ui.c vendor/fuse-emulator/current/fuse/utils.c vendor/fuse-emulator/current/fuse/z80/coretest.c vendor/fuse-emulator/current/fuse/z80/z80_checks.h vendor/fuse-emulator/current/fuse/z80/z80_ops.c vendor/fuse-emulator/current/libspectrum/accessor.pl vendor/fuse-emulator/current/libspectrum/doc/libspectrum.txt vendor/fuse-emulator/current/libspectrum/hacking/ChangeLog vendor/fuse-emulator/current/libspectrum/libspectrum.c vendor/fuse-emulator/current/libspectrum/libspectrum.h.in vendor/fuse-emulator/current/libspectrum/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/z80.c Added Paths: ----------- vendor/fuse-emulator/current/fuse/disk/opus.c vendor/fuse-emulator/current/fuse/disk/opus.h vendor/fuse-emulator/current/fuse/roms/opus.rom Modified: vendor/fuse-emulator/current/fuse/AUTHORS =================================================================== --- vendor/fuse-emulator/current/fuse/AUTHORS 2009-08-01 00:40:53 UTC (rev 607) +++ vendor/fuse-emulator/current/fuse/AUTHORS 2009-08-01 14:01:53 UTC (rev 608) @@ -9,8 +9,8 @@ * Ian Collier: the original ZX Printer emulation (for xz80). -* John Elliott: for lib765, which provides Fuse's emulation of the +3's - FDC, and libdsk which provides support for more disk image formats: +* John Elliott: for lib765, which provided Fuse's original emulation of the + +3's FDC, and libdsk which provided support for more disk image formats: see http://www.seasip.demon.co.uk/Unix/LibDsk/ * Darren Salt: the original versions of the code for +3 emulation, @@ -34,15 +34,20 @@ * Marek Januszewski: Some patches making Fuse much closer to compiling under Win32, and fixing up the GTK+ 2.0 interface. -* Stuart Brady: for the Scorpion emulation and HP-UX sound support. +* Stuart Brady: for the Scorpion, +D interface emulation and HP-UX sound + support. * Garry Lancaster: the simple 8-bit IDE, ZXATASP and ZXCF support. -* Gergely Szasz: Interface I/microdrive emulation, the 'movie' code and the - ao sound driver. +* Gergely Szasz: +3, +D, Opus and Interface I/microdrive emulation, the 'movie' + code and the ao sound driver. * Bjoern Giesler: the original Wii port. +* Shay Green: the Blip_Buffer band pass filter for beeper and AY output. + +* Michael D Wynne: the Opus Discovery emulation (for EightyOne). + * Philip Kendall: everything else. -$Id: AUTHORS 3944 2009-01-10 18:17:04Z pak21 $ +$Id: AUTHORS 4060 2009-07-30 13:21:38Z fredm $ Modified: vendor/fuse-emulator/current/fuse/ChangeLog =================================================================== --- vendor/fuse-emulator/current/fuse/ChangeLog 2009-08-01 00:40:53 UTC (rev 607) +++ vendor/fuse-emulator/current/fuse/ChangeLog 2009-08-01 14:01:53 UTC (rev 608) @@ -1,3 +1,43 @@ +2009-xx-xx Philip Kendall <phi...@sh...> + + * Fuse ?.??.? released + + FIXME: Just a start, mostly changes visible on Fuse for OS X at the + moment + * Add Opus Discovery disk interface support (Gergely Szasz and Fredrick + Meunier). + * Wii support. + * Many improvements to Win32 UI (Marek Januszewski). + * Add support for flipping disk images in single sided drives (Gergely + Szasz). + * Add support for automatically merging both both disk images where + they are in separate files named with the text [Ss]ide[ _][abAB12] + (Gergely Szasz). + * Switch to using Blip_Buffer (by Shay Green) for improved beeper and + AY output (Fredrick Meunier). + * Allow beeper and AY volumes to be set (Fredrick Meunier). + * Enable Beta 128 interface in 48K and TC2048 machines (thanks, + Omikron) (Fredrick Meunier). + * Add emulation of the Fuller Audio Box (Stuart Brady and Fredrick + Meunier). + * Allow sound to run from 2% speed up (Fredrick Meunier). + * Add emulation of the Melodik and similar 48K-compatible AY interfaces + that use the 128K sound ports (Fredrick Meunier). + * Add support for Pentagon 1024SL v2.2 16 colour mode (Fredrick + Meunier). + + * Miscellaneous improvements: + * Preformat new disks on +3 to allow the format command on +3 to work + (Gergely Szasz). + * Support non-standard TRD images with 41-83 tracks per side (Gergely + Szasz). + * Allow user to swap Kempston mouse buttons as some combinations of + physical hardware and Spectrum software make it hard to use the + standard mapping e.g. right clicking and moving the cursor on Mac + notebooks (thanks, Andrew Owen) (Fredrick Meunier). + * Fixes for speed estimation (Gergely Szasz). + * Fix border colour in Timex HiRes screenshots (Fredrick Meunier). + 2008-12-10 Philip Kendall <phi...@sh...> * Fuse 0.10.0.1 released @@ -941,4 +981,4 @@ * Version 0.1.0 released. -$Id: ChangeLog 3900 2008-12-10 19:31:31Z pak21 $ +$Id: ChangeLog 4060 2009-07-30 13:21:38Z fredm $ Modified: vendor/fuse-emulator/current/fuse/README =================================================================== --- vendor/fuse-emulator/current/fuse/README 2009-08-01 00:40:53 UTC (rev 607) +++ vendor/fuse-emulator/current/fuse/README 2009-08-01 14:01:53 UTC (rev 608) @@ -25,7 +25,7 @@ * Support for the RZX input recording file format, including rollback and 'competition mode'. * Emulation of the DivIDE, Interface I, Kempston mouse, Spectrum +3e, - ZXATASP, ZXCF, Beta 128 and +D interfaces. + ZXATASP, ZXCF, Beta 128, Opus Discovery and +D interfaces. Help! <xyz> doesn't work ------------------------ @@ -180,4 +180,4 @@ Philip Kendall <phi...@sh...> 10 December 2008 -$Id: README 4021 2009-05-29 13:39:51Z fredm $ +$Id: README 4060 2009-07-30 13:21:38Z fredm $ Modified: vendor/fuse-emulator/current/fuse/disk/Makefile.am =================================================================== --- vendor/fuse-emulator/current/fuse/disk/Makefile.am 2009-08-01 00:40:53 UTC (rev 607) +++ vendor/fuse-emulator/current/fuse/disk/Makefile.am 2009-08-01 14:01:53 UTC (rev 608) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2007 Stuart Brady -## $Id: Makefile.am 3584 2008-03-25 10:27:30Z fredm $ +## $Id: Makefile.am 4060 2009-07-30 13:21:38Z fredm $ ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -33,6 +33,7 @@ crc.c \ disk.c \ fdd.c \ + opus.c \ plusd.c \ upd_fdc.c \ wd_fdc.c @@ -41,6 +42,7 @@ crc.h \ disk.h \ fdd.h \ + opus.h \ plusd.h \ upd_fdc.h \ wd_fdc.h Modified: vendor/fuse-emulator/current/fuse/disk/beta.c =================================================================== --- vendor/fuse-emulator/current/fuse/disk/beta.c 2009-08-01 00:40:53 UTC (rev 607) +++ vendor/fuse-emulator/current/fuse/disk/beta.c 2009-08-01 14:01:53 UTC (rev 608) @@ -1,7 +1,7 @@ /* beta.c: Routines for handling the Beta disk interface Copyright (c) 2004-2008 Stuart Brady - $Id: beta.c 4029 2009-06-05 13:50:55Z fredm $ + $Id: beta.c 4060 2009-07-30 13:21:38Z fredm $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -708,6 +708,11 @@ 1 ) ) return; + /* ignore drive count for now, there will be an issue with loading snaps where + drives have been disabled + libspectrum_snap_beta_drive_count( snap ) + */ + beta_fdc->direction = libspectrum_snap_beta_direction( snap ); beta_cr_write ( 0x001f, 0 ); @@ -723,6 +728,7 @@ int attached; wd_fdc *f = beta_fdc; libspectrum_byte *buffer; + int drive_count = 0; if( !periph_beta128_active ) return; @@ -745,6 +751,12 @@ libspectrum_snap_set_beta_custom_rom( snap, 1 ); } + drive_count++; /* Drive A is not removable */ + if( option_enumerate_diskoptions_drive_beta128b_type() > 0 ) drive_count++; + if( option_enumerate_diskoptions_drive_beta128c_type() > 0 ) drive_count++; + if( option_enumerate_diskoptions_drive_beta128d_type() > 0 ) drive_count++; + libspectrum_snap_set_beta_drive_count( snap, drive_count ); + libspectrum_snap_set_beta_paged ( snap, beta_active ); libspectrum_snap_set_beta_direction( snap, beta_fdc->direction ); libspectrum_snap_set_beta_status( snap, beta_sr_read( 0x001f, &attached ) ); Modified: vendor/fuse-emulator/current/fuse/disk/disk.c =================================================================== --- vendor/fuse-emulator/current/fuse/disk/disk.c 2009-08-01 00:40:53 UTC (rev 607) +++ vendor/fuse-emulator/current/fuse/disk/disk.c 2009-08-01 14:01:53 UTC (rev 608) @@ -1,7 +1,7 @@ /* disk.c: Routines for handling disk images Copyright (c) 2007 Gergely Szasz - $Id: disk.c 4037 2009-06-13 13:28:42Z fredm $ + $Id: disk.c 4061 2009-07-30 23:37:29Z fredm $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -252,6 +252,7 @@ #define DISK_MFM_VARI 16 #define DISK_DDAM 32 #define DISK_CORRUPT_SECTOR 64 +#define DISK_UNFORMATTED_TRACK 128 static int guess_track_geom( disk_t *d, int head, int track, int *sector_base, @@ -295,7 +296,7 @@ static int check_disk_geom( disk_t *d, int *sector_base, int *sectors, - int *seclen, int *mfm ) + int *seclen, int *mfm, int *unf ) { int h, t, s, slen, sbase, m; int r = 0; @@ -306,6 +307,7 @@ *sectors = -1; *seclen = -1; *mfm = -1; + *unf = -1; for( t = 0; t < d->cylinders; t++ ) { for( h = 0; h < d->sides; h++ ) { r |= guess_track_geom( d, h, t, &sbase, &s, &slen, &m ); @@ -317,6 +319,12 @@ *seclen = slen; if( *mfm == -1 ) *mfm = m; + if( sbase == -1 ) { /* unformatted */ + if( *unf == -1 && h > 0 ) *unf = -2; + if( *unf == -1 ) *unf = t; + continue; + } + if( *unf > -1 ) *unf = -2; if( sbase != *sector_base ) { r |= DISK_SBASE_VARI; if( sbase < *sector_base ) @@ -338,6 +346,11 @@ } } } + if( *unf == -2 ) { + r |= DISK_UNFORMATTED_TRACK; + *unf = -1; + } + return r; } @@ -569,6 +582,7 @@ #define NO_INTERLEAVE 1 #define INTERLEAVE_2 2 +#define INTERLEAVE_OPUS 13 #define NO_PREINDEX 0 #define PREINDEX 1 @@ -593,15 +607,18 @@ idx = d->i; pos = i = 0; for( s = sector_base; s < sector_base + sectors; s++ ) { - d->i = idx + ( pos + i ) * slen; + d->i = idx + pos * slen; if( id_add( d, head, track, s, sector_length >> 8, gap, CRC_OK ) ) return 1; if( data_add( d, buffer, NULL, sector_length, NO_DDAM, gap, CRC_OK, autofill ) ) return 1; pos += interleave; - if( pos >= sectors ) { - pos = 0; - i++; + if( pos >= sectors ) { /* wrap around */ + pos -= sectors; + if( pos <= i ) { /* we fill this pos already */ + pos++; /* skip one more pos */ + i++; + } } } d->i = idx + sectors * slen; @@ -783,14 +800,16 @@ } static int -open_mgt_img( buffer_t *buffer, disk_t *d ) +open_img_mgt_opd( buffer_t *buffer, disk_t *d ) { int i, j, sectors, seclen; buffer->index = 0; /* guess geometry of disk: - * 2*80*10*512, 1*80*10*512 or 1*40*10*512 */ + * 2*80*10*512, 1*80*10*512, 1*40*10*512, 1*40*18*256, 1*80*18*256, + * 2*80*18*256 + */ if( buffer->file.length == 2*80*10*512 ) { d->sides = 2; d->cylinders = 80; sectors = 10; seclen = 512; } else if( buffer->file.length == 1*80*10*512 ) { @@ -799,6 +818,14 @@ d->sides = 1; d->cylinders = 80; sectors = 10; seclen = 512; } else if( buffer->file.length == 1*40*10*512 ) { d->sides = 1; d->cylinders = 40; sectors = 10; seclen = 512; + } else if( buffer->file.length == 1*40*18*256 ) { + d->sides = 1; d->cylinders = 40; sectors = 18; seclen = 256; + } else if( buffer->file.length == 1*80*18*256 ) { + /* we cannot distinguish between a single sided 80 track image + * and a double sided 40 track image (2*40*18*256) */ + d->sides = 1; d->cylinders = 80; sectors = 18; seclen = 256; + } else if( buffer->file.length == 2*80*18*256 ) { + d->sides = 2; d->cylinders = 80; sectors = 18; seclen = 256; } else { return d->status = DISK_GEOM; } @@ -816,11 +843,14 @@ return d->status = DISK_GEOM; } } - } else { /* MGT alt */ - for( i = 0; i < d->sides * d->cylinders; i++ ) { - if( trackgen( d, buffer, i % 2, i / 2, 1, sectors, seclen, - NO_PREINDEX, GAP_MGT_PLUSD, NO_INTERLEAVE, NO_AUTOFILL ) ) - return d->status = DISK_GEOM; + } else { /* MGT / OPD alt */ + for( i = 0; i < d->cylinders; i++ ) { + for( j = 0; j < d->sides; j++ ) { + if( trackgen( d, buffer, j, i, d->type == DISK_MGT ? 1 : 0, sectors, seclen, + NO_PREINDEX, GAP_MGT_PLUSD, + d->type == DISK_MGT ? NO_INTERLEAVE : INTERLEAVE_OPUS, NO_AUTOFILL ) ) + return d->status = DISK_GEOM; + } } } @@ -1072,7 +1102,7 @@ plus3_fix = CPC_ISSUE_NONE; } trlen += seclen; - if( seclen == 0x80 ) /* every 128byte length sector padded */ + if( seclen % 0x100 ) /* every? 128/384/...byte length sector padded */ sector_pad++; } if( i < 84 ) { @@ -1106,6 +1136,7 @@ preindex_add( d, gap ); postindex_add( d, gap ); + sector_pad = 0; for( j = 0; j < hdrb[0x15]; j++ ) { /* each sector */ seclen = d->type == DISK_ECPC ? hdrb[ 0x1e + 8 * j ] + /* data length in sector */ 256 * hdrb[ 0x1f + 8 * j ] @@ -1169,10 +1200,11 @@ /* ( ( N * len ) / len - 1 ) * len */ } } - if( seclen == 0x80 ) /* every 128byte length sector padded */ - buffer->index += 0x80; + if( seclen % 0x100 ) /* every? 128/384/...byte length sector padded */ + sector_pad++; } gap4_add( d, gap ); + buffer->index += sector_pad * 0x80; } return d->status = DISK_OK; } @@ -1504,11 +1536,13 @@ d->type = DISK_UDI; open_udi( &buffer, d ); break; + case LIBSPECTRUM_ID_DISK_OPD: + d->type = DISK_OPD; case LIBSPECTRUM_ID_DISK_MGT: - d->type = DISK_MGT; + if( d->type == DISK_TYPE_NONE) d->type = DISK_MGT; case LIBSPECTRUM_ID_DISK_IMG: if( d->type == DISK_TYPE_NONE) d->type = DISK_IMG; - open_mgt_img( &buffer, d ); + open_img_mgt_opd( &buffer, d ); break; case LIBSPECTRUM_ID_DISK_SAD: d->type = DISK_SAD; @@ -1733,25 +1767,31 @@ } static int -write_img_mgt( FILE *file, disk_t *d ) +write_img_mgt_opd( FILE *file, disk_t *d ) { - int i, j, sbase, sectors, seclen, mfm; + int i, j, sbase, sectors, seclen, mfm, cyl; - if( check_disk_geom( d, &sbase, §ors, &seclen, &mfm ) || - sbase != 1 || seclen != 2 || sectors != 10 ) + if( check_disk_geom( d, &sbase, §ors, &seclen, &mfm, &cyl ) || + ( d->type != DISK_OPD && ( sbase != 1 || seclen != 2 || sectors != 10 ) ) || + ( d->type == DISK_OPD && ( sbase != 0 || seclen != 1 || sectors != 18 ) ) ) return d->status = DISK_GEOM; + if( cyl == -1 ) cyl = d->cylinders; + if( cyl != 40 && cyl != 80 ) + return d->status = DISK_GEOM; + if( d->type == DISK_IMG ) { /* out-out */ for( j = 0; j < d->sides; j++ ) { - for( i = 0; i < d->cylinders; i++ ) { + for( i = 0; i < cyl; i++ ) { if( savetrack( d, file, j, i, 1, sectors, seclen ) ) return d->status = DISK_GEOM; } } } else { /* alt */ - for( i = 0; i < d->cylinders; i++ ) { /* MGT */ + for( i = 0; i < cyl; i++ ) { /* MGT */ for( j = 0; j < d->sides; j++ ) { - if( savetrack( d, file, j, i, 1, sectors, seclen ) ) + if( savetrack( d, file, j, i, d->type == DISK_MGT ? 1 : 0, + sectors, seclen ) ) return d->status = DISK_GEOM; } } @@ -1762,12 +1802,14 @@ static int write_trd( FILE *file, disk_t *d ) { - int i, j, sbase, sectors, seclen, mfm; + int i, j, sbase, sectors, seclen, mfm, cyl; - if( check_disk_geom( d, &sbase, §ors, &seclen, &mfm ) || + if( check_disk_geom( d, &sbase, §ors, &seclen, &mfm, &cyl ) || sbase != 1 || seclen != 1 || sectors != 16 ) return d->status = DISK_GEOM; - for( i = 0; i < d->cylinders; i++ ) { + + if( cyl == -1 ) cyl = d->cylinders; + for( i = 0; i < cyl; i++ ) { for( j = 0; j < d->sides; j++ ) { if( savetrack( d, file, j, i, 1, sectors, seclen ) ) return d->status = DISK_GEOM; @@ -1779,21 +1821,22 @@ static int write_sad( FILE *file, disk_t *d ) { - int i, j, sbase, sectors, seclen, mfm; + int i, j, sbase, sectors, seclen, mfm, cyl; - if( check_disk_geom( d, &sbase, §ors, &seclen, &mfm ) || sbase != 1 ) + if( check_disk_geom( d, &sbase, §ors, &seclen, &mfm, &cyl ) || sbase != 1 ) return d->status = DISK_GEOM; + if( cyl == -1 ) cyl = d->cylinders; memcpy( head, "Aley's disk backup", 18 ); head[18] = d->sides; - head[19] = d->cylinders; + head[19] = cyl; head[20] = sectors; head[21] = seclen * 4; if( fwrite( head, 22, 1, file ) != 1 ) /* SAD head */ return d->status = DISK_WRPART; for( j = 0; j < d->sides; j++ ) { /* OUT-OUT */ - for( i = 0; i < d->cylinders; i++ ) { + for( i = 0; i < cyl; i++ ) { if( savetrack( d, file, j, i, 1, sectors, seclen ) ) return d->status = DISK_GEOM; } @@ -1894,19 +1937,21 @@ static int write_cpc( FILE *file, disk_t *d ) { - int i, j, k, sbase, sectors, seclen, mfm; + int i, j, k, sbase, sectors, seclen, mfm, cyl; int h, t, s, b; size_t len; - i = check_disk_geom( d, &sbase, §ors, &seclen, &mfm ); + i = check_disk_geom( d, &sbase, §ors, &seclen, &mfm, &cyl ); if( i & DISK_SECLEN_VARI || i & DISK_SPT_VARI ) return d->status = DISK_GEOM; if( i & DISK_MFM_VARI ) mfm = -1; + if( cyl == -1 ) cyl = d->cylinders; + memset( head, 0, 256 ); memcpy( head, "MV - CPCEMU Disk-File\r\nDisk-Info\r\n", 34 ); - head[0x30] = d->cylinders; + head[0x30] = cyl; head[0x31] = d->sides; len = sectors * ( 0x80 << seclen ) + 256; head[0x32] = len & 0xff; @@ -1916,7 +1961,7 @@ memset( head, 0, 256 ); memcpy( head, "Track-Info\r\n", 12 ); - for( i = 0; i < d->cylinders; i++ ) { + for( i = 0; i < cyl; i++ ) { for( j = 0; j < d->sides; j++ ) { d->track = d->data + ( ( d->sides * i + j ) * d->tlen ); d->clocks = d->track + d->bpt; @@ -1952,11 +1997,11 @@ static int write_scl( FILE *file, disk_t *d ) { - int i, j, k, l, t, s, sbase, sectors, seclen, mfm, del; + int i, j, k, l, t, s, sbase, sectors, seclen, mfm, del, cyl; int entries; libspectrum_dword sum = 597; /* sum of "SINCLAIR" */ - if( check_disk_geom( d, &sbase, §ors, &seclen, &mfm ) || + if( check_disk_geom( d, &sbase, §ors, &seclen, &mfm, &cyl ) || sbase != 1 || seclen != 1 || sectors != 16 ) return d->status = DISK_GEOM; @@ -2071,7 +2116,9 @@ { int i, j, k, del, rev; int h, t, s, b; + char str[17]; + str[16] = '\0'; fprintf( file, "DISK tracks log!\n" ); fprintf( file, "Sides: %d, cylinders: %d\n", d->sides, d->cylinders ); for( j = 0; j < d->cylinders; j++ ) { /* ALT :) */ @@ -2110,9 +2157,11 @@ if( !( k % 16 ) ) fprintf( file, "0x%08x:", k ); fprintf( file, " 0x%02x", d->track[ d->i ] ); + str[ k & 0x0f ] = d->track[ d->i ] >= 32 && + d->track[ d->i ] < 127 ? d->track[ d->i ] : '.'; k++; if( !( k % 16 ) ) - fprintf( file, "\n" ); + fprintf( file, " | %s\n", str ); d->i++; if( d->i >= d->bpt ) { d->i = 0; @@ -2170,6 +2219,8 @@ d->type = DISK_CPC; /* ALT side */ else if( !strcasecmp( ext, ".mgt" ) ) d->type = DISK_MGT; /* ALT side */ + else if( !strcasecmp( ext, ".opd" ) || !strcasecmp( ext, ".opu" ) ) + d->type = DISK_OPD; /* ALT side */ else if( !strcasecmp( ext, ".img" ) ) /* out-out */ d->type = DISK_IMG; else if( !strcasecmp( ext, ".trd" ) ) /* ALT */ @@ -2192,7 +2243,8 @@ break; case DISK_IMG: case DISK_MGT: - write_img_mgt( file, d ); + case DISK_OPD: + write_img_mgt_opd( file, d ); break; case DISK_TRD: write_trd( file, d ); Modified: vendor/fuse-emulator/current/fuse/disk/fdd.c =================================================================== --- vendor/fuse-emulator/current/fuse/disk/fdd.c 2009-08-01 00:40:53 UTC (rev 607) +++ vendor/fuse-emulator/current/fuse/disk/fdd.c 2009-08-01 14:01:53 UTC (rev 608) @@ -1,7 +1,7 @@ /* fdd.c: Routines for emulating floppy disk drives Copyright (c) 2007 Gergely Szasz - $Id: fdd.c 4012 2009-04-16 12:42:14Z fredm $ + $Id: fdd.c 4045 2009-07-10 13:11:12Z 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 @@ -131,6 +131,7 @@ fdd_init( fdd_t *d, fdd_type_t type, int heads, int cyls, int reinit ) { int upsidedown = d->upsidedown; + int selected = d->selected; disk_t *disk = d->disk; d->fdd_heads = d->fdd_cylinders = d->c_head = d->c_cylinder = 0; @@ -148,6 +149,7 @@ d->auto_geom = 1; d->fdd_heads = heads; d->fdd_cylinders = cyls; + if( reinit ) d->selected = selected; if( reinit && disk ) { fdd_unload( d ); fdd_load( d, disk, upsidedown ); Added: vendor/fuse-emulator/current/fuse/disk/opus.c =================================================================== --- vendor/fuse-emulator/current/fuse/disk/opus.c (rev 0) +++ vendor/fuse-emulator/current/fuse/disk/opus.c 2009-08-01 14:01:53 UTC (rev 608) @@ -0,0 +1,725 @@ +/* opus.c: Routines for handling the Opus Discovery interface + Copyright (c) 1999-2009 Stuart Brady, Fredrick Meunier, Philip Kendall, + Dmitry Sanarin, Darren Salt, Michael D Wynne, Gergely Szasz + + $Id: opus.c 4012 2009-04-16 12:42:14Z 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 + 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: + + Philip: phi...@sh... + + Stuart: sd...@nt... + +*/ + +#include <config.h> + +#include <libspectrum.h> + +#include <string.h> + +#include "compat.h" +#include "machine.h" +#include "module.h" +#include "opus.h" +#include "printer.h" +#include "settings.h" +#include "ui/ui.h" +#include "wd_fdc.h" +#include "options.h" /* needed for get combo options */ +#include "z80/z80.h" + +#define DISK_TRY_MERGE(heads) ( option_enumerate_diskoptions_disk_try_merge() == 2 || \ + ( option_enumerate_diskoptions_disk_try_merge() == 1 && heads == 1 ) ) + +int opus_available = 0; +int opus_active = 0; + +static int opus_index_pulse; + +static int index_event; + +#define OPUS_NUM_DRIVES 2 + +static wd_fdc *opus_fdc; +static wd_fdc_drive opus_drives[ OPUS_NUM_DRIVES ]; + +static libspectrum_byte opus_ram[ 0x800 ]; + +/* 6821 PIA internal registers */ +static libspectrum_byte data_reg_a, data_dir_a, control_a; +static libspectrum_byte data_reg_b, data_dir_b, control_b; + +static void opus_reset( int hard_reset ); +static void opus_memory_map( void ); +static void opus_enabled_snapshot( libspectrum_snap *snap ); +static void opus_from_snapshot( libspectrum_snap *snap ); +static void opus_to_snapshot( libspectrum_snap *snap ); +static void opus_event_index( libspectrum_dword last_tstates, int type, + void *user_data ); + +static module_info_t opus_module_info = { + + opus_reset, + opus_memory_map, + opus_enabled_snapshot, + opus_from_snapshot, + opus_to_snapshot, + +}; + +void +opus_page( void ) +{ + opus_active = 1; + machine_current->ram.romcs = 1; + machine_current->memory_map(); +} + +void +opus_unpage( void ) +{ + opus_active = 0; + machine_current->ram.romcs = 0; + machine_current->memory_map(); +} + +static void +opus_memory_map( void ) +{ + if( !opus_active ) return; + + memory_map_read[ 0 ] = memory_map_write[ 0 ] = memory_map_romcs[ 0 ]; + memory_map_read[ 1 ] = memory_map_write[ 1 ] = memory_map_romcs[ 1 ]; +} + +static void +opus_set_datarq( struct wd_fdc *f ) +{ + event_add( 0, z80_nmi_event ); +} + +int +opus_init( void ) +{ + int i; + wd_fdc_drive *d; + + opus_fdc = wd_fdc_alloc_fdc( WD1770, 0, WD_FLAG_OPUS ); + + for( i = 0; i < OPUS_NUM_DRIVES; i++ ) { + d = &opus_drives[ i ]; + fdd_init( &d->fdd, FDD_SHUGART, 0, 0, 0 ); /* drive geometry 'autodetect' */ + d->disk.flag = DISK_FLAG_NONE; + } + + opus_fdc->current_drive = &opus_drives[ 0 ]; + fdd_select( &opus_drives[ 0 ].fdd, 1 ); + opus_fdc->dden = 1; + opus_fdc->set_intrq = NULL; + opus_fdc->reset_intrq = NULL; + opus_fdc->set_datarq = opus_set_datarq; + opus_fdc->reset_datarq = NULL; + opus_fdc->iface = NULL; + + index_event = event_register( opus_event_index, "Opus index" ); + + module_register( &opus_module_info ); + + return 0; +} + +static void +opus_reset( int hard_reset ) +{ + int i; + wd_fdc_drive *d; + const fdd_params_t *dt; + + opus_active = 0; + opus_available = 0; + + event_remove_type( index_event ); + + if( !periph_opus_active ) + return; + + machine_load_rom_bank( memory_map_romcs, 0, 0, + settings_current.rom_opus, + settings_default.rom_opus, 0x2000 ); + + memory_map_romcs[0].source = MEMORY_SOURCE_PERIPHERAL; + + memory_map_romcs[1].page = opus_ram; + memory_map_romcs[1].source = MEMORY_SOURCE_PERIPHERAL; + + machine_current->ram.romcs = 0; + + memory_map_romcs[ 0 ].writable = 0; + memory_map_romcs[ 1 ].writable = 1; + + data_reg_a = 0; + data_dir_a = 0; + control_a = 0; + data_reg_b = 0; + data_dir_b = 0; + control_b = 0; + + opus_available = 1; + opus_index_pulse = 0; + + if( hard_reset ) + memset( opus_ram, 0, 0x800 ); + + wd_fdc_master_reset( opus_fdc ); + + for( i = 0; i < OPUS_NUM_DRIVES; i++ ) { + d = &opus_drives[ i ]; + + d->index_pulse = 0; + d->index_interrupt = 0; + } + + /* We can eject disks only if they are currently present */ + dt = &fdd_params[ option_enumerate_diskoptions_drive_opus1_type() + 1 ]; /* +1 => there is no `Disabled' */ + fdd_init( &opus_drives[ OPUS_DRIVE_1 ].fdd, FDD_SHUGART, + dt->heads, dt->cylinders, 1 ); + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_1, dt->enabled ); + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_1_EJECT, + opus_drives[ OPUS_DRIVE_1 ].fdd.loaded ); + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_1_FLIP_SET, + !opus_drives[ OPUS_DRIVE_1 ].fdd.upsidedown ); + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_1_WP_SET, + !opus_drives[ OPUS_DRIVE_1 ].fdd.wrprot ); + + + dt = &fdd_params[ option_enumerate_diskoptions_drive_opus2_type() ]; + fdd_init( &opus_drives[ OPUS_DRIVE_2 ].fdd, dt->enabled ? FDD_SHUGART : FDD_TYPE_NONE, + dt->heads, dt->cylinders, 1 ); + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_2, dt->enabled ); + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_2_EJECT, + opus_drives[ OPUS_DRIVE_2 ].fdd.loaded ); + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_2_FLIP_SET, + !opus_drives[ OPUS_DRIVE_2 ].fdd.upsidedown ); + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_2_WP_SET, + !opus_drives[ OPUS_DRIVE_2 ].fdd.wrprot ); + + + opus_fdc->current_drive = &opus_drives[ 0 ]; + fdd_select( &opus_drives[ 0 ].fdd, 1 ); + machine_current->memory_map(); + opus_event_index( 0, index_event, NULL ); + + ui_statusbar_update( UI_STATUSBAR_ITEM_DISK, UI_STATUSBAR_STATE_INACTIVE ); +} + +void +opus_end( void ) +{ + opus_available = 0; +} + +/* + * opus_6821_access( reg, data, dir ) + * + * reg - register to access: + * + * data - if dir = 1 the value being written else ignored + * + * dir - direction of data. 0 = read, 1 = write + * + * returns: value of register if dir = 0 else 0 + * + * Mostly borrowed from EightyOne - A Windows ZX80/81/clone emulator + */ + +static libspectrum_byte +opus_6821_access( libspectrum_byte reg, libspectrum_byte data, + libspectrum_byte dir ) +{ + int drive, side; + int i; + + switch( reg & 0x03 ) { + case 0: + if( dir ) { + if( control_a & 0x04 ) { + data_reg_a = data; + + drive = ( data & 0x02 ) == 2 ? 1 : 0; + side = ( data & 0x10 )>>4 ? 1 : 0; + + for( i = 0; i < OPUS_NUM_DRIVES; i++ ) { + fdd_set_head( &opus_drives[ i ].fdd, side ); + } + + fdd_select( &opus_drives[ (!drive) ].fdd, 0 ); + fdd_select( &opus_drives[ drive ].fdd, 1 ); + + if( opus_fdc->current_drive != &opus_drives[ drive ] ) { + if( opus_fdc->current_drive->fdd.motoron ) { /* swap motoron */ + fdd_motoron( &opus_drives[ (!drive) ].fdd, 0 ); + fdd_motoron( &opus_drives[ drive ].fdd, 1 ); + } + opus_fdc->current_drive = &opus_drives[ drive ]; + } + } else { + data_dir_a = data; + } + } else { + if( control_a & 0x04 ) { + /* printer never busy (bit 6) */ + data_reg_a &= ~0x40; + return data_reg_a; + } else { + return data_dir_a; + } + } + break; + case 1: + if( dir ) { + control_a = data; + } else { + /* Always return bit 6 set to ACK parallel port actions */ + return control_a | 0x40; + } + break; + case 2: + if( dir ) { + if( control_b & 0x04 ) { + data_reg_b = data; + printer_parallel_write( 0x00, data ); + /* Don't worry about emulating the strobes from the ROM, they are + all bound up with checking current printer busy status which we + don't emulate, so just send the char now */ + printer_parallel_strobe_write( 0 ); + printer_parallel_strobe_write( 1 ); + printer_parallel_strobe_write( 0 ); + } else { + data_dir_b = data; + } + } else { + if( control_b & 0x04 ) { + return data_reg_b; + } else { + return data_dir_b; + } + } + break; + case 3: + if( dir ) { + control_b = data; + } else { + return control_b; + } + break; + } + + return 0; +} + +int +opus_disk_insert( opus_drive_number which, const char *filename, + int autoload ) +{ + int error; + wd_fdc_drive *d; + const fdd_params_t *dt; + + if( which >= OPUS_NUM_DRIVES ) { + ui_error( UI_ERROR_ERROR, "opus_disk_insert: unknown drive %d", + which ); + fuse_abort(); + } + + d = &opus_drives[ which ]; + + /* Eject any disk already in the drive */ + if( d->fdd.loaded ) { + /* Abort the insert if we want to keep the current disk */ + if( opus_disk_eject( which, 0 ) ) return 0; + } + + if( filename ) { + error = disk_open( &d->disk, filename, 0, DISK_TRY_MERGE( d->fdd.fdd_heads ) ); + if( error != DISK_OK ) { + ui_error( UI_ERROR_ERROR, "Failed to open disk image: %s", + disk_strerror( error ) ); + return 1; + } + } else { + switch( which ) { + case 0: + /* +1 => there is no `Disabled' */ + dt = &fdd_params[ option_enumerate_diskoptions_drive_opus1_type() + 1 ]; + break; + case 1: + default: + dt = &fdd_params[ option_enumerate_diskoptions_drive_opus2_type() ]; + break; + } + error = disk_new( &d->disk, dt->heads, dt->cylinders, DISK_DENS_AUTO, DISK_UDI ); + if( error != DISK_OK ) { + ui_error( UI_ERROR_ERROR, "Failed to create disk image: %s", + disk_strerror( error ) ); + return 1; + } + } + + fdd_load( &d->fdd, &d->disk, 0 ); + + /* Set the 'eject' item active */ + switch( which ) { + case OPUS_DRIVE_1: + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_1_EJECT, 1 ); + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_1_FLIP_SET, + !opus_drives[ OPUS_DRIVE_1 ].fdd.upsidedown ); + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_1_WP_SET, + !opus_drives[ OPUS_DRIVE_1 ].fdd.wrprot ); + break; + case OPUS_DRIVE_2: + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_2_EJECT, 1 ); + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_2_FLIP_SET, + !opus_drives[ OPUS_DRIVE_2 ].fdd.upsidedown ); + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_2_WP_SET, + !opus_drives[ OPUS_DRIVE_2 ].fdd.wrprot ); + break; + } + + if( filename && autoload ) { + /* XXX */ + } + + return 0; +} + +int +opus_disk_eject( opus_drive_number which, int write ) +{ + wd_fdc_drive *d; + + if( which >= OPUS_NUM_DRIVES ) + return 1; + + d = &opus_drives[ which ]; + + if( d->disk.type == DISK_TYPE_NONE ) + return 0; + + if( write ) { + + if( ui_opus_disk_write( which ) ) return 1; + + } else { + + if( d->disk.dirty ) { + + ui_confirm_save_t confirm = ui_confirm_save( + "Disk in Opus Discovery drive %c has been modified.\n" + "Do you want to save it?", + which == OPUS_DRIVE_1 ? '1' : '2' + ); + + switch( confirm ) { + + case UI_CONFIRM_SAVE_SAVE: + if( ui_opus_disk_write( which ) ) return 1; + break; + + case UI_CONFIRM_SAVE_DONTSAVE: break; + case UI_CONFIRM_SAVE_CANCEL: return 1; + + } + } + } + + fdd_unload( &d->fdd ); + disk_close( &d->disk ); + + /* Set the 'eject' item inactive */ + switch( which ) { + case OPUS_DRIVE_1: + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_1_EJECT, 0 ); + break; + case OPUS_DRIVE_2: + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_2_EJECT, 0 ); + break; + } + return 0; +} + +int +opus_disk_flip( opus_drive_number which, int flip ) +{ + wd_fdc_drive *d; + + if( which >= OPUS_NUM_DRIVES ) + return 1; + + d = &opus_drives[ which ]; + + if( !d->fdd.loaded ) + return 1; + + fdd_flip( &d->fdd, flip ); + + /* Update the 'write flip' menu item */ + switch( which ) { + case OPUS_DRIVE_1: + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_1_FLIP_SET, + !opus_drives[ OPUS_DRIVE_1 ].fdd.upsidedown ); + break; + case OPUS_DRIVE_2: + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_2_FLIP_SET, + !opus_drives[ OPUS_DRIVE_2 ].fdd.upsidedown ); + break; + } + return 0; +} + +int +opus_disk_writeprotect( opus_drive_number which, int wrprot ) +{ + wd_fdc_drive *d; + + if( which >= OPUS_NUM_DRIVES ) + return 1; + + d = &opus_drives[ which ]; + + if( !d->fdd.loaded ) + return 1; + + fdd_wrprot( &d->fdd, wrprot ); + + /* Update the 'write protect' menu item */ + switch( which ) { + case OPUS_DRIVE_1: + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_1_WP_SET, + !opus_drives[ OPUS_DRIVE_1 ].fdd.wrprot ); + break; + case OPUS_DRIVE_2: + ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_OPUS_2_WP_SET, + !opus_drives[ OPUS_DRIVE_2 ].fdd.wrprot ); + break; + } + return 0; +} + +int +opus_disk_write( opus_drive_number which, const char *filename ) +{ + wd_fdc_drive *d = &opus_drives[ which ]; + int error; + + d->disk.type = DISK_TYPE_NONE; + error = disk_write( &d->disk, filename ); + + if( error != DISK_OK ) { + ui_error( UI_ERROR_ERROR, "couldn't write '%s' file: %s", filename, + disk_strerror( error ) ); + return 1; + } + + return 0; +} + +fdd_t * +opus_get_fdd( opus_drive_number which ) +{ + return &( opus_drives[ which ].fdd ); +} + +static void +opus_event_index( libspectrum_dword last_tstates, int type GCC_UNUSED, + void *user_data GCC_UNUSED ) +{ + int next_tstates; + int i; + + opus_index_pulse = !opus_index_pulse; + for( i = 0; i < OPUS_NUM_DRIVES; i++ ) { + wd_fdc_drive *d = &opus_drives[ i ]; + + d->index_pulse = opus_index_pulse; + if( !opus_index_pulse && d->index_interrupt ) { + wd_fdc_set_intrq( opus_fdc ); + d->index_interrupt = 0; + } + } + next_tstates = ( opus_index_pulse ? 10 : 190 ) * + machine_current->timings.processor_speed / 1000; + event_add( last_tstates + next_tstates, index_event ); +} + +libspectrum_byte +opus_read( libspectrum_word address ) +{ + libspectrum_byte data = 0xff; + + if( address >= 0x3800 ) data = 0xff; /* Undefined on Opus */ + else if( address >= 0x3000 ) /* 6821 PIA */ + data = opus_6821_access( address, 0, 0 ); + else if( address >= 0x2800 ) { /* WD1770 FDC */ + switch( address & 0x03 ) { + case 0: + data = wd_fdc_sr_read( opus_fdc ); + break; + case 1: + data = wd_fdc_tr_read( opus_fdc ); + break; + case 2: + data = wd_fdc_sec_read( opus_fdc ); + break; + case 3: + data = wd_fdc_dr_read( opus_fdc ); + break; + } + } + + return data; +} + +void +opus_write( libspectrum_word address, libspectrum_byte b ) +{ + if( address < 0x2000 ) return; + if( address >= 0x3800 ) return; + + if( address >= 0x3000 ) { + opus_6821_access( address, b, 1 ); + } else if( address >= 0x2800 ) { + switch( address & 0x03 ) { + case 0: + wd_fdc_cr_write( opus_fdc, b ); + break; + case 1: + wd_fdc_tr_write( opus_fdc, b ); + break; + case 2: + wd_fdc_sec_write( opus_fdc, b ); + break; + case 3: + wd_fdc_dr_write( opus_fdc, b ); + break; + } + } +} + +static libspectrum_byte * +alloc_and_copy_page( libspectrum_byte* source_page ) +{ + libspectrum_byte *buffer; + buffer = malloc( MEMORY_PAGE_SIZE ); + if( !buffer ) { + ui_error( UI_ERROR_ERROR, "Out of memory at %s:%d", __FILE__, + __LINE__ ); + return 0; + } + + memcpy( buffer, source_page, MEMORY_PAGE_SIZE ); + return buffer; +} + +static void +opus_enabled_snapshot( libspectrum_snap *snap ) +{ + if( libspectrum_snap_opus_active( snap ) ) + settings_current.opus = 1; +} + +static void +opus_from_snapshot( libspectrum_snap *snap ) +{ + if( !libspectrum_snap_opus_active( snap ) ) return; + + if( libspectrum_snap_opus_custom_rom( snap ) && + libspectrum_snap_opus_rom( snap, 0 ) && + machine_load_rom_bank_from_buffer( + memory_map_romcs, 0, 0, + libspectrum_snap_opus_rom( snap, 0 ), + MEMORY_PAGE_SIZE, + 1 ) ) + return; + + if( libspectrum_snap_opus_ram( snap, 0 ) ) { + memcpy( opus_ram, + libspectrum_snap_opus_ram( snap, 0 ), 0x800 ); + } + + /* ignore drive count for now, there will be an issue with loading snaps where + drives have been disabled + libspectrum_snap_opus_drive_count( snap ) + */ + + opus_fdc->direction = libspectrum_snap_opus_direction( snap ); + + wd_fdc_cr_write ( opus_fdc, libspectrum_snap_opus_status ( snap ) ); + wd_fdc_tr_write ( opus_fdc, libspectrum_snap_opus_track ( snap ) ); + wd_fdc_sec_write( opus_fdc, libspectrum_snap_opus_sector ( snap ) ); + wd_fdc_dr_write ( opus_fdc, libspectrum_snap_opus_data ( snap ) ); + data_reg_a = libspectrum_snap_opus_data_reg_a( snap ); + data_dir_a = libspectrum_snap_opus_data_dir_a( snap ); + control_a = libspectrum_snap_opus_control_a ( snap ); + data_reg_b = libspectrum_snap_opus_data_reg_b( snap ); + data_dir_b = libspectrum_snap_opus_data_dir_b( snap ); + control_b = libspectrum_snap_opus_control_b ( snap ); + + if( libspectrum_snap_opus_paged( snap ) ) { + opus_page(); + } else { + opus_unpage(); + } +} + +static void +opus_to_snapshot( libspectrum_snap *snap GCC_UNUSED ) +{ + libspectrum_byte *buffer; + int drive_count = 0; + + if( !periph_opus_active ) return; + + libspectrum_snap_set_opus_active( snap, 1 ); + + buffer = alloc_and_copy_page( memory_map_romcs[0].page ); + if( !buffer ) return; + libspectrum_snap_set_opus_rom( snap, 0, buffer ); + if( memory_map_romcs[0].source == MEMORY_SOURCE_CUSTOMROM ) + libspectrum_snap_set_opus_custom_rom( snap, 1 ); + + buffer = alloc_and_copy_page( opus_ram ); + if( !buffer ) return; + libspectrum_snap_set_opus_ram( snap, 0, buffer ); + + drive_count++; /* Drive 1 is not removable */ + if( option_enumerate_diskoptions_drive_opus2_type() > 0 ) drive_count++; + libspectrum_snap_set_opus_drive_count( snap, drive_count ); + + libspectrum_snap_set_opus_paged ( snap, opus_active ); + libspectrum_snap_set_opus_direction ( snap, opus_fdc->direction ); + libspectrum_snap_set_opus_status ( snap, opus_fdc->status_register ); + libspectrum_snap_set_opus_track ( snap, opus_fdc->track_register ); + libspectrum_snap_set_opus_sector ( snap, opus_fdc->sector_register ); + libspectrum_snap_set_opus_data ( snap, opus_fdc->data_register ); + libspectrum_snap_set_opus_data_reg_a( snap, data_reg_a ); + libspectrum_snap_set_opus_data_dir_a( snap, data_dir_a ); + libspectrum_snap_set_opus_control_a ( snap, control_a ); + libspectrum_snap_set_opus_data_reg_b( snap, data_reg_b ); + libspectrum_snap_set_opus_data_dir_b( snap, data_dir_b ); + libspectrum_snap_set_opus_control_b ( snap, control_b ); +} Added: vendor/fuse-emulator/current/fuse/disk/opus.h =================================================================== --- vendor/fuse-emulator/current/fuse/disk/opus.h (rev 0) +++ vendor/fuse-emulator/current/fuse/disk/opus.h 2009-08-01 14:01:53 UTC (rev 608) @@ -0,0 +1,65 @@ +/* opus.h: Routines for handling the Opus Discovery interface + Copyright (c) 2005-2009 Stuart Brady, Fredrick Meunier + + $Id: opus.h 4012 2009-04-16 12:42:14Z 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 + 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: + + Philip: phi...@sh... + + Stuart: sd...@nt... + +*/ + +#ifndef FUSE_OPUS_H +#define FUSE_OPUS_H + +#include <config.h> + +typedef enum opus_drive_number { + OPUS_DRIVE_1 = 0, + OPUS_DRIVE_2, +} opus_drive_number; + +#include <libspectrum.h> + +#include "periph.h" +#include "disk/fdd.h" + +extern int opus_available; /* Is the Opus available for use? */ +extern int opus_active; /* Opus enabled? */ + +int opus_init( void ); +void opus_end( void ); + +void opus_page( void ); +void opus_unpage( void ); + +libspectrum_byte opus_read( libspectrum_word address ); +void opus_write( libspectrum_word address, libspectrum_byte b ); + +libspectrum_byte opus_joy_read( libspectrum_word port, int *attached ); + +int opus_disk_insert( opus_drive_number which, const char *filename, + int autoload ); +int opus_disk_eject( opus_drive_number which, int write ); +int opus_disk_write( opus_drive_number which, const char *filename ); +int opus_disk_flip( opus_drive_number which, int flip ); +int opus_disk_writeprotect( opus_drive_number which, int wrprot ); +fdd_t *opus_get_fdd( opus_drive_number which ); + +#endif /* #ifndef FUSE_OPUS_H */ Modified: vendor/fuse-emulator/current/fuse/disk/plusd.c =================================================================== --- vendor/fuse-emulator/current/fuse/disk/plusd.c 2009-08-01 00:40:53 UTC (rev 607) +++ vendor/fuse-emulator/current/fuse/disk/plusd.c 2009-08-01 14:01:53 UTC (rev 608) @@ -2,7 +2,7 @@ Copyright (c) 1999-2007 Stuart Brady, Fredrick Meunier, Philip Kendall, Dmitry Sanarin, Darren Salt - $Id: plusd.c 4012 2009-04-16 12:42:14Z fredm $ + $Id: plusd.c 4060 2009-07-30 13:21:38Z fredm $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -654,8 +654,13 @@ libspectrum_snap_plusd_ram( snap, 0 ), 0x2000 ); } - plusd_fdc->direction = libspectrum_snap_beta_direction( snap ); + /* ignore drive count for now, there will be an issue with loading snaps where + drives have been disabled + libspectrum_snap_plusd_drive_count( snap ) + */ + plusd_fdc->direction = libspectrum_snap_plusd_direction( snap ); + plusd_cr_write ( 0x00e3, libspectrum_snap_plusd_status ( snap ) ); plusd_tr_write ( 0x00eb, libspectrum_snap_plusd_track ( snap ) ); plusd_sec_write( 0x00f3, libspectrum_snap_plusd_sector ( snap ) ); @@ -673,6 +678,7 @@ plusd_to_snapshot( libspectrum_snap *snap GCC_UNUSED ) { libspectrum_byte *buffer; + int drive_count = 0; if( !periph_plusd_active ) return; @@ -688,6 +694,10 @@ if( !buffer ) return; libspectrum_snap_set_plusd_ram( snap, 0, buffer ); + drive_count++; /* Drive 1 is not removable */ + if( option_enumerate_diskoptions_drive_plusd2_type() > 0 ) drive_count++; + libspectrum_snap_set_plusd_drive_count( snap, drive_count ); + libspectrum_snap_set_plusd_paged ( snap, plusd_active ); libspectrum_snap_set_plusd_direction( snap, plusd_fdc->direction ); libspectrum_snap_set_plusd_status( snap, plusd_fdc->status_register ); Modified: vendor/fuse-emulator/current/fuse/disk/wd_fdc.c =================================================================== --- vendor/fuse-emulator/current/fuse/disk/wd_fdc.c 2009-08-01 00:40:53 UTC (rev 607) +++ vendor/fuse-emulator/current/fuse/disk/wd_fdc.c 2009-08-01 14:01:53 UTC (rev 608) @@ -2,7 +2,7 @@ Copyright (c) 2002-2007 Stuart Brady, Fredrick Meunier, Philip Kendall, Dmitry Sanarin, Gergely Szasz - $Id: wd_fdc.c 3681 2008-06-16 09:40:29Z pak21 $ + $Id: wd_fdc.c 4060 2009-07-30 13:21:38Z fredm $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -74,6 +74,12 @@ f->spin_cycles = 0; f->direction = 0; f->head_load = 0; + if( d ) { + if( f->flags & WD_FLAG_BETA128 ) + fdd_motoron( &d->fdd, 0 ); + else + fdd_head_load( &d->fdd, 0 ); + } f->read_id = 0; if( f->hlt_time > 0 ) f->hlt = 0; f->intrq = 0; @@ -214,14 +220,14 @@ wd_fdc_drive *d = f->current_drive; f->id_mark = WD_FDC_AM_NONE; - + if( f->rev <= 0 ) return 1; while( i == f->rev ) { crc_preset( f ); if( f->dden ) { /* double density (MFM) */ - fdd_read_write_data( &d->fdd, FDD_READ ); + fdd_read_write_data( &d->fdd, FDD_READ ); if( d->fdd.index ) f->rev--; crc_add(f, d); if( d->fdd.data == 0xffa1 ) { @@ -391,7 +397,7 @@ { int i; f->read_id = 1; - + event_remove_type( fdc_event ); if( f->id_mark == WD_FDC_AM_NONE ) { while( f->rev ) { @@ -438,8 +444,8 @@ } if( f->head_load ) f->status_register |= WD_FDC_SR_SPINUP; - /* when set, it indicates head is loaded and enganged. - This bit is logical "and" of HLD and "HLT" signals. */ + /* when set, it indicates head is loaded and enganged. + This bit is logical "and" of HLD and "HLT" signals. */ } if( d->fdd.tr00 ) @@ -504,6 +510,7 @@ type_i_verify: if( b & 0x04 ) { + if( f->type == WD1773 || f->type == FD1793 ) { f->head_load = 1; event_remove_type( motor_off_event ); @@ -513,22 +520,27 @@ fdd_head_load( &f->current_drive->fdd, 1 ); event_remove_type( fdc_event ); event_add_with_data( tstates + 15 * /* 15ms */ - machine_current->timings.processor_speed / 1000, + machine_current->timings.processor_speed / 1000, fdc_event, f ); statusbar_update( 1 ); } + f->state = WD_FDC_STATE_VERIFY; + if( ( f->type == WD1770 || f->type == WD1772 ) && !( f->status_register & WD_FDC_SR_MOTORON ) ) { f->status_register |= WD_FDC_SR_MOTORON; + fdd_motoron( &f->current_drive->fdd, 1 ); statusbar_update( 1 ); delay = 6 * 200; event_remove_type( fdc_event ); event_add_with_data( tstates + 12 * /* 6 revolution 6 * 200 / 1000 */ - machine_current->timings.processor_speed / 10, + machine_current->timings.processor_speed / 10, fdc_event, f ); + return; } - f->state = WD_FDC_STATE_VERIFY; + + wd_fdc_seek_verify( f ); return; } @@ -771,23 +783,27 @@ statusbar_update( 0 ); return; } - + if( ( f->type == WD1773 || f->type == FD1793 ) && f->hlt_time > 0 && f->head_load && !f->hlt ) f->hlt = 1; if( ( ( f->type == WD1770 || f->type == WD1772 ) && - ( f->status_register & WD_FDC_SR_MOTORON ) ) || + ( f->status_register & WD_FDC_SR_MOTORON ) && + f->status_type == WD_FDC_STATUS_TYPE1 ) || ( ( f->type == WD1773 || f->type == FD1793 ) && ( f->state == WD_FDC_STATE_SEEK || f->state == WD_FDC_STATE_SEEK_DELAY ) && f->head_load ) ) { f->status_register |= WD_FDC_SR_SPINUP; } - + if( f->read_id ) { if( f->state == WD_FDC_STATE_VERIFY ) wd_fdc_seek_verify_read_id( f ); + else if( ( f->state == WD_FDC_STATE_READ || f->state == WD_FDC_STATE_WRITE ) && + f->datarq ) + f->datarq = 0, wd_fdc_set_datarq( f ); else if( f->state == WD_FDC_STATE_READ || f->state == WD_FDC_STATE_WRITE ) wd_fdc_type_ii_seek( f ); else if( f->state == WD_FDC_STATE_READID ) @@ -796,8 +812,16 @@ wd_fdc_type_i( f ); else if( f->state == WD_FDC_STATE_VERIFY ) wd_fdc_seek_verify( f ); + else if( ( f->state == WD_FDC_STATE_READ || f->state == WD_FDC_STATE_WRITE ) && + f->datarq ) + f->datarq = 0, wd_fdc_set_datarq( f ); else if( f->state == WD_FDC_STATE_READ || f->state == WD_FDC_STATE_WRITE ) wd_fdc_type_ii( f ); + else if( ( f->state == WD_FDC_STATE_READTRACK || + f->state == WD_FDC_STATE_READID || + f->state == WD_FDC_STATE_WRITETRACK ) && + f->datarq ) + f->datarq = 0, wd_fdc_set_datarq( f ); else if( f->state == WD_FDC_STATE_READTRACK || f->state == WD_FDC_STATE_READID || f->state == WD_FDC_STATE_WRITETRACK ) @@ -986,6 +1010,10 @@ { wd_fdc_drive *d = f->current_drive; + if( f->flags & WD_FLAG_OPUS && + f->status_register & WD_FDC_SR_BUSY ) + event_remove_type( fdc_event ); + if( f->state == WD_FDC_STATE_READ ) { f->data_offset++; /* count read bytes */ fdd_read_write_data( &d->fdd, FDD_READ ); crc_add(f, d); /* read a byte */ @@ -1072,6 +1100,12 @@ wd_fdc_reset_datarq( f ); } } + if( ( f->flags & WD_FLAG_OPUS ) && + ( f->status_register & WD_FDC_SR_BUSY ) ) { /* we need a next datarq */ + event_add_with_data( tstates + 30 * /* 30 us delay */ + machine_current->timings.processor_speed / 1000000, + fdc_event, f ); + } return f->data_register; } @@ -1153,4 +1187,11 @@ wd_fdc_reset_datarq( f ); } } + if( ( f->flags & WD_FLAG_OPUS ) && + f->status_register & WD_FDC_SR_BUSY ) { /* we need a next datarq */ +// wd_fdc_reset_datarq( f ); + event_add_with_data( tstates + 30 * /* 30 us delay */ + machine_current->timings.processor_speed / 1000000, + fdc_event, f ); + } } Modified: vendor/fuse-emulator/current/fuse/disk/wd_fdc.h =================================================================== --- vendor/fuse-emulator/current/fuse/disk/wd_fdc.h 2009-08-01 00:40:53 UTC (rev 607) +++ vendor/fuse-emulator/current/fuse/disk/wd_fdc.h 2009-08-01 14:01:53 UTC (rev 608) @@ -2,7 +2,7 @@ Copyright (c) 2003-2007 Stuart Brady, Fredrick Meunier, Philip Kendall, Gergely Szasz - $Id: wd_fdc.h 3681 2008-06-16 09:40:29Z pak21 $ + $Id: wd_fdc.h 4060 2009-07-30 13:21:38Z fredm $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -47,6 +47,7 @@ static const int WD_FLAG_NONE = 0; static const int WD_FLAG_BETA128 = 1<<0; /* Beta128 connects HLD output pin to READY input pin and MOTOR ON pin on FDD interface */ +static const int WD_FLAG_OPUS = 1<<1; /* Opus Discovery need `datarq' line for every byte */ typedef enum wd_type_t { WD1773 = 0, /* WD1773 */ @@ -70,7 +71,7 @@ wd_fdc_drive *current_drive; wd_type_t type; /* WD1770, WD1772, WD1773 */ - + int rates[ 4 ]; int spin_cycles; fdd_dir_t direction; /* 0 = spindlewards, 1 = rimwards */ Modified: vendor/fuse-emulator/current/fuse/fuse.c =================================================================== --- vendor/fuse-emulator/current/fuse/fuse.c 2009-08-01 00:40:53 UTC (rev 607) +++ vendor/fuse-emulator/current/fuse/fuse.c 2009-08-01 14:01:53 UTC (rev 608) @@ -1,7 +1,7 @@ /* fuse.c: The Free Unix Spectrum Emulator Copyright (c) 1999-2009 Philip Kendall - $Id: fuse.c 4032 2009-06-10 11:09:44Z fredm $ + $Id: fuse.c 4060 2009-07-30 13:21:38Z fredm $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -111,6 +111,7 @@ typedef struct start_files_t { const char *disk_plus3; + const char *disk_opus; const char *disk_plusd; const char *disk_beta; const char *dock; @@ -278,6 +279,7 @@ if( rzx_init() ) return 1; if( psg_init() ) return 1; if( beta_init() ) return 1; + if( opus_init() ) return 1; if( plusd_init() ) return 1; if( fdd_init_events() ) return 1; if( simpleide_init() ) return 1; @@ -483,6 +485,7 @@ setup_start_files( start_files_t *start_files ) { 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_beta = settings_current.betadisk_file; start_files->dock = settings_current.dck_file; @@ -570,6 +573,9 @@ case LIBSPECTRUM_CLASS_DISK_PLUS3: start_files->disk_plus3 = filename; break; + case LIBSPECTRUM_CLASS_DISK_OPUS: + start_files->disk_opus = filename; break; + case LIBSPECTRUM_CLASS_DISK_PLUSD: start_files->disk_plusd = filename; break; @@ -590,6 +596,8 @@ start_files->disk_beta = filename; else if( periph_plusd_active ) start_files->disk_plusd = filename; + else if( periph_opus_active ) + start_files->disk_opus = filename; } break; @@ -689,6 +697,11 @@ if( error ) return error; } + if( start_files->disk_opus ) { + error = utils_open_file( start_files->disk_opus, autoload, NULL ); + if( error ) return error; + } + if( start_files->disk_beta ) { error = utils_open_file( start_files->disk_beta, autoload, NULL ); if( error ) return error; @@ -802,6 +815,7 @@ zxcf_end(); if1_end(); divide_end(); + opus_end(); plusd_end(); machine_end(); Modified: vendor/fuse-emulator/current/fuse/hacking/ChangeLog =================================================================== --- vendor/fuse-emulator/current/fuse/hacking/ChangeLog 2009-08-01 00:40:53 UTC (rev 607) +++ vendor/fuse-emulator/current/fuse/hacking/ChangeLog 2009-08-01 14:01:53 UTC (rev 608) @@ -3164,3 +3164,21 @@ UNIX file compat routines to use the C standard file I/O, switch Wii to use the UNIX file routines (patch #2808481) (Gergely Szasz). 20090627 display.c: mark pentagon_16c_get_colour as inline and static (Fred). +20090706 machines/pentagon1024.c: initialise memory port before doing + periph_update as that triggers a memory map call (Fred). +20090707 AUTHORS: Add Shay Green (Fred). +20090707 ChangeLog: chuck in a few entries as we go, mostly OS X port visible + items at the moment (Fred). +20090710 disk/{fdd.c,wd_fdc.c}: save disk selected status over reset and + reset motor or head when resetting WD FDC to fix Mr Gluck ROM handling + on reset with a disk present (patch #2819220) (Gergely Szasz). +20090730 AUTHORS,ChangeLog,README, + disk/{Makefile.am,beta.c,disk.c,opus.[ch],plusd.c,wd_fdc.[ch]},fuse.c, + machines/{spec128.c,spec16.c,spec48.c,spec_se.c,specplus2.c,tc2048.c}, + man/fuse.1,memory.c,menu.[ch],menu_data.dat,periph.[ch], + roms/Makefile.am,roms/opus.rom,settings.dat,tape.c,ui.c,ui/options.dat, + ui/sdl/sdldisplay.c,ui/ui.h,utils.c,z80/coretest.c,z80/z80_checks.h, + z80/z80_ops.c: add Opus Discovery support (patch #2823760) (Gergely + Szasz and Fredrick Meunier). +20090731 disk/disk.c: tweak sector padding to fix ATC+Techonicn Ted.dsk Opus + disk (thanks, Simon Owen) (Gergely Szasz). Modified: vendor/fuse-emulator/current/fuse/ide/divide.c =================================================================== --- vendor/fuse-emulator/current/fuse/ide/divide.c 2009-08-01 00:40:53 UTC (rev 607) +++ vendor/fuse-emulator/current/fuse/ide/divide.c 2009-08-01 14:01:53 UTC (rev 608) @@ -1,7 +1,7 @@ /* divide.c: DivIDE interface routines Copyright (c) 2005-2008 Matthew Westcott, Philip Kendall - $Id: divide.c 3944 2009-01-10 18:17:04Z pak21 $ + $Id: divide.c 4060 2009-07-30 13:21:38Z fredm $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: vendor/fuse-emulator/current/fuse/ide/divide.h =================================================================== --- vendor/fuse-emulator/current/fuse/ide/divide.h 2009-08-01 00:40:53 UTC (rev 607) +++ vendor/fuse-emulator/current/fuse/ide/divide.h 2009-0... [truncated message content] |
From: <fr...@us...> - 2009-08-01 00:41:06
|
Revision: 607 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=607&view=rev Author: fredm Date: 2009-08-01 00:40:53 +0000 (Sat, 01 Aug 2009) Log Message: ----------- Add credit for Blip_Buffer. Modified Paths: -------------- trunk/fuse/fusepb/Credits.html Modified: trunk/fuse/fusepb/Credits.html =================================================================== --- trunk/fuse/fusepb/Credits.html 2009-07-05 12:42:59 UTC (rev 606) +++ trunk/fuse/fusepb/Credits.html 2009-08-01 00:40:53 UTC (rev 607) @@ -83,6 +83,8 @@ the Interface I and microdrive emulation, the PAL TV scalers, the TV 3x scaler, the movie logging code, the libao sound code, and made many improvements to the widget code.</span></li> + <li><span style="font-family: Helvetica;" lang="EN-US">Shay Green: +the Blip_Buffer band pass filter for beeper and AY output.</span></li> <li><span style="font-family: Helvetica;" lang="EN-US">Boris Donko: for various Z80 core fixes: missing memory contention on LD (nnnn),A instruction, flags on SCF and FLAG_V on DEC, and timing of INC SP.</span></li> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2009-07-05 13:14:45
|
Revision: 605 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=605&view=rev Author: fredm Date: 2009-07-05 12:22:55 +0000 (Sun, 05 Jul 2009) Log Message: ----------- Make tag for 20090705 release. Added Paths: ----------- tags/FuseForMacOSX-20090705/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2009-07-05 12:47:16
|
Revision: 606 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=606&view=rev Author: fredm Date: 2009-07-05 12:42:59 +0000 (Sun, 05 Jul 2009) Log Message: ----------- Add GNU style changelog. Added Paths: ----------- tags/FuseForMacOSX-20090705/ChangeLog Added: tags/FuseForMacOSX-20090705/ChangeLog =================================================================== --- tags/FuseForMacOSX-20090705/ChangeLog (rev 0) +++ tags/FuseForMacOSX-20090705/ChangeLog 2009-07-05 12:42:59 UTC (rev 606) @@ -0,0 +1,7615 @@ +2009-07-05 12:22 fredm + + * .: Make tag for 20090705 release. + +2009-07-05 12:10 fredm + + * trunk/fuse/fusepb/English.lproj/InfoPlist.strings, + trunk/fuse/fusepb/Info-Fuse.plist, + trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html: Update + version strings and changelog for beta 20090705. + +2009-07-05 08:47 fredm + + * trunk/fuse/fusepb/controllers/FuseController.h, + trunk/fuse/fusepb/controllers/FuseController.m, + trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib, + trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib, + trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib: Collapse + Media menu hierarchy, just have Tape, Disk A, Disk B, Master, + Slave, Microdrive 1 and 2 etc. + +2009-06-30 12:40 fredm + + * trunk/fuse/fusepb/nibs/Preferences.nib/designable.nib, + trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib: Add + preference setting to swap mouse buttons. + +2009-06-29 22:23 fredm + + * trunk/FuseGenerator/generate.pl, + trunk/FuseGenerator/libspectrum.h, + trunk/FuseImporter/generate.pl, trunk/FuseImporter/libspectrum.h, + trunk/fuse, trunk/fuse/AUTHORS, trunk/fuse/ChangeLog, + trunk/fuse/Makefile.am, trunk/fuse/README, trunk/fuse/TODO, + trunk/fuse/ay.c, trunk/fuse/ay.h, trunk/fuse/compat.h, + trunk/fuse/compat/Makefile.am, + trunk/fuse/compat/amiga/Makefile.am, + trunk/fuse/compat/amiga/paths.c, + trunk/fuse/compat/morphos/Makefile.am, + trunk/fuse/compat/morphos/osname.c, + trunk/fuse/compat/unix/Makefile.am, trunk/fuse/compat/unix/dir.c, + trunk/fuse/compat/unix/file.c, trunk/fuse/compat/unix/osname.c, + trunk/fuse/compat/unix/paths.c, trunk/fuse/compat/unix/timer.c, + trunk/fuse/compat/wii/Makefile.am, trunk/fuse/compat/wii/dir.c, + trunk/fuse/compat/wii/file.c, trunk/fuse/compat/wii/osname.c, + trunk/fuse/compat/wii/paths.c, trunk/fuse/compat/wii/timer.c, + trunk/fuse/compat/win32/Makefile.am, + trunk/fuse/compat/win32/osname.c, + trunk/fuse/compat/win32/paths.c, trunk/fuse/compat/win32/timer.c, + trunk/fuse/configure.in, trunk/fuse/debugger/event.c, + trunk/fuse/debugger/variable.c, trunk/fuse/disk/beta.c, + trunk/fuse/disk/beta.h, trunk/fuse/disk/disk.c, + trunk/fuse/disk/disk.h, trunk/fuse/disk/fdd.c, + trunk/fuse/disk/fdd.h, trunk/fuse/disk/plusd.c, + trunk/fuse/disk/plusd.h, trunk/fuse/disk/upd_fdc.c, + trunk/fuse/display.c, trunk/fuse/display.h, trunk/fuse/divide.c, + trunk/fuse/divide.h, trunk/fuse/event.c, trunk/fuse/event.h, + trunk/fuse/fuller.c, trunk/fuse/fuller.h, trunk/fuse/fuse.c, + trunk/fuse/fuse.cpp, trunk/fuse/fusepb, + trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj, + trunk/fuse/fusepb/Makefile, + trunk/fuse/fusepb/controllers/FuseController.h, + trunk/fuse/fusepb/controllers/FuseController.m, + trunk/fuse/fusepb/controllers/PreferencesController.h, + trunk/fuse/fusepb/controllers/PreferencesController.m, + trunk/fuse/fusepb/main.m, trunk/fuse/fusepb/main.mm, + trunk/fuse/fusepb/models/Emulator.h, + trunk/fuse/fusepb/models/Emulator.m, + trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib, + trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib, + trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib, + trunk/fuse/fusepb/nibs/Preferences.nib/designable.nib, + trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib, + trunk/fuse/fusepb/timer/timer.c, + trunk/fuse/fusepb/views/DisplayOpenGLView.h, + trunk/fuse/fusepb/views/DisplayOpenGLView.m, + trunk/fuse/hacking/ChangeLog, trunk/fuse/hacking/Makefile.am, + trunk/fuse/hacking/cvs-tags, trunk/fuse/hacking/timer.txt, + trunk/fuse/ide, trunk/fuse/ide.c, trunk/fuse/ide.h, + trunk/fuse/ide/Makefile.am, trunk/fuse/ide/divide.c, + trunk/fuse/ide/divide.h, trunk/fuse/ide/ide.c, + trunk/fuse/ide/ide.h, trunk/fuse/ide/simpleide.c, + trunk/fuse/ide/simpleide.h, trunk/fuse/ide/zxatasp.c, + trunk/fuse/ide/zxatasp.h, trunk/fuse/ide/zxcf.c, + trunk/fuse/ide/zxcf.h, trunk/fuse/input.c, trunk/fuse/joystick.c, + trunk/fuse/joystick.h, trunk/fuse/kempmouse.c, + trunk/fuse/keysyms.pl, trunk/fuse/loader.c, trunk/fuse/machine.c, + trunk/fuse/machines/pentagon.c, + trunk/fuse/machines/pentagon1024.c, + trunk/fuse/machines/pentagon512.c, + trunk/fuse/machines/scorpion.c, trunk/fuse/machines/spec128.c, + trunk/fuse/machines/spec16.c, trunk/fuse/machines/spec48.c, + trunk/fuse/machines/spec48.h, trunk/fuse/machines/spec_se.c, + trunk/fuse/machines/specplus2.c, + trunk/fuse/machines/specplus2a.c, + trunk/fuse/machines/specplus3.c, trunk/fuse/machines/specplus3.h, + trunk/fuse/machines/specplus3e.c, trunk/fuse/machines/tc2048.c, + trunk/fuse/machines/tc2068.c, trunk/fuse/machines/tc2068.h, + trunk/fuse/man/fuse.1, trunk/fuse/melodik.c, + trunk/fuse/melodik.h, trunk/fuse/memory.c, trunk/fuse/memory.h, + trunk/fuse/mempool.c, trunk/fuse/mempool.h, trunk/fuse/menu.c, + trunk/fuse/menu.h, trunk/fuse/menu_data.dat, + trunk/fuse/menu_data.pl, trunk/fuse/periph.c, + trunk/fuse/periph.h, trunk/fuse/perl/cpp-perl.pl, + trunk/fuse/rzx.c, trunk/fuse/scld.c, trunk/fuse/settings.dat, + trunk/fuse/settings.pl, trunk/fuse/simpleide.c, + trunk/fuse/simpleide.h, trunk/fuse/snapshot.c, + trunk/fuse/sound.c, trunk/fuse/sound.cpp, trunk/fuse/sound.h, + trunk/fuse/sound/Blip_Buffer.cpp, trunk/fuse/sound/Blip_Buffer.h, + trunk/fuse/sound/Makefile.am, trunk/fuse/sound/alsasound.c, + trunk/fuse/sound/coreaudiosound.c, trunk/fuse/sound/sdlsound.c, + trunk/fuse/sound/wiisound.c, trunk/fuse/spectrum.c, + trunk/fuse/tape.c, trunk/fuse/timer/Makefile.am, + trunk/fuse/timer/native.c, trunk/fuse/timer/sdl.c, + trunk/fuse/timer/timer.c, trunk/fuse/timer/timer.h, + trunk/fuse/timer/unix.c, trunk/fuse/timer/win32.c, + trunk/fuse/ui.c, trunk/fuse/ui/Makefile.am, + trunk/fuse/ui/cocoa/cocoaui.m, + trunk/fuse/ui/cocoa/options-cocoa-header.pl, + trunk/fuse/ui/cocoa/options-header.pl, + trunk/fuse/ui/cocoa/options.pl, trunk/fuse/ui/fb/Makefile.am, + trunk/fuse/ui/fb/fbdisplay.c, trunk/fuse/ui/gtk/Makefile.am, + trunk/fuse/ui/gtk/confirm.c, trunk/fuse/ui/gtk/debugger.c, + trunk/fuse/ui/gtk/gtkdisplay.c, trunk/fuse/ui/gtk/gtkinternals.h, + trunk/fuse/ui/gtk/gtkui.c, trunk/fuse/ui/gtk/options-header.pl, + trunk/fuse/ui/gtk/options.pl, trunk/fuse/ui/gtk/pokefinder.c, + trunk/fuse/ui/options.dat, trunk/fuse/ui/scaler/scaler_hq2x.c, + trunk/fuse/ui/scaler/scaler_hq3x.c, + trunk/fuse/ui/svga/svgadisplay.c, + trunk/fuse/ui/svga/svgajoystick.c, trunk/fuse/ui/svga/svgaui.c, + trunk/fuse/ui/ui.h, trunk/fuse/ui/uijoystick.c, + trunk/fuse/ui/widget/Makefile.am, + trunk/fuse/ui/widget/debugger.c, trunk/fuse/ui/widget/filesel.c, + trunk/fuse/ui/widget/menu.c, + trunk/fuse/ui/widget/options-header.pl, + trunk/fuse/ui/widget/options.pl, trunk/fuse/ui/widget/query.c, + trunk/fuse/ui/widget/select.c, trunk/fuse/ui/widget/text.c, + trunk/fuse/ui/widget/widget.c, trunk/fuse/ui/widget/widget.h, + trunk/fuse/ui/widget/widget_internals.h, trunk/fuse/ui/wii, + trunk/fuse/ui/wii/Makefile.am, trunk/fuse/ui/wii/wiidisplay.c, + trunk/fuse/ui/wii/wiidisplay.h, trunk/fuse/ui/wii/wiijoystick.c, + trunk/fuse/ui/wii/wiikeyboard.c, trunk/fuse/ui/wii/wiikeyboard.h, + trunk/fuse/ui/wii/wiikeysyms.h, trunk/fuse/ui/wii/wiimouse.c, + trunk/fuse/ui/wii/wiimouse.h, trunk/fuse/ui/wii/wiiui.c, + trunk/fuse/ui/win32/Makefile.am, trunk/fuse/ui/win32/confirm.c, + trunk/fuse/ui/win32/debugger.c, + trunk/fuse/ui/win32/fileselector.c, + trunk/fuse/ui/win32/icons/Makefile.am, + trunk/fuse/ui/win32/installer, + trunk/fuse/ui/win32/installer/Makefile.am, + trunk/fuse/ui/win32/installer/fuse.nsi, + trunk/fuse/ui/win32/memorybrowser.c, + trunk/fuse/ui/win32/memorybrowser.h, + trunk/fuse/ui/win32/memorybrowser.rc, + trunk/fuse/ui/win32/options-header.pl, + trunk/fuse/ui/win32/options-resource.pl, + trunk/fuse/ui/win32/pokefinder.c, trunk/fuse/ui/win32/rollback.c, + trunk/fuse/ui/win32/rollback.h, trunk/fuse/ui/win32/rollback.rc, + trunk/fuse/ui/win32/roms.c, trunk/fuse/ui/win32/roms.h, + trunk/fuse/ui/win32/roms.rc, trunk/fuse/ui/win32/win32joystick.c, + trunk/fuse/ui/win32/win32ui.c, trunk/fuse/ula.c, + trunk/fuse/utils.c, trunk/fuse/utils.h, + trunk/fuse/z80/coretest.c, trunk/fuse/z80/z80.c, + trunk/fuse/z80/z80_ops.c, trunk/fuse/zxatasp.c, + trunk/fuse/zxatasp.h, trunk/fuse/zxcf.c, trunk/fuse/zxcf.h, + trunk/libspectrum/generate.pl, trunk/libspectrum/libspectrum, + trunk/libspectrum/libspectrum.h, + trunk/libspectrum/libspectrum/AUTHORS, + trunk/libspectrum/libspectrum/ChangeLog, + trunk/libspectrum/libspectrum/Makefile.am, + trunk/libspectrum/libspectrum/README, + trunk/libspectrum/libspectrum/accessor.pl, + trunk/libspectrum/libspectrum/configure.in, + trunk/libspectrum/libspectrum/doc/cvs-tags, + trunk/libspectrum/libspectrum/doc/libspectrum.txt, + trunk/libspectrum/libspectrum/hacking/ChangeLog, + trunk/libspectrum/libspectrum/libspectrum.c, + trunk/libspectrum/libspectrum/libspectrum.h.in, + trunk/libspectrum/libspectrum/make-perl.c, + trunk/libspectrum/libspectrum/myglib/gslist.c, + trunk/libspectrum/libspectrum/sna.c, + trunk/libspectrum/libspectrum/snap_accessors.txt, + trunk/libspectrum/libspectrum/snapshot.c, + trunk/libspectrum/libspectrum/szx.c, + trunk/libspectrum/libspectrum/tape.c, + trunk/libspectrum/libspectrum/tape_block.c, + trunk/libspectrum/libspectrum/test/Makefile.am, + trunk/libspectrum/libspectrum/timings.c, + trunk/libspectrum/libspectrum/tzx_write.c, + trunk/libspectrum/libspectrum/warajevo_read.c, + trunk/libspectrum/libspectrum/z80.c: Merge up to vendor revision + 4041. + +2009-06-24 09:52 fredm + + * trunk/fuse/fusepb/controllers/FuseController.m: Correct check for + Beta128 being enabled in disk open dialog. + +2009-06-13 13:22 fredm + + * trunk/fuse/fusepb/controllers/PreferencesController.m, + trunk/fuse/fusepb/nibs/Preferences.nib/designable.nib, + trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib: Fix mass + storage preference setting. + +2009-03-15 11:34 fredm + + * trunk/fuse/fusepb/controllers/JoystickConfigurationController.m: + Fix Joystick configurator dialog. + +2009-02-04 11:40 fredm + + * trunk/fuse/fusepb/controllers/FuseController.h, + trunk/fuse/fusepb/controllers/FuseController.m, + trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib, + trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib, + trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib: Add pause + menu option. + +2009-01-18 01:44 fredm + + * trunk/fuse/fusepb/nibs/TapeBrowser.nib/classes.nib, + trunk/fuse/fusepb/nibs/TapeBrowser.nib/info.nib, + trunk/fuse/fusepb/nibs/TapeBrowser.nib/keyedobjects.nib: Make the + TapeBrowser a NSPanel to stop it preventing Fuse from quitting if + it was open at the time. + +2009-01-18 01:35 fredm + + * trunk/fuse/fusepb/controllers/KeyboardController.m, + trunk/fuse/fusepb/nibs/Keyboard.nib/classes.nib, + trunk/fuse/fusepb/nibs/Keyboard.nib/info.nib, + trunk/fuse/fusepb/nibs/Keyboard.nib/keyedobjects.nib: Change the + keyboard viewer to a panel rather than a window so it doesn't + block Fuse from closing when quitting the emulator. Also make it + resizable. + +2009-01-09 14:05 fredm + + * trunk/fuse/fusepb/nibs/Preferences.nib/designable.nib, + trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib: Fix + machine list in ROM dialog. + +2009-01-09 14:04 fredm + + * trunk/fuse/fusepb/content_arrays/CAMachines.m: Indentation fixes. + +2009-01-09 13:08 fredm + + * trunk/fuse/fusepb/resources/Fuse Help/html/menus.html: Fix + references to a couple of Tape menu items. + +2009-01-09 13:07 fredm + + * trunk/fuse/fusepb/nibs/Preferences.nib/designable.nib, + trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib: Fix + emulation speed preference. + +2009-01-09 13:06 fredm + + * trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj, + trunk/fuse/fusepb/models/Emulator.h, + trunk/fuse/fusepb/models/Emulator.m, trunk/fuse/fusepb/timer, + trunk/fuse/fusepb/timer/timer.c, trunk/fuse/spectrum.c: Fix + running with sound off. + +2008-12-18 10:18 fredm + + * trunk/fuse/fusepb/views/DisplayOpenGLView.h, + trunk/fuse/fusepb/views/DisplayOpenGLView.m: Also update the + statusbar if nothing has changed on the Speccy screen. + +2008-12-17 23:31 fredm + + * trunk/fuse/fusepb/views/DisplayOpenGLView.h, + trunk/fuse/fusepb/views/DisplayOpenGLView.m: Decouple texture + updating and drawing and only update texture when there are + changes (Roine Gustafsson). + +2008-12-17 22:38 fredm + + * trunk/fuse/fusepb/views/DisplayOpenGLView.m: Stop displayLink + when quitting from emulator before stopping emulator thread. + +2008-12-16 12:43 fredm + + * trunk/fuse/fusepb/views/DisplayOpenGLView.m: Fix colours in + minimised toolbar icon on GMA950 card (Roine Gustafsson). + +2008-12-15 11:38 fredm + + * trunk/fuse/fusepb/resources/Fuse Help/Fuse Help idx, + trunk/fuse/fusepb/resources/Fuse Help/Fuse Help.helpindex, + trunk/fuse/fusepb/resources/Fuse Help/Fuse Help.html, + trunk/fuse/fusepb/resources/Fuse Help/html/about.html, + trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html, + trunk/fuse/fusepb/resources/Fuse Help/html/compressed.html, + trunk/fuse/fusepb/resources/Fuse Help/html/divide.html, + trunk/fuse/fusepb/resources/Fuse Help/html/dsk.html, + trunk/fuse/fusepb/resources/Fuse Help/html/emulation.html, + trunk/fuse/fusepb/resources/Fuse Help/html/filters.html, + trunk/fuse/fusepb/resources/Fuse Help/html/formats.html, + trunk/fuse/fusepb/resources/Fuse Help/html/mappings.html, + trunk/fuse/fusepb/resources/Fuse Help/html/menus.html, + trunk/fuse/fusepb/resources/Fuse Help/html/monitor.html, + trunk/fuse/fusepb/resources/Fuse Help/html/plusd.html, + trunk/fuse/fusepb/resources/Fuse Help/html/pokefinder.html, + trunk/fuse/fusepb/resources/Fuse Help/html/preferences.html, + trunk/fuse/fusepb/resources/Fuse Help/html/printer.html, + trunk/fuse/fusepb/resources/Fuse Help/html/quicklook.html, + trunk/fuse/fusepb/resources/Fuse Help/html/spotlight.html, + trunk/fuse/fusepb/resources/Fuse Help/html/tocstart.html, + trunk/fuse/fusepb/resources/Fuse Help/html/trdos.html, + trunk/fuse/fusepb/resources/Fuse Help/html/zxatasp.html: Add + titles for each help page and remove pre-10.4 compatible help + index. + +2008-12-15 11:08 fredm + + * trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj, + trunk/fuse/fusepb/controllers/FuseController.m, + trunk/fuse/fusepb/nibs/Preferences.nib/designable.nib, + trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib, + trunk/fuse/fusepb/thumbnail.h, trunk/fuse/fusepb/thumbnail.m, + trunk/fuse/settings.dat, trunk/fuse/ui/cocoa/cocoascreenshot.h, + trunk/fuse/ui/cocoa/cocoascreenshot.m: Remove icon thumbnails as + they are obsolete with OS X 10.5 and spotlight. + +2008-12-14 20:15 fredm + + * trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj, + trunk/fuse/fusepb/controllers/PreferencesController.h, + trunk/fuse/fusepb/controllers/PreferencesController.m, + trunk/fuse/fusepb/nibs/Preferences.nib/classes.nib, + trunk/fuse/fusepb/nibs/Preferences.nib/info.nib, + trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib, + trunk/fuse/fusepb/resources/Graphics_Filter.png, + trunk/fuse/fusepb/resources/Machine.png, + trunk/fuse/fusepb/resources/Peripherals.png, + trunk/fuse/fusepb/resources/RZX.png, + trunk/fuse/fusepb/resources/Select_ROMs.png, + trunk/fuse/fusepb/resources/Sound.png, + trunk/fuse/fusepb/resources/qs2t_icon.png, + trunk/fuse/fusepb/views/DisplayOpenGLView.m: Move to Mac OS X + 10.5 SDK and "proper" Preferences window. + +2008-12-09 12:09 fredm + + * trunk/ChangeLog: Revert "Add GNU style changelog." + + This reverts commit 32a621d145e473b4cb2a8d3b255523cb63f18364. + +2008-12-09 12:08 fredm + + * trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj, + trunk/FuseGenerator/LibspectrumSCRExtractor.m, + trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj, + trunk/audiofile/audiofile.xcodeproj/project.pbxproj, + trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj, + trunk/fuse/fusepb/controllers/DebuggerController.m, + trunk/fuse/fusepb/controllers/FuseController.m, + trunk/fuse/settings.pl, trunk/fuse/utils.c, + trunk/libgcrypt/libgcrypt.xcodeproj/project.pbxproj, + trunk/libspectrum/libspectrum.xcodeproj/project.pbxproj: Migrate + to XCode 3.1 and set base targets to 10.4. Add x86_64 build of + QuickLook viewer. Remove some warnings and fix sorting of ROMs + array in preferences controller. + +2008-12-09 12:04 fredm + + * trunk/ChangeLog: Add GNU style changelog. + +2008-12-04 11:41 fredm + + * trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html: Add + extra information to changelog. + +2008-12-04 11:37 fredm + + * trunk/FuseGenerator/config.h, trunk/FuseImporter/config.h, + trunk/fuse, trunk/fuse/README, trunk/fuse/compat/amiga/paths.c, + trunk/fuse/configure.in, trunk/fuse/disk/disk.c, + trunk/fuse/disk/upd_fdc.c, trunk/fuse/fuse.c, + trunk/fuse/fusepb/English.lproj/InfoPlist.strings, + trunk/fuse/fusepb/Info-Fuse.plist, trunk/fuse/fusepb/config.h, + trunk/fuse/hacking/ChangeLog, trunk/fuse/man/fuse.1, + trunk/fuse/rzx.c, trunk/fuse/scld.c, trunk/fuse/utils.c, + trunk/libspectrum/Info.plist, trunk/libspectrum/config.h, + trunk/libspectrum/libspectrum, + trunk/libspectrum/libspectrum.xcodeproj/project.pbxproj, + trunk/libspectrum/libspectrum/ChangeLog, + trunk/libspectrum/libspectrum/Makefile.am, + trunk/libspectrum/libspectrum/README, + trunk/libspectrum/libspectrum/configure.in, + trunk/libspectrum/libspectrum/doc/libspectrum.3, + trunk/libspectrum/libspectrum/doc/libspectrum.txt, + trunk/libspectrum/libspectrum/hacking/ChangeLog, + trunk/libspectrum/libspectrum/test/Makefile.am, + trunk/libspectrum/libspectrum/timings.c: Merge in changes from + vendor 0.10.0 release. + +2008-11-30 01:19 fredm + + * trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html: Add + user-visible libspectrum updates to changelog. + +2008-11-27 01:53 fredm + + * trunk/FuseGenerator/JWSpectrumScreen/JWSpectrumScreen.m, + trunk/FuseGenerator/JWSpectrumScreen/JWSpectrumScreenConstants.h, + trunk/FuseGenerator/LibspectrumSCRExtractor.m: Mask off + irrelevant bits from Timex DEC port. + +2008-11-23 06:56 fredm + + * trunk/fuse/fusepb/views/DisplayOpenGLView.m: Stop display link + when fiddling with windowed and fullscreen mode. + +2008-11-19 03:14 fredm + + * trunk/fuse/fusepb/config.h: Bump version number to 0.10.0-pre1. + +2008-11-18 12:21 fredm + + * trunk/fuse/fusepb/Credits.html: Add some additional credits from + the Fuse version of the file. + +2008-11-18 12:05 fredm + + * trunk/FuseGenerator/libspectrum.h, + trunk/FuseImporter/libspectrum.h, trunk/fuse, + trunk/fuse/ChangeLog, trunk/fuse/Makefile.am, + trunk/fuse/configure.in, trunk/fuse/disk/disk.c, + trunk/fuse/fuse.c, + trunk/fuse/fusepb/English.lproj/InfoPlist.strings, + trunk/fuse/fusepb/Info-Fuse.plist, + trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html, + trunk/fuse/fusepb/resources/Fuse Help/html/monitor.html, + trunk/fuse/hacking/ChangeLog, trunk/fuse/hacking/Makefile.am, + trunk/fuse/hacking/cvs-tags, trunk/fuse/machines/specplus2a.c, + trunk/fuse/machines/specplus3.c, trunk/fuse/man/fuse.1, + trunk/fuse/ui/win32/Makefile.am, trunk/fuse/utils.c, + trunk/libspectrum/Info.plist, trunk/libspectrum/libspectrum, + trunk/libspectrum/libspectrum.h, + trunk/libspectrum/libspectrum.xcodeproj/project.pbxproj, + trunk/libspectrum/libspectrum/configure.in, + trunk/libspectrum/libspectrum/doc/cvs-tags, + trunk/libspectrum/libspectrum/doc/libspectrum.txt, + trunk/libspectrum/libspectrum/hacking/ChangeLog, + trunk/libspectrum/libspectrum/libspectrum.c, + trunk/libspectrum/libspectrum/libspectrum.h.in: Merge up to + vendor 0.10.0-pre1 release. + +2008-11-07 12:14 fredm + + * trunk/FuseGenerator/LibspectrumSCRExtractor.m, + trunk/FuseImporter/LibspectrumMetadataImporter.m: Correct + reporting of unknown classes, log name of tape being scanned for + metadata. + +2008-11-05 11:41 fredm + + * trunk/README: Remove old reference to lib765. + +2008-11-05 11:38 fredm + + * trunk/fuse/TODO, trunk/fuse/fusepb/resources/Fuse + Help/html/changelog.html, trunk/fuse/fusepb/resources/Fuse + Help/html/compressed.html, trunk/fuse/fusepb/resources/Fuse + Help/html/formats.html, trunk/fuse/fusepb/resources/Fuse + Help/html/monitor.html, trunk/fuse/fusepb/resources/Fuse + Help/html/preferences.html: Update manual for changes from + vendor. + +2008-11-05 11:33 fredm + + * trunk/fuse/debugger/commandl.l: Remove exit command as it causes + a ruckus when the main thread doesn't know that the emulator + thread is gone. + +2008-11-05 11:32 fredm + + * trunk/fuse/fusepb/nibs/Preferences.nib/info.nib, + trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib: Add + setting for create autosaves in RZX dialog. + +2008-11-03 12:27 fredm + + * trunk/FuseGenerator/libspectrum.h, + trunk/FuseImporter/libspectrum.h, trunk/fuse, + trunk/fuse/ChangeLog, trunk/fuse/README, + trunk/fuse/compat/unix/file.c, trunk/fuse/configure.in, + trunk/fuse/disk/fdd.c, trunk/fuse/disk/upd_fdc.c, + trunk/fuse/fuse.c, + trunk/fuse/fusepb/English.lproj/InfoPlist.strings, + trunk/fuse/fusepb/Info-Fuse.plist, + trunk/fuse/fusepb/models/Emulator.m, + trunk/fuse/hacking/ChangeLog, trunk/fuse/man/fuse.1, + trunk/fuse/menu.c, trunk/fuse/rzx.c, trunk/fuse/settings.dat, + trunk/fuse/ui/options.dat, trunk/fuse/ui/win32/win32internals.h, + trunk/fuse/ui/win32/win32joystick.c, + trunk/fuse/ui/win32/win32joystick.h, + trunk/fuse/ui/win32/win32ui.c, trunk/fuse/z80/tests/README, + trunk/libspectrum/libspectrum, trunk/libspectrum/libspectrum.h, + trunk/libspectrum/libspectrum/ChangeLog, + trunk/libspectrum/libspectrum/README, + trunk/libspectrum/libspectrum/doc/libspectrum.txt, + trunk/libspectrum/libspectrum/hacking/ChangeLog, + trunk/libspectrum/libspectrum/libspectrum.h.in, + trunk/libspectrum/libspectrum/rzx.c, + trunk/libspectrum/libspectrum/sna.c, + trunk/libspectrum/libspectrum/tap.c, + trunk/libspectrum/libspectrum/tape_block.c, + trunk/libspectrum/libspectrum/test/empty.z80, + trunk/libspectrum/libspectrum/test/test.c, + trunk/libspectrum/libspectrum/tzx_read.c, + trunk/libspectrum/libspectrum/tzx_write.c, + trunk/libspectrum/libspectrum/warajevo_read.c, + trunk/libspectrum/libspectrum/z80.c: Merge up to vendor revision + 3804. + +2008-10-28 13:18 fredm + + * trunk/fuse/fuse.c: Don't deallocate memory and similar arrays + 'till we've had a chance to use them when writing settings back + to the prefs database. + +2008-10-28 11:37 fredm + + * trunk/FuseImporter/LibspectrumMetadataImporter.m: Log filename + that causes an error. + +2008-10-21 12:05 fredm + + * trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj, + trunk/FuseGenerator/LibspectrumSCRExtractor.m, + trunk/FuseGenerator/generate.pl, + trunk/FuseGenerator/libspectrum.h, + trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj, + trunk/FuseImporter/LibspectrumMetadataImporter.m, + trunk/FuseImporter/generate.pl, trunk/FuseImporter/libspectrum.h, + trunk/fuse, trunk/fuse/Makefile.am, trunk/fuse/PORTING, + trunk/fuse/README, trunk/fuse/compat.h, + trunk/fuse/compat/amiga/Makefile.am, + trunk/fuse/compat/morphos/Makefile.am, + trunk/fuse/compat/unix/Makefile.am, + trunk/fuse/compat/unix/file.c, trunk/fuse/compat/unix/osname.c, + trunk/fuse/compat/wii, trunk/fuse/compat/wii/Makefile.am, + trunk/fuse/compat/wii/file.c, + trunk/fuse/compat/win32/Makefile.am, trunk/fuse/configure.in, + trunk/fuse/dck.c, trunk/fuse/debugger/Makefile.am, + trunk/fuse/debugger/breakpoint.c, + trunk/fuse/debugger/breakpoint.h, trunk/fuse/debugger/command.c, + trunk/fuse/debugger/commandl.l, trunk/fuse/debugger/commandy.y, + trunk/fuse/debugger/debugger.c, trunk/fuse/debugger/debugger.h, + trunk/fuse/debugger/debugger_internals.h, + trunk/fuse/debugger/event.c, trunk/fuse/debugger/expression.c, + trunk/fuse/debugger/variable.c, trunk/fuse/disk/beta.c, + trunk/fuse/disk/beta.h, trunk/fuse/disk/disk.c, + trunk/fuse/disk/fdd.c, trunk/fuse/disk/fdd.h, + trunk/fuse/disk/plusd.c, trunk/fuse/disk/plusd.h, + trunk/fuse/disk/upd_fdc.c, trunk/fuse/disk/upd_fdc.h, + trunk/fuse/disk/wd_fdc.c, trunk/fuse/disk/wd_fdc.h, + trunk/fuse/divide.c, trunk/fuse/event.c, trunk/fuse/event.h, + trunk/fuse/fuse.c, + trunk/fuse/fusepb/English.lproj/InfoPlist.strings, + trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj, + trunk/fuse/fusepb/Info-Fuse.plist, + trunk/fuse/fusepb/controllers/DebuggerController.m, + trunk/fuse/fusepb/models/Emulator.m, + trunk/fuse/hacking/ChangeLog, trunk/fuse/if1.c, + trunk/fuse/input.c, trunk/fuse/input.h, trunk/fuse/keysyms.pl, + trunk/fuse/loader.c, trunk/fuse/machine.c, + trunk/fuse/machines/specplus3.h, trunk/fuse/memory.c, + trunk/fuse/mempool.c, trunk/fuse/mempool.h, trunk/fuse/menu.c, + trunk/fuse/menu.h, trunk/fuse/menu_data.dat, + trunk/fuse/menu_data.pl, trunk/fuse/periph.c, + trunk/fuse/periph.h, trunk/fuse/profile.c, trunk/fuse/rzx.c, + trunk/fuse/rzx.h, trunk/fuse/screenshot.c, + trunk/fuse/settings.dat, trunk/fuse/simpleide.c, + trunk/fuse/snapshot.c, trunk/fuse/sound/alsasound.c, + trunk/fuse/sound/dxsound.c, trunk/fuse/sound/win32sound.c, + trunk/fuse/spectrum.c, trunk/fuse/spectrum.h, trunk/fuse/tape.c, + trunk/fuse/tape.h, trunk/fuse/timer/timer.c, + trunk/fuse/timer/timer.h, trunk/fuse/ui/cocoa/cocoajoystick.c, + trunk/fuse/ui/fb/fbdisplay.c, trunk/fuse/ui/gtk/debugger.c, + trunk/fuse/ui/gtk/gtkjoystick.c, trunk/fuse/ui/gtk/gtkkeyboard.c, + trunk/fuse/ui/gtk/gtkui.c, trunk/fuse/ui/options.dat, + trunk/fuse/ui/scaler/scalers.c, trunk/fuse/ui/sdl/sdldisplay.c, + trunk/fuse/ui/sdl/sdljoystick.c, + trunk/fuse/ui/svga/svgadisplay.c, + trunk/fuse/ui/svga/svgajoystick.c, trunk/fuse/ui/uidisplay.h, + trunk/fuse/ui/uijoystick.c, trunk/fuse/ui/widget/Makefile.am, + trunk/fuse/ui/widget/browse.c, trunk/fuse/ui/widget/debugger.c, + trunk/fuse/ui/widget/error.c, trunk/fuse/ui/widget/filesel.c, + trunk/fuse/ui/widget/memory.c, trunk/fuse/ui/widget/menu.c, + trunk/fuse/ui/widget/options.pl, trunk/fuse/ui/widget/picture.c, + trunk/fuse/ui/widget/pokefinder.c, trunk/fuse/ui/widget/query.c, + trunk/fuse/ui/widget/roms.c, trunk/fuse/ui/widget/select.c, + trunk/fuse/ui/widget/text.c, trunk/fuse/ui/widget/widget.c, + trunk/fuse/ui/widget/widget.h, + trunk/fuse/ui/widget/widget_internals.h, + trunk/fuse/ui/win32/Makefile.am, trunk/fuse/ui/win32/binary.c, + trunk/fuse/ui/win32/binary.rc, trunk/fuse/ui/win32/browse.c, + trunk/fuse/ui/win32/browse.h, trunk/fuse/ui/win32/browse.rc, + trunk/fuse/ui/win32/confirm.c, trunk/fuse/ui/win32/debugger.c, + trunk/fuse/ui/win32/debugger.h, trunk/fuse/ui/win32/debugger.rc, + trunk/fuse/ui/win32/error.c, trunk/fuse/ui/win32/fileselector.c, + trunk/fuse/ui/win32/memorybrowser.c, + trunk/fuse/ui/win32/memorybrowser.h, + trunk/fuse/ui/win32/memorybrowser.rc, + trunk/fuse/ui/win32/options-header.pl, + trunk/fuse/ui/win32/options-resource.pl, + trunk/fuse/ui/win32/options.pl, trunk/fuse/ui/win32/picture.c, + trunk/fuse/ui/win32/picture.h, trunk/fuse/ui/win32/picture.rc, + trunk/fuse/ui/win32/pokefinder.c, + trunk/fuse/ui/win32/pokefinder.h, + trunk/fuse/ui/win32/pokefinder.rc, + trunk/fuse/ui/win32/rollback.c, trunk/fuse/ui/win32/rollback.rc, + trunk/fuse/ui/win32/roms.c, trunk/fuse/ui/win32/roms.rc, + trunk/fuse/ui/win32/select_template.rc, + trunk/fuse/ui/win32/statusbar.c, + trunk/fuse/ui/win32/win32display.c, + trunk/fuse/ui/win32/win32display.h, + trunk/fuse/ui/win32/win32internals.h, + trunk/fuse/ui/win32/win32joystick.c, + trunk/fuse/ui/win32/win32joystick.rc, + trunk/fuse/ui/win32/win32keyboard.c, + trunk/fuse/ui/win32/win32keyboard.h, + trunk/fuse/ui/win32/win32ui.c, trunk/fuse/ui/xlib/xdisplay.c, + trunk/fuse/ui/xlib/xui.c, trunk/fuse/unittests/unittests.c, + trunk/fuse/utils.c, trunk/fuse/z80/coretest.c, + trunk/fuse/z80/tests/tests.expected, + trunk/fuse/z80/tests/tests.in, trunk/fuse/z80/z80.c, + trunk/fuse/z80/z80.h, trunk/fuse/z80/z80.pl, + trunk/fuse/z80/z80_ops.c, trunk/fuse/zxatasp.c, + trunk/fuse/zxcf.c, trunk/libspectrum/generate.pl, + trunk/libspectrum/libspectrum, trunk/libspectrum/libspectrum.h, + trunk/libspectrum/libspectrum.xcodeproj/project.pbxproj, + trunk/libspectrum/libspectrum/Makefile.am, + trunk/libspectrum/libspectrum/accessor.pl, + trunk/libspectrum/libspectrum/bzip2.c, + trunk/libspectrum/libspectrum/configure.in, + trunk/libspectrum/libspectrum/creator.c, + trunk/libspectrum/libspectrum/crypto.c, + trunk/libspectrum/libspectrum/csw.c, + trunk/libspectrum/libspectrum/dck.c, + trunk/libspectrum/libspectrum/hacking/ChangeLog, + trunk/libspectrum/libspectrum/ide.c, + trunk/libspectrum/libspectrum/internals.h, + trunk/libspectrum/libspectrum/libspectrum.c, + trunk/libspectrum/libspectrum/libspectrum.h.in, + trunk/libspectrum/libspectrum/make-perl.c, + trunk/libspectrum/libspectrum/memory.c, + trunk/libspectrum/libspectrum/microdrive.c, + trunk/libspectrum/libspectrum/myglib/Makefile.am, + trunk/libspectrum/libspectrum/myglib/garray.c, + trunk/libspectrum/libspectrum/myglib/ghash.c, + trunk/libspectrum/libspectrum/myglib/gslist.c, + trunk/libspectrum/libspectrum/plusd.c, + trunk/libspectrum/libspectrum/rzx.c, + trunk/libspectrum/libspectrum/sna.c, + trunk/libspectrum/libspectrum/snapshot.c, + trunk/libspectrum/libspectrum/sp.c, + trunk/libspectrum/libspectrum/szx.c, + trunk/libspectrum/libspectrum/tap.c, + trunk/libspectrum/libspectrum/tape.c, + trunk/libspectrum/libspectrum/tape_block.c, + trunk/libspectrum/libspectrum/tape_block.h, + trunk/libspectrum/libspectrum/test/Makefile.am, + trunk/libspectrum/libspectrum/test/edges.c, + trunk/libspectrum/libspectrum/test/test.c, + trunk/libspectrum/libspectrum/test/test.h, + trunk/libspectrum/libspectrum/test/test15.c, + trunk/libspectrum/libspectrum/test/writeprotected.mdr, + trunk/libspectrum/libspectrum/tzx_read.c, + trunk/libspectrum/libspectrum/tzx_write.c, + trunk/libspectrum/libspectrum/warajevo_read.c, + trunk/libspectrum/libspectrum/wav.c, + trunk/libspectrum/libspectrum/z80.c, + trunk/libspectrum/libspectrum/z80em.c, + trunk/libspectrum/libspectrum/zlib.c, + trunk/libspectrum/libspectrum/zxs.c: Merge up to vendor revision + 3775. + +2008-05-10 23:53 fredm + + * trunk/FuseGenerator/libspectrum.h, + trunk/FuseImporter/libspectrum.h, trunk/README, + trunk/fuse/ChangeLog, trunk/fuse/Makefile.am, trunk/fuse/README, + trunk/fuse/ay.c, trunk/fuse/compat/amiga/Makefile.am, + trunk/fuse/compat/amiga/osname.c, + trunk/fuse/compat/amiga/paths.c, trunk/fuse/configure.in, + trunk/fuse/dck.c, trunk/fuse/debugger/commandl.l, + trunk/fuse/debugger/commandy.y, trunk/fuse/debugger/debugger.c, + trunk/fuse/debugger/debugger_internals.h, + trunk/fuse/disk/Makefile.am, trunk/fuse/disk/beta.c, + trunk/fuse/disk/disk.c, trunk/fuse/disk/disk.h, + trunk/fuse/disk/fdd.c, trunk/fuse/disk/fdd.h, + trunk/fuse/disk/plusd.c, trunk/fuse/disk/upd_fdc.c, + trunk/fuse/disk/upd_fdc.h, trunk/fuse/disk/wd_fdc.c, + trunk/fuse/disk/wd_fdc.h, trunk/fuse/display.c, + trunk/fuse/divide.c, trunk/fuse/event.c, trunk/fuse/event.h, + trunk/fuse/fuse.c, trunk/fuse/fuse.cpp, trunk/fuse/fuse.h, + trunk/fuse/fusepb/English.lproj/InfoPlist.strings, + trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj, + trunk/fuse/fusepb/Info-Fuse.plist, + trunk/fuse/fusepb/controllers/FuseController.h, + trunk/fuse/fusepb/controllers/FuseController.m, + trunk/fuse/fusepb/main.m, trunk/fuse/fusepb/main.mm, + trunk/fuse/fusepb/models/Emulator.h, + trunk/fuse/fusepb/models/Emulator.m, + trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib, + trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib, + trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib, + trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib, + trunk/fuse/fusepb/scaler/hq2x.cpp, + trunk/fuse/fusepb/scaler/hq2x.h, + trunk/fuse/fusepb/scaler/hq3x.cpp, + trunk/fuse/fusepb/scaler/hq3x.h, + trunk/fuse/fusepb/scaler/intern.h, + trunk/fuse/fusepb/scaler/scalers16.c, + trunk/fuse/fusepb/scaler/scalers16.cpp, + trunk/fuse/fusepb/views/DisplayOpenGLView.h, + trunk/fuse/fusepb/views/DisplayOpenGLView.m, + trunk/fuse/hacking/ChangeLog, trunk/fuse/hacking/cvs-tags, + trunk/fuse/hacking/win32_todo.txt, trunk/fuse/if1.c, + trunk/fuse/input.c, trunk/fuse/kempmouse.c, + trunk/fuse/kempmouse.h, trunk/fuse/keysyms.pl, + trunk/fuse/loader.c, trunk/fuse/loader.h, trunk/fuse/machine.c, + trunk/fuse/machine.h, trunk/fuse/machines/pentagon.c, + trunk/fuse/machines/pentagon.h, + trunk/fuse/machines/pentagon1024.c, + trunk/fuse/machines/pentagon512.c, + trunk/fuse/machines/scorpion.c, trunk/fuse/machines/spec128.c, + trunk/fuse/machines/spec128.h, trunk/fuse/machines/spec16.c, + trunk/fuse/machines/spec48.c, trunk/fuse/machines/spec48.h, + trunk/fuse/machines/spec_se.c, trunk/fuse/machines/specplus2.c, + trunk/fuse/machines/specplus2a.c, + trunk/fuse/machines/specplus3.c, trunk/fuse/machines/specplus3.h, + trunk/fuse/machines/specplus3e.c, trunk/fuse/machines/tc2048.c, + trunk/fuse/machines/tc2068.c, trunk/fuse/machines/tc2068.h, + trunk/fuse/machines/ts2068.c, trunk/fuse/man/fuse.1, + trunk/fuse/memory.c, trunk/fuse/memory.h, trunk/fuse/menu.c, + trunk/fuse/menu_data.dat, trunk/fuse/periph.c, + trunk/fuse/roms/plus3e-0.rom, trunk/fuse/roms/plus3e-1.rom, + trunk/fuse/roms/plus3e-2.rom, trunk/fuse/settings.dat, + trunk/fuse/settings.pl, trunk/fuse/simpleide.c, + trunk/fuse/sound/Makefile.am, trunk/fuse/sound/aosound.c, + trunk/fuse/sound/win32sound.c, trunk/fuse/spectrum.c, + trunk/fuse/spectrum.h, trunk/fuse/tape.c, trunk/fuse/tape.h, + trunk/fuse/timer/Makefile.am, trunk/fuse/ui.c, + trunk/fuse/ui/Makefile.am, trunk/fuse/ui/fb/fbkeyboard.c, + trunk/fuse/ui/gtk/Makefile.am, trunk/fuse/ui/gtk/fileselector.c, + trunk/fuse/ui/gtk/gtkdisplay.c, trunk/fuse/ui/options.dat, + trunk/fuse/ui/scaler/Makefile.am, trunk/fuse/ui/scaler/scaler.c, + trunk/fuse/ui/scaler/scaler.h, + trunk/fuse/ui/scaler/scaler_hq2x.c, + trunk/fuse/ui/scaler/scaler_hq3x.c, + trunk/fuse/ui/scaler/scaler_internals.h, + trunk/fuse/ui/scaler/scalers.c, trunk/fuse/ui/scaler/scalers.cpp, + trunk/fuse/ui/sdl/Makefile.am, trunk/fuse/ui/sdl/sdldisplay.c, + trunk/fuse/ui/sdl/sdlkeyboard.c, + trunk/fuse/ui/svga/svgakeyboard.c, trunk/fuse/ui/ui.h, + trunk/fuse/ui/widget, trunk/fuse/ui/widget/Makefile.am, + trunk/fuse/ui/widget/browse.c, trunk/fuse/ui/widget/debugger.c, + trunk/fuse/ui/widget/error.c, trunk/fuse/ui/widget/filesel.c, + trunk/fuse/ui/widget/fuse.font.sbf, + trunk/fuse/ui/widget/memory.c, trunk/fuse/ui/widget/menu.c, + trunk/fuse/ui/widget/mkfusefont.pl, + trunk/fuse/ui/widget/options-header.pl, + trunk/fuse/ui/widget/options.pl, trunk/fuse/ui/widget/picture.c, + trunk/fuse/ui/widget/pokefinder.c, trunk/fuse/ui/widget/query.c, + trunk/fuse/ui/widget/roms.c, trunk/fuse/ui/widget/select.c, + trunk/fuse/ui/widget/text.c, trunk/fuse/ui/widget/widget.c, + trunk/fuse/ui/widget/widget.h, + trunk/fuse/ui/widget/widget_internals.h, + trunk/fuse/ui/win32/Makefile.am, trunk/fuse/ui/win32/binary.c, + trunk/fuse/ui/win32/binary.h, trunk/fuse/ui/win32/binary.rc, + trunk/fuse/ui/win32/browse.c, trunk/fuse/ui/win32/browse.h, + trunk/fuse/ui/win32/browse.rc, trunk/fuse/ui/win32/debugger.c, + trunk/fuse/ui/win32/debugger.h, trunk/fuse/ui/win32/debugger.rc, + trunk/fuse/ui/win32/del_o.bat, trunk/fuse/ui/win32/error.c, + trunk/fuse/ui/win32/icons/Makefile.am, + trunk/fuse/ui/win32/icons/mdr_active.bmp, + trunk/fuse/ui/win32/icons/mdr_inactive.bmp, + trunk/fuse/ui/win32/icons/mouse_active.bmp, + trunk/fuse/ui/win32/icons/mouse_inactive.bmp, + trunk/fuse/ui/win32/icons/tape_marker_mask.bmp, + trunk/fuse/ui/win32/memorybrowser.c, + trunk/fuse/ui/win32/memorybrowser.h, + trunk/fuse/ui/win32/memorybrowser.rc, + trunk/fuse/ui/win32/menu_data.c, trunk/fuse/ui/win32/menu_data.h, + trunk/fuse/ui/win32/menu_data.rc, + trunk/fuse/ui/win32/options-header.pl, + trunk/fuse/ui/win32/options-resource.pl, + trunk/fuse/ui/win32/options.pl, trunk/fuse/ui/win32/picture.c, + trunk/fuse/ui/win32/picture.h, trunk/fuse/ui/win32/picture.rc, + trunk/fuse/ui/win32/pokefinder.c, + trunk/fuse/ui/win32/pokefinder.h, + trunk/fuse/ui/win32/pokefinder.rc, + trunk/fuse/ui/win32/rollback.c, trunk/fuse/ui/win32/rollback.h, + trunk/fuse/ui/win32/rollback.rc, trunk/fuse/ui/win32/roms.c, + trunk/fuse/ui/win32/roms.h, trunk/fuse/ui/win32/roms.rc, + trunk/fuse/ui/win32/select_template.h, + trunk/fuse/ui/win32/select_template.rc, + trunk/fuse/ui/win32/statusbar.c, + trunk/fuse/ui/win32/statusbar.rc, + trunk/fuse/ui/win32/win32display.c, + trunk/fuse/ui/win32/win32display.h, + trunk/fuse/ui/win32/win32internals.h, + trunk/fuse/ui/win32/win32joystick.c, + trunk/fuse/ui/win32/win32joystick.h, + trunk/fuse/ui/win32/win32joystick.rc, + trunk/fuse/ui/win32/win32keyboard.h, + trunk/fuse/ui/win32/win32mouse.c, trunk/fuse/ui/win32/win32ui.c, + trunk/fuse/ui/win32/win32ui.rc, trunk/fuse/ui/xlib/xdisplay.c, + trunk/fuse/ui/xlib/xerror.c, trunk/fuse/ui/xlib/xkeyboard.c, + trunk/fuse/ula.c, trunk/fuse/unittests, + trunk/fuse/unittests/Makefile.am, + trunk/fuse/unittests/unittests.c, + trunk/fuse/unittests/unittests.h, trunk/fuse/utils.c, + trunk/fuse/widget, trunk/fuse/windres.rc, trunk/fuse/winfuse.ico, + trunk/fuse/z80/z80.c, trunk/fuse/z80/z80_ops.c, trunk/lib765, + trunk/libspectrum/config.h, trunk/libspectrum/libspectrum.h, + trunk/libspectrum/libspectrum/ChangeLog, + trunk/libspectrum/libspectrum/README, + trunk/libspectrum/libspectrum/TODO, + trunk/libspectrum/libspectrum/accessor.pl, + trunk/libspectrum/libspectrum/configure.in, + trunk/libspectrum/libspectrum/doc/libspectrum.txt, + trunk/libspectrum/libspectrum/hacking/ChangeLog, + trunk/libspectrum/libspectrum/ide.c, + trunk/libspectrum/libspectrum/internals.h, + trunk/libspectrum/libspectrum/libspectrum.c, + trunk/libspectrum/libspectrum/libspectrum.h.in, + trunk/libspectrum/libspectrum/sna.c, + trunk/libspectrum/libspectrum/snap_accessors.txt, + trunk/libspectrum/libspectrum/snapshot.c, + trunk/libspectrum/libspectrum/szx.c, + trunk/libspectrum/libspectrum/tape.c, + trunk/libspectrum/libspectrum/test/Makefile.am, + trunk/libspectrum/libspectrum/test/edges.c, + trunk/libspectrum/libspectrum/test/test.h, + trunk/libspectrum/libspectrum/test/test15.c, + trunk/libspectrum/libspectrum/z80.c: Merge up to vendor revision + 3612. + +2008-05-07 11:35 fredm + + * trunk/fuse/TODO: Update TODO. + +2008-05-04 10:38 fredm + + * trunk/FuseGenerator/LibspectrumSCRExtractor.m: Have inlay images + take priority over loading screens. + +2008-05-04 09:11 fredm + + * trunk/FuseGenerator/GeneratePreviewForURL.m, + trunk/FuseGenerator/GenerateThumbnailForURL.m, + trunk/FuseGenerator/LibspectrumSCRExtractor.h, + trunk/FuseGenerator/LibspectrumSCRExtractor.m, trunk/fuse/TODO: + Add support for TZX custom screenshot and tape inlay blocks. + +2008-04-29 12:59 fredm + + * trunk/fuse/fusepb/English.lproj/InfoPlist.strings: Bump version + to 0.9.0.2. + +2008-04-29 12:44 fredm + + * trunk/fuse/fusepb/controllers/FuseController.m: Fix betaFileTypes + declaration. + +2008-04-29 12:24 fredm + + * trunk/fuse/TODO, trunk/fuse/fusepb/controllers/FuseController.m, + trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html: Add UI + support for .udi, .fdi and .scl files for Beta disk images. + +2008-04-28 13:55 fredm + + * trunk/FuseGenerator/GeneratePreviewForURL.m: Generate previews + for all docs, not just screenshots. + +2008-04-28 13:21 fredm + + * trunk/FuseImporter/COPYING, trunk/FuseImporter/Howto build.rtf, + trunk/FuseImporter/README.rtf: Remove obsolete files. + +2008-04-28 13:15 fredm + + * trunk/fuse/fusepb/resources/Fuse Help/Fuse Help idx, + trunk/fuse/fusepb/resources/Fuse Help/Fuse Help.helpindex, + trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html, + trunk/fuse/fusepb/resources/Fuse Help/html/quicklook.html, + trunk/fuse/fusepb/resources/Fuse Help/html/tocstart.html: Add + Quick Look generator documentation, update index. + +2008-04-28 13:14 fredm + + * trunk/fuse/settings.dat: Change thumbnail icon generation default + to be off as it is superceded by Quick Look on Mac OS X 10.5 and + up. + +2008-04-28 11:32 fredm + + * trunk/FuseImporter/English.lproj/InfoPlist.strings, + trunk/FuseImporter/Info.plist: Bump version to 1.1, add + references for img, mgt and raw file formats. + +2008-04-28 10:45 fredm + + * trunk/fuse/TODO: Update TODO list. + +2008-04-28 10:42 fredm + + * trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj: Distribute + QuickLook generator. + +2008-04-28 10:17 fredm + + * trunk/FuseImporter/LibspectrumMetadataImporter.h: Add declaration + of process_tape. + +2008-04-28 10:14 fredm + + * trunk/FuseImporter/English.lproj/schema.strings: Add display name + for graphics mode. + +2008-04-09 21:13 fredm + + * trunk/fuse/ui/cocoa/SDL_joystick/SDL_sysjoystick.c: Don't report + errors back to the user when we fail to open a joystick device + that already has exclusive access given to someone else (e.g. a + Wacom tablet and it's associated driver) (James Weatherley). + +2008-04-08 13:38 fredm + + * trunk/fuse/ui/cocoa/cocoadisplay.m: Move lock allocation and + initialisation to DisplayOpenGLView. + +2008-04-08 13:36 fredm + + * trunk/fuse/fusepb/English.lproj/InfoPlist.strings: Update version + strings to 0.9.0.1. + +2008-04-08 13:34 fredm + + * trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html, + trunk/fuse/fusepb/resources/Fuse Help/html/menus.html: Add + references for new menu options, update ChangeLog for recent + changes. + +2008-04-08 13:31 fredm + + * trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib, + trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib, + trunk/fuse/fusepb/views/DisplayOpenGLView.m: Add 4x and 5x zoom + options for those with big screens. + +2008-04-08 12:08 fredm + + * trunk/fuse/ui/cocoa/SDL_joystick/SDL_sysjoystick.c: Merge up to + revision 3524 of SDL_sysjoystick.c, in hope of fixing errors + starting Fuse with a Wacom graphics tablet attached. + +2008-03-31 12:46 fredm + + * trunk/fuse/TODO, trunk/fuse/fusepb/controllers/FuseController.h, + trunk/fuse/fusepb/controllers/FuseController.m, + trunk/fuse/fusepb/models/Emulator.h, + trunk/fuse/fusepb/models/Emulator.m, + trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib, + trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib, + trunk/fuse/fusepb/views/DisplayOpenGLView.h, + trunk/fuse/fusepb/views/DisplayOpenGLView.m: Add +D and Beta disk + insert menu entries. Allow +D to save .img images. + +2008-03-31 11:51 fredm + + * trunk/fuse/TODO, trunk/fuse/fusepb/controllers/FuseController.m: + Allow .img files to be opened as +D images. + +2008-03-29 03:19 fredm + + * trunk/fuse/fusepb/controllers/PreferencesController.m, + trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib: Add + preferences support for Beta 128 interface. + +2008-03-29 03:18 fredm + + * trunk/fuse/fusepb/English.lproj/InfoPlist.strings: Change + additional copyright date to 2008. + +2008-03-28 13:01 fredm + + * trunk/fuse/fusepb/English.lproj/InfoPlist.strings, + trunk/fuse/fusepb/Info-Fuse.plist, trunk/fuse/fusepb/config.h, + trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html: Move + version to Fuse for Mac OS X 0.9.0. + +2008-03-27 12:04 fredm + + * trunk/fuse/fusepb/controllers/FuseController.h, + trunk/fuse/fusepb/controllers/FuseController.m, + trunk/fuse/fusepb/models/Emulator.h, + trunk/fuse/fusepb/models/Emulator.m, + trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib, + trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib, + trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib, + trunk/fuse/fusepb/views/DisplayOpenGLView.h, + trunk/fuse/fusepb/views/DisplayOpenGLView.m: Add +D and Beta disk + write protect support. Fix Microdrive cartridge menus. Add + command key release for keyboard joystick binding shortcut. + +2008-03-27 12:03 fredm + + * trunk/fuse/fusepb/Info-Fuse.plist: Fix mdr type info, round out + mgt and img type exports. + +2008-03-26 10:36 fredm + + * trunk/fuse/TODO, trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib, + trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib, + trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib, + trunk/fuse/fusepb/resources/Fuse Help/html/menus.html, + trunk/fuse/fusepb/resources/Fuse Help/html/preferences.html: Move + Emulate keyboard joystick option to to Bind Keys to Joystick + option in Machine menu + +2008-03-26 08:46 fredm + + * trunk/fuse/fusepb/nibs/Preferences.nib/info.nib, + trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib: Fix + keyboard joystick enabled preference binding. + +2008-02-18 09:48 fredm + + * trunk/README: Remove reference to bzip2 framework. + +2008-02-18 08:45 fredm + + * trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj, + trunk/fuse/fusepb/FuseMenus.m: Don't use standard Fuse menu.c, + move only function we use (menu_select_roms_with_title) to + FuseMenus.m. + +2008-02-18 07:25 fredm + + * trunk/fuse/fusepb/controllers/FuseController.m: Ignore any + shortcuts that raise dialogs in fullscreen mode. + +2008-02-18 07:20 fredm + + * trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj: Remove + pentagon.h from distribution binaries and remove references to + obsolete SDL and bzip2 frameworks. + +2008-02-18 04:00 fredm + + * trunk/libgcrypt/Info-gcrypt.plist, + trunk/libgcrypt/libgcrypt.xcodeproj/project.pbxproj, + trunk/libgcrypt/libgcrypt/AUTHORS, + trunk/libgcrypt/libgcrypt/ChangeLog, + trunk/libgcrypt/libgcrypt/INSTALL, + trunk/libgcrypt/libgcrypt/Makefile.am, + trunk/libgcrypt/libgcrypt/Makefile.in, + trunk/libgcrypt/libgcrypt/NEWS, trunk/libgcrypt/libgcrypt/README, + trunk/libgcrypt/libgcrypt/README.CVS, + trunk/libgcrypt/libgcrypt/README.SVN, + trunk/libgcrypt/libgcrypt/THANKS, trunk/libgcrypt/libgcrypt/TODO, + trunk/libgcrypt/libgcrypt/VERSION, + trunk/libgcrypt/libgcrypt/acinclude.m4, + trunk/libgcrypt/libgcrypt/aclocal.m4, + trunk/libgcrypt/libgcrypt/autogen.sh, + trunk/libgcrypt/libgcrypt/cipher/ChangeLog, + trunk/libgcrypt/libgcrypt/cipher/Makefile.in, + trunk/libgcrypt/libgcrypt/cipher/ac.c, + trunk/libgcrypt/libgcrypt/cipher/blowfish.c, + trunk/libgcrypt/libgcrypt/cipher/cast5.c, + trunk/libgcrypt/libgcrypt/cipher/cipher.c, + trunk/libgcrypt/libgcrypt/cipher/crc.c, + trunk/libgcrypt/libgcrypt/cipher/des.c, + trunk/libgcrypt/libgcrypt/cipher/dsa.c, + trunk/libgcrypt/libgcrypt/cipher/elgamal.c, + trunk/libgcrypt/libgcrypt/cipher/md.c, + trunk/libgcrypt/libgcrypt/cipher/primegen.c, + trunk/libgcrypt/libgcrypt/cipher/pubkey.c, + trunk/libgcrypt/libgcrypt/cipher/random.c, + trunk/libgcrypt/libgcrypt/cipher/random.h, + trunk/libgcrypt/libgcrypt/cipher/rfc2268.c, + trunk/libgcrypt/libgcrypt/cipher/rijndael.c, + trunk/libgcrypt/libgcrypt/cipher/rmd160.c, + trunk/libgcrypt/libgcrypt/cipher/rndlinux.c, + trunk/libgcrypt/libgcrypt/cipher/rndw32.c, + trunk/libgcrypt/libgcrypt/cipher/rsa.c, + trunk/libgcrypt/libgcrypt/cipher/serpent.c, + trunk/libgcrypt/libgcrypt/cipher/sha256.c, + trunk/libgcrypt/libgcrypt/cipher/sha512.c, + trunk/libgcrypt/libgcrypt/cipher/tiger.c, + trunk/libgcrypt/libgcrypt/cipher/twofish.c, + trunk/libgcrypt/libgcrypt/compile, + trunk/libgcrypt/libgcrypt/config.guess, + trunk/libgcrypt/libgcrypt/config.h.in, + trunk/libgcrypt/libgcrypt/config.sub, + trunk/libgcrypt/libgcrypt/configure, + trunk/libgcrypt/libgcrypt/configure.ac, + trunk/libgcrypt/libgcrypt/depcomp, + trunk/libgcrypt/libgcrypt/doc/ChangeLog, + trunk/libgcrypt/libgcrypt/doc/Makefile.in, + trunk/libgcrypt/libgcrypt/doc/gcrypt.info, + trunk/libgcrypt/libgcrypt/doc/gcrypt.texi, + trunk/libgcrypt/libgcrypt/doc/mdate-sh, + trunk/libgcrypt/libgcrypt/doc/stamp-vti, + trunk/libgcrypt/libgcrypt/doc/texinfo.tex, + trunk/libgcrypt/libgcrypt/doc/version.texi, + trunk/libgcrypt/libgcrypt/install-sh, + trunk/libgcrypt/libgcrypt/ltmain.sh, + trunk/libgcrypt/libgcrypt/m4, + trunk/libgcrypt/libgcrypt/m4/ChangeLog, + trunk/libgcrypt/libgcrypt/m4/Makefile.am, + trunk/libgcrypt/libgcrypt/m4/Makefile.in, + trunk/libgcrypt/libgcrypt/m4/libtool.m4, + trunk/libgcrypt/libgcrypt/m4/onceonly.m4, + trunk/libgcrypt/libgcrypt/m4/socklen.m4, + trunk/libgcrypt/libgcrypt/m4/sys_socket_h.m4, + trunk/libgcrypt/libgcrypt/missing, + trunk/libgcrypt/libgcrypt/mkinstalldirs, + trunk/libgcrypt/libgcrypt/mpi/ChangeLog, + trunk/libgcrypt/libgcrypt/mpi/Makefile.am, + trunk/libgcrypt/libgcrypt/mpi/Makefile.in, + trunk/libgcrypt/libgcrypt/mpi/config.links, + trunk/libgcrypt/libgcrypt/mpi/hppa1.1/udiv-qrnnd.S, + trunk/libgcrypt/libgcrypt/mpi/mpi-bit.c, + trunk/libgcrypt/libgcrypt/mpi/mpi-pow.c, + trunk/libgcrypt/libgcrypt/mpi/mpicoder.c, + trunk/libgcrypt/libgcrypt/mpi/mpiutil.c, + trunk/libgcrypt/libgcrypt/src/ChangeLog, + trunk/libgcrypt/libgcrypt/src/Makefile.am, + trunk/libgcrypt/libgcrypt/src/Makefile.in, + trunk/libgcrypt/libgcrypt/src/ath.c, + trunk/libgcrypt/libgcrypt/src/ath.h, + trunk/libgcrypt/libgcrypt/src/g10lib.h, + trunk/libgcrypt/libgcrypt/src/gcrypt-module.h, + trunk/libgcrypt/libgcrypt/src/gcrypt.h, + trunk/libgcrypt/libgcrypt/src/gcrypt.h.in, + trunk/libgcrypt/libgcrypt/src/global.c, + trunk/libgcrypt/libgcrypt/src/libgcrypt.m4, + trunk/libgcrypt/libgcrypt/src/missing-string.c, + trunk/libgcrypt/libgcrypt/src/secmem.c, + trunk/libgcrypt/libgcrypt/src/secmem.h, + trunk/libgcrypt/libgcrypt/src/sexp.c, + trunk/libgcrypt/libgcrypt/src/types.h, + trunk/libgcrypt/libgcrypt/tests/ChangeLog, + trunk/libgcrypt/libgcrypt/tests/Makefile.am, + trunk/libgcrypt/libgcrypt/tests/Makefile.in, + trunk/libgcrypt/libgcrypt/tests/ac.c, + trunk/libgcrypt/libgcrypt/tests/basic.c, + trunk/libgcrypt/libgcrypt/tests/benchmark.c, + trunk/libgcrypt/libgcrypt/tests/pubkey.c, + trunk/libgcrypt/libgcrypt/tests/random.c, + trunk/libgcrypt/libgcrypt/tests/t-mpi-bit.c, + trunk/libgcrypt/libgcrypt/tests/tsexp.c, + trunk/libgcrypt/libgcrypt/w32-dll/Makefile.in: Merge up to vendor + libgcrypt version 1.2.4. + +2008-02-17 22:06 fredm + + * trunk/FuseImporter/Info.plist, trunk/fuse/fusepb/Info-Fuse.plist, + trunk/fuse/fusepb/controllers/FuseController.m, + trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html: Add + entries for newly-supported tape and snap formats. + +2008-02-17 02:02 fredm + + * trunk/fuse/ChangeLog, trunk/fuse/Makefile.am, trunk/fuse/README, + trunk/fuse/ay.c, trunk/fuse/compat/Makefile.am, + trunk/fuse/compat/win32/osname.c, trunk/fuse/configure.in, + trunk/fuse/disk/beta.c, trunk/fuse/disk/beta.h, + trunk/fuse/disk/disk.c, trunk/fuse/disk/disk.h, + trunk/fuse/disk/fdd.c, trunk/fuse/disk/fdd.h, + trunk/fuse/disk/plusd.c, trunk/fuse/disk/plusd.h, + trunk/fuse/disk/wd_fdc.c, trunk/fuse/disk/wd_fdc.h, + trunk/fuse/display.c, trunk/fuse/divide.c, + trunk/fuse/fusepb/English.lproj/InfoPlist.strings, + trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj, + trunk/fuse/fusepb/Info-Fuse.plist, + trunk/fuse/fusepb/controllers/FuseController.h, + trunk/fuse/fusepb/controllers/FuseController.m, + trunk/fuse/fusepb/models/Emulator.h, + trunk/fuse/fusepb/models/Emulator.m, + trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib, + trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib, + trunk/fuse/fusepb/resources/Fuse Help/Fuse Help idx, + trunk/fuse/fusepb/resources/Fuse Help/Fuse Help.helpindex, + trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html, + trunk/fuse/fusepb/resources/Fuse Help/html/formats.html, + trunk/fuse/fusepb/resources/Fuse Help/html/menus.html, + trunk/fuse/fusepb/resources/Fuse Help/html/preferences.html, + trunk/fuse/fusepb/resources/Fuse Help/html/tocstart.html, + trunk/fuse/fusepb/resources/Fuse Help/html/trdos.html, + trunk/fuse/fusepb/views/DisplayOpenGLView.h, + trunk/fuse/fusepb/views/DisplayOpenGLView.m, + trunk/fuse/hacking/ChangeLog, trunk/fuse/hacking/cvs-tags, + trunk/fuse/hacking/tc2048_tech_notes.txt, trunk/fuse/if1.c, + trunk/fuse/if1.h, trunk/fuse/if2.c, trunk/fuse/input.c, + trunk/fuse/joystick.c, trunk/fuse/kempmouse.c, + trunk/fuse/keyboard.c, trunk/fuse/machine.c, + trunk/fuse/machines/Makefile.am, trunk/fuse/machines/machines.h, + trunk/fuse/machines/pentagon.c, trunk/fuse/machines/pentagon.h, + trunk/fuse/machines/pentagon1024.c, + trunk/fuse/machines/pentagon512.c, + trunk/fuse/machines/scorpion.c, trunk/fuse/machines/spec128.c, + trunk/fuse/machines/spec16.c, trunk/fuse/machines/spec48.c, + trunk/fuse/machines/spec48.h, trunk/fuse/machines/spec_se.c, + trunk/fuse/machines/specplus2.c, + trunk/fuse/machines/specplus2a.c, + trunk/fuse/machines/specplus3.c, trunk/fuse/machines/specplus3.h, + trunk/fuse/machines/specplus3e.c, trunk/fuse/machines/tc2048.c, + trunk/fuse/machines/tc2068.c, trunk/fuse/machines/ts2068.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/menu_data.pl, trunk/fuse/module.c, + trunk/fuse/module.h, trunk/fuse/periph.c, trunk/fuse/periph.h, + trunk/fuse/printer.c, trunk/fuse/profile.c, trunk/fuse/scld.c, + trunk/fuse/settings.dat, trunk/fuse/settings.pl, + trunk/fuse/simpleide.c, trunk/fuse/slt.c, trunk/fuse/snapshot.c, + trunk/fuse/sound/alsasound.c, trunk/fuse/sound/sdlsound.c, + trunk/fuse/spectrum.c, trunk/fuse/spectrum.h, trunk/fuse/tape.c, + trunk/fuse/tape.h, trunk/fuse/ui.c, + trunk/fuse/ui/cocoa/cocoaui.m, trunk/fuse/ui/fb/fbdisplay.c, + trunk/fuse/ui/fb/fbmouse.c, trunk/fuse/ui/gtk/binary.c, + trunk/fuse/ui/gtk/confirm.c, trunk/fuse/ui/gtk/fileselector.c, + trunk/fuse/ui/gtk/gtkjoystick.c, trunk/fuse/ui/gtk/gtkui.c, + trunk/fuse/ui/gtk/pokefinder.c, trunk/fuse/ui/gtk/rollback.c, + trunk/fuse/ui/gtk/roms.c, trunk/fuse/ui/options.dat, + trunk/fuse/ui/sdl/sdlui.c, trunk/fuse/ui/ui.h, + trunk/fuse/ui/win32/Makefile.am, trunk/fuse/ui/win32/error.c, + trunk/fuse/ui/win32/win32internals.h, + trunk/fuse/ui/win32/win32ui.c, trunk/fuse/ula.c, + trunk/fuse/utils.c, trunk/fuse/widget/browse.c, + trunk/fuse/widget/filesel.c, trunk/fuse/widget/menu.c, + trunk/fuse/widget/options.pl, trunk/fuse/widget/roms.c, + trunk/fuse/widget/widget.c, trunk/fuse/widget/widget.h, + trunk/fuse/widget/widget_internals.h, trunk/fuse/z80/coretest.c, + trunk/fuse/z80/tests/Makefile.am, trunk/fuse/z80/z80.c, + trunk/fuse/z80/z80.pl, trunk/fuse/z80/z80_macros.h, + trunk/fuse/z80/z80_ops.c, trunk/fuse/zxatasp.c, + trunk/fuse/zxcf.c: Merge up to vendor Fuse 0.9.0. + +2008-02-14 13:00 fredm + + * trunk/FuseGenerator/libspectrum.h, + trunk/FuseImporter/GetMetadataForFile.m, + trunk/FuseImporter/LibspectrumMetadataImporter.m, + trunk/FuseImporter/libspectrum.h, trunk/libspectrum/Info.plist, + trunk/libspectrum/libspectrum.h, + trunk/libspectrum/libspectrum.xcodeproj/project.pbxproj, + trunk/libspectrum/libspectrum/COPYING, + trunk/libspectrum/libspectrum/ChangeLog, + trunk/libspectrum/libspectrum/Makefile.am, + trunk/libspectrum/libspectrum/README, + trunk/libspectrum/libspectrum/accessor.pl, + trunk/libspectrum/libspectrum/configure.in, + trunk/libspectrum/libspectrum/csw.c, + trunk/libspectrum/libspectrum/dll.c, + trunk/libspectrum/libspectrum/doc/cvs-tags, + trunk/libspectrum/libspectrum/doc/libspectrum.3, + trunk/libspectrum/libspectrum/doc/libspectrum.txt, + trunk/libspectrum/libspectrum/hacking/ChangeLog, + trunk/libspectrum/libspectrum/internals.h, + trunk/libspectrum/libspectrum/libspectrum.c, + trunk/libspectrum/libspectrum/libspectrum.h.in, + trunk/libspectrum/libspectrum/plusd.c, + trunk/libspectrum/libspectrum/sna.c, + trunk/libspectrum/libspectrum/snap_accessors.txt, + trunk/libspectrum/libspectrum/snapshot.c, + trunk/libspectrum/libspectrum/szx.c, + trunk/libspectrum/libspectrum/tap.c, + trunk/libspectrum/libspectrum/tape.c, + trunk/libspectrum/libspectrum/tape_block.c, + trunk/libspectrum/libspectrum/test/Makefile.am, + trunk/libspectrum/libspectrum/test/empty.csw, + trunk/libspectrum/libspectrum/test/sp-2000.sna.gz, + trunk/libspectrum/libspectrum/test/sp-ffff.sna.gz, + trunk/libspectrum/libspectrum/test/test.c, + trunk/libspectrum/libspectrum/timings.c, + trunk/libspectrum/libspectrum/z80.c: Merge up to vendor version + 0.4.0. + +2008-02-13 12:54 fredm + + * trunk/fuse/fusepb/controllers/FuseController.h, + trunk/fuse/fusepb/controllers/FuseController.m, + trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib, + trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib, + trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib, + trunk/fuse/fusepb/views/DisplayOpenGLView.h, + trunk/fuse/fusepb/views/DisplayOpenGLView.m: Fix the blocked + keyboard from Command-q (quit), Command-h (hide) and Command-m + (minimise) (fixes bug #1842577). + +2008-02-11 12:16 fredm + + * trunk/fuse/fusepb/controllers/FuseController.h, + trunk/fuse/fusepb/controllers/FuseController.m, + trunk/fuse/fusepb/views/DisplayOpenGLView.m: Clear stuck shortcut + keys for Command-{0,1,2,3,f,s,z,b,o,p,period}, still need to + handle Command-q (quit), Command-h (hide) and Command-m + (minimise). + +2008-02-10 20:47 fredm + + * trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj, + trunk/fuse/fusepb/controllers/FuseController.h, + trunk/fuse/fusepb/controllers/FuseController.m, + trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib, + trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib, + trunk/fuse/fusepb/views/DisplayOpenGLView.h, + trunk/fuse/fusepb/views/DisplayOpenGLView.m: Make application + quit menu use performClose on the window, and switch exit confirm + dialog to windowShouldClose in DisplayOpenGLView (partial fix to + bug #1842576). + +2007-12-21 02:42 fredm + + * trunk/FuseGenerator/LibspectrumSCRExtractor.m: Some SCREEN$ were + saved from places other than 16384 (presumably due to art + packages and the like). + +2007-12-21 00:16 fredm + + * trunk/FuseGenerator, trunk/FuseGenerator/English.lproj, + trunk/FuseGenerator/English.lproj/InfoPlist.strings, + trunk/FuseGenerator/FuseGenerator.xcodeproj, + trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj, + trunk/FuseGenerator/GeneratePreviewForURL.m, + trunk/FuseGenerator/GenerateThumbnailForURL.m, + trunk/FuseGenerator/Info.plist, + trunk/FuseGenerator/JWSpectrumScreen, + trunk/FuseGenerator/JWSpectrumScreen/AttributeBlock.h, + trunk/FuseGenerator/JWSpectrumScreen/AttributeBlock.m, + trunk/FuseGenerator/JWSpectrumScreen/AttributeBlockIterator.h, + trunk/FuseGenerator/JWSpectrumScreen/AttributeBlockIterator.m, + trunk/FuseGenerator/JWSpectrumScreen/AttributeBlockTimex.h, + trunk/FuseGenerator/JWSpectrumScreen/AttributeBlockTimex.m, + trunk/FuseGenerator/JWSpectrumScreen/AttributeBlockTimexHiRes.h, + trunk/FuseGenerator/JWSpectrumScreen/AttributeBlockTimexHiRes.m, + trunk/FuseGenerator/JWSpectrumScreen/AttributeManager.c, + trunk/FuseGenerator/JWSpectrumScreen/AttributeManager.h, + trunk/FuseGenerator/JWSpectrumScreen/ColourMacros.c, + trunk/FuseGenerator/JWSpectrumScreen/ColourMacros.h, + trunk/... [truncated message content] |
From: <fr...@us...> - 2009-07-05 12:10:30
|
Revision: 604 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=604&view=rev Author: fredm Date: 2009-07-05 12:10:29 +0000 (Sun, 05 Jul 2009) Log Message: ----------- Update version strings and changelog for beta 20090705. Modified Paths: -------------- trunk/fuse/fusepb/English.lproj/InfoPlist.strings trunk/fuse/fusepb/Info-Fuse.plist trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html Modified: trunk/fuse/fusepb/English.lproj/InfoPlist.strings =================================================================== (Binary files differ) Modified: trunk/fuse/fusepb/Info-Fuse.plist =================================================================== --- trunk/fuse/fusepb/Info-Fuse.plist 2009-07-05 08:47:36 UTC (rev 603) +++ trunk/fuse/fusepb/Info-Fuse.plist 2009-07-05 12:10:29 UTC (rev 604) @@ -476,11 +476,11 @@ <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleShortVersionString</key> - <string>0.10.0</string> + <string>20090605</string> <key>CFBundleSignature</key> <string>FUSE</string> <key>CFBundleVersion</key> - <string>0.10.0</string> + <string>20090605</string> <key>NSMainNibFile</key> <string>MainMenu</string> <key>NSPrincipalClass</key> Modified: trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html 2009-07-05 08:47:36 UTC (rev 603) +++ trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html 2009-07-05 12:10:29 UTC (rev 604) @@ -14,89 +14,82 @@ name="What's New In Fuse?" id="What's New In Fuse?"></a><!-- AppleSegDescription="This section describes the changes for version 0.10.0 of the Fuse emulator." --></font><br> <div class="refsect1" xml:lang="en" lang="en"> <h2><font face="Lucida Grande,Helvetica,Arial">What's new in Fuse -For Mac OS X 0.10.0</font></h2> +For Mac OS X Beta 20090605</font></h2> <ul> <li><font face="Lucida Grande,Helvetica,Arial">New features:</font></li> <li style="list-style-type: none; list-style-image: none; list-style-position: outside;"> <ul> - <li><font face="Lucida Grande,Helvetica,Arial">New upd765 FDC -emulation; all known +3 DSK images now work (Gergely Szasz; thanks to -Simon Owen for expert technical advice).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Loading -acceleration (Philip Kendall).<br> + <li><font face="Lucida Grande,Helvetica,Arial">Add support for +flipping disk images in single sided drives (Gergely Szasz).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Add support for +automatically merging both both disk images where they are in separate +files named with the text [Ss]ide[ _][abAB12] (Gergely Szasz).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Switch to using +Blip_Buffer (by Shay Green) for improved beeper and AY output (Fredrick +Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Enable Beta 128 +interface in 48K and TC2048 machines (thanks, Omikron) (Fredrick +Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Add emulation of +the Fuller Audio Box (Stuart Brady & Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Allow sound to run +from 2% speed up (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Add emulation of +the Melodik and similar 48K-compatible AY interfaces that use the 128K +sound ports (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Add support for +Pentagon 1024SL v2.2 16 colour mode (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">New Preferences +window (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Allow beeper and +AY volumes to be set individually (Fredrick Meunier).<br> </font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Automatic saves -while using RZX recording (Philip Kendall).</font></li> - </ul> - </li> - <li><font face="Lucida Grande,Helvetica,Arial">Emulation core -improvements:</font></li> - <li - style="list-style-type: none; list-style-image: none; list-style-position: outside;"> - <ul> - <li><font face="Lucida Grande,Helvetica,Arial">New late timings -option to emulate machines with 1 tstate later timings (Philip Kendall).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Reading from the -128K's memory control port causes that byte to be written back to the -port (Philip Kendall; thanks, Marat Fayzullin).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Reading the AY -data port on the +2A/+3 is the same as reading the register port -(Philip Kendall; thanks, Mark Woodmass).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">NMI causes Z80 to -unHALT (Philip Kendall; thanks, Simon Owen).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Emulate C, H and -P/V flags on repeated IO instructions (Philip Kendall).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">IDE improvements -to allow DivIDE to support FATware (Philip Kendall; thanks, -http://www.dusky.sk/zxs/).<br> + <li><font face="Lucida Grande,Helvetica,Arial">Collapse Media +menu hierarchy, to just have Tape, Disk A, Disk B, Master, Slave, +Microdrive 1 and 2 etc. (Fredrick Meunier).<br> </font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Add Pause menu +option (</font><font face="Lucida Grande,Helvetica,Arial">Fredrick +Meunier).</font><br> + <font face="Lucida Grande,Helvetica,Arial"><br> + </font></li> </ul> </li> - <li><font face="Lucida Grande,Helvetica,Arial">Debugger improvements:</font></li> - <ul> - <li><font face="Lucida Grande,Helvetica,Arial">Debugger events to -allow the debugger to stop when various Spectrum-level events happen -(Philip Kendall).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Make time -breakpoints work properly when more than one is present (Philip -Kendall).</font></li> - </ul> <li><font face="Lucida Grande,Helvetica,Arial">Miscellaneous improvements:</font></li> <ul> - <li><font face="Lucida Grande,Helvetica,Arial">Loader detection now -works with the Digital Integration loader (Philip Kendall).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Updated HQ2X and -HQ3x -scalers (Gergely Szasz).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Revert Pentagon 128 -to being the "base" machine without extra ROMs (Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Updated +3e ROMs -(Fredrick Meunier; thanks, Garry Lancaster).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Allow DivIDE, custom -ROMs, Kempston mouse status and Simple 8-bit IDE interface to be saved -in snapshots (Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Better (but probably -not perfect) TS2068 contention (Philip Kendall).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">128K SNA files are -now treated as being for the Pentagon 128 rather than the Spectrum 128 + <li><font face="Lucida Grande,Helvetica,Arial">Preformat new disks +on +3 to allow the format command on +3 to work (Gergely Szasz).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Support non-standard +TRD images with 41-83 tracks per side (Gergely Szasz).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Allow user to swap +Kempston mouse buttons as some combinations of physical hardware and +Spectrum software make it hard to use the standard mapping e.g. right +clicking and moving the cursor on Mac notebooks (thanks, Andrew Owen) (Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">SNA files now -written out correctly (Philip Kendall).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Handle MDR write -protection flag correctly (Philip Kendall).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Allow MDR images -with bad checksums to load (the error will be handled by the IF1 ROM) -(Gergely Szasz).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Don't switch machine -on autoloading a Timex dock cart if we can already support them in the -current machine (Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Fix loading of -DOCK/EXROM information from Timex snapshots (Fredrick Meunier).</font></li> - <ul> - </ul> + <li><font face="Lucida Grande,Helvetica,Arial">Fixes for speed +estimation (Gergely Szasz).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Fix border colour in +Timex HiRes screenshots (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Fix loading Warajevo +TAPs of raw samples (e.g. BRUCELEE.TAP) (</font><font + face="Lucida Grande,Helvetica,Arial">Fredrick Meunier</font><font + face="Lucida Grande,Helvetica,Arial">).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Correct loading Beta +128 disks from disk open dialog (</font><font + face="Lucida Grande,Helvetica,Arial">Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Fix mass storage +preference setting (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Fix bug where having +the tape browser or keyboard viewer open </font><font + face="Lucida Grande,Helvetica,Arial">prevented</font><font + face="Lucida Grande,Helvetica,Arial"> Fuse from quitting (Fredrick +Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Make the keyboard +viewer resizable (Fredrick Meunier).<br> + </font></li> </ul> <li><font face="Lucida Grande,Helvetica,Arial">Various other minor bugfixes.</font></li> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2009-07-05 08:47:37
|
Revision: 603 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=603&view=rev Author: fredm Date: 2009-07-05 08:47:36 +0000 (Sun, 05 Jul 2009) Log Message: ----------- Collapse Media menu hierarchy, just have Tape, Disk A, Disk B, Master, Slave, Microdrive 1 and 2 etc. Modified Paths: -------------- trunk/fuse/fusepb/controllers/FuseController.h trunk/fuse/fusepb/controllers/FuseController.m trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib Modified: trunk/fuse/fusepb/controllers/FuseController.h =================================================================== --- trunk/fuse/fusepb/controllers/FuseController.h 2009-06-30 12:40:55 UTC (rev 602) +++ trunk/fuse/fusepb/controllers/FuseController.h 2009-07-05 08:47:36 UTC (rev 603) @@ -39,44 +39,20 @@ @interface FuseController : NSObject { - IBOutlet NSMenuItem *cart; - IBOutlet NSMenuItem *dock; - IBOutlet NSMenuItem *if1; + IBOutlet NSMenuItem *cartridge; + IBOutlet NSMenuItem *mdr1; + IBOutlet NSMenuItem *mdr2; IBOutlet NSMenuItem *if1Wp1; IBOutlet NSMenuItem *if1Wp2; - IBOutlet NSMenuItem *if1Wp3; - IBOutlet NSMenuItem *if1Wp4; - IBOutlet NSMenuItem *if1Wp5; - IBOutlet NSMenuItem *if1Wp6; - IBOutlet NSMenuItem *if1Wp7; - IBOutlet NSMenuItem *if1Wp8; - IBOutlet NSMenuItem *if2; - IBOutlet NSMenuItem *disk; - IBOutlet NSMenuItem *diskPlus3; - IBOutlet NSMenuItem *diskPlus3FlipA; - IBOutlet NSMenuItem *diskPlus3WpA; - IBOutlet NSMenuItem *diskPlus3B; - IBOutlet NSMenuItem *diskPlus3FlipB; - IBOutlet NSMenuItem *diskPlus3WpB; - IBOutlet NSMenuItem *diskTrDos; - IBOutlet NSMenuItem *diskTrDosA; - IBOutlet NSMenuItem *diskTrDosWpA; - IBOutlet NSMenuItem *diskTrDosFlipA; - IBOutlet NSMenuItem *diskTrDosB; - IBOutlet NSMenuItem *diskTrDosWpB; - IBOutlet NSMenuItem *diskTrDosFlipB; - IBOutlet NSMenuItem *diskPlusD; - IBOutlet NSMenuItem *diskPlusDA; - IBOutlet NSMenuItem *diskPlusDWpA; - IBOutlet NSMenuItem *diskPlusDFlipA; - IBOutlet NSMenuItem *diskPlusDB; - IBOutlet NSMenuItem *diskPlusDWpB; - IBOutlet NSMenuItem *diskPlusDFlipB; - IBOutlet NSMenuItem *ide; - IBOutlet NSMenuItem *divide; + IBOutlet NSMenuItem *diskA; + IBOutlet NSMenuItem *diskB; + IBOutlet NSMenuItem *diskFlipA; + IBOutlet NSMenuItem *diskWpA; + IBOutlet NSMenuItem *diskFlipB; + IBOutlet NSMenuItem *diskWpB; + IBOutlet NSMenuItem *ideMaster; + IBOutlet NSMenuItem *ideSlave; IBOutlet NSMenuItem *simple8Bit; - IBOutlet NSMenuItem *zxatasp; - IBOutlet NSMenuItem *zxcf; IBOutlet NSMenuItem *pause; IBOutlet NSMenuItem *tapePlay; IBOutlet NSMenuItem *tapeRecord; @@ -112,6 +88,8 @@ - (IBAction)disk_flip_b:(id)sender; - (IBAction)dock_eject:(id)sender; - (IBAction)dock_open:(id)sender; +- (IBAction)cart_eject:(id)sender; +- (IBAction)cart_open:(id)sender; - (IBAction)export_screen:(id)sender; - (IBAction)fullscreen:(id)sender; - (IBAction)hard_reset:(id)sender; @@ -179,6 +157,10 @@ - (void)ui_menu_activate_media_cartridge_if2:(NSNumber*)active; - (void)ui_menu_activate_media_cartridge_if2_eject:(NSNumber*)active; - (void)ui_menu_activate_media_disk:(NSNumber*)active; +- (void)ui_menu_activate_media_disk_a_flip; +- (void)ui_menu_activate_media_disk_a_wp_set; +- (void)ui_menu_activate_media_disk_b_flip; +- (void)ui_menu_activate_media_disk_b_wp_set; - (void)ui_menu_activate_media_disk_plus3:(NSNumber*)active; - (void)ui_menu_activate_media_disk_plus3_a_eject:(NSNumber*)active; - (void)ui_menu_activate_media_disk_plus3_a_flip:(NSNumber*)active; Modified: trunk/fuse/fusepb/controllers/FuseController.m =================================================================== --- trunk/fuse/fusepb/controllers/FuseController.m 2009-06-30 12:40:55 UTC (rev 602) +++ trunk/fuse/fusepb/controllers/FuseController.m 2009-07-05 08:47:36 UTC (rev 603) @@ -75,6 +75,18 @@ static int diskTrdosEjectB = 0; static int diskPlusDEjectA = 0; static int diskPlusDEjectB = 0; +static BOOL diskPlus3FlipA = NO; +static BOOL diskPlus3FlipB = NO; +static BOOL diskTrDosFlipA = NO; +static BOOL diskTrDosFlipB = NO; +static BOOL diskPlusDFlipA = NO; +static BOOL diskPlusDFlipB = NO; +static BOOL diskPlus3WpA = NO; +static BOOL diskPlus3WpB = NO; +static BOOL diskTrDosWpA = NO; +static BOOL diskTrDosWpB = NO; +static BOOL diskPlusDWpA = NO; +static BOOL diskPlusDWpB = NO; static int record = 1; static int recordFromSnapshot = 1; static int play = 1; @@ -311,6 +323,59 @@ [self newDisk:SPECPLUS3_DRIVE_B]; } +- (IBAction)cart_eject:(id)sender +{ + [[DisplayOpenGLView instance] pause]; + + if ( libspectrum_machine_capabilities( machine_current->machine ) & + LIBSPECTRUM_MACHINE_CAPABILITY_TIMEX_DOCK ) { + [[DisplayOpenGLView instance] dckEject]; + } else { + [[DisplayOpenGLView instance] if2Eject]; + } + + [[DisplayOpenGLView instance] unpause]; +} + +- (IBAction)cart_open:(id)sender +{ + int error; + char *filename = NULL; + NSArray *fileTypes; + NSString *message; + + [[DisplayOpenGLView instance] pause]; + + if ( libspectrum_machine_capabilities( machine_current->machine ) & + LIBSPECTRUM_MACHINE_CAPABILITY_TIMEX_DOCK ) { + message = @"Insert Timex dock cartridge"; + fileTypes = dckFileTypes; + } else { + message = @"Insert Interface II cartridge"; + fileTypes = romFileTypes; + } + + filename = cocoaui_openpanel_get_filename( message, fileTypes ); + + if( !filename ) { [[DisplayOpenGLView instance] unpause]; return; } + + if ( libspectrum_machine_capabilities( machine_current->machine ) & + LIBSPECTRUM_MACHINE_CAPABILITY_TIMEX_DOCK ) { + error = [[DisplayOpenGLView instance] dckInsert:filename]; + } else { + error = [[DisplayOpenGLView instance] if2Insert:filename]; + } + + if(error) goto error; + + [self addRecentSnapshot:filename]; + +error: + free( filename ); + + [[DisplayOpenGLView instance] unpause]; +} + - (IBAction)dock_open:(id)sender { int error; @@ -377,6 +442,7 @@ { int error=0; char *filename = NULL; + libspectrum_ide_unit unit; [[DisplayOpenGLView instance] pause]; @@ -384,14 +450,16 @@ if( !filename ) { [[DisplayOpenGLView instance] unpause]; return; } - switch( [sender tag] ) { - case 41: error = [[DisplayOpenGLView instance] simpleideInsert:filename inUnit:LIBSPECTRUM_IDE_MASTER]; break; - case 42: error = [[DisplayOpenGLView instance] simpleideInsert:filename inUnit:LIBSPECTRUM_IDE_SLAVE]; break; - case 43: error = [[DisplayOpenGLView instance] zxataspInsert:filename inUnit:LIBSPECTRUM_IDE_MASTER]; break; - case 44: error = [[DisplayOpenGLView instance] zxataspInsert:filename inUnit:LIBSPECTRUM_IDE_SLAVE]; break; - case 45: error = [[DisplayOpenGLView instance] zxcfInsert:filename]; break; - case 46: error = [[DisplayOpenGLView instance] divideInsert:filename inUnit:LIBSPECTRUM_IDE_MASTER]; break; - case 47: error = [[DisplayOpenGLView instance] divideInsert:filename inUnit:LIBSPECTRUM_IDE_SLAVE]; break; + unit = [sender tag] == 41 ? LIBSPECTRUM_IDE_MASTER : LIBSPECTRUM_IDE_SLAVE; + + if( settings_current.divide_enabled ) { + error = [[DisplayOpenGLView instance] divideInsert:filename inUnit:unit]; + } else if( settings_current.simpleide_active ) { + error = [[DisplayOpenGLView instance] simpleideInsert:filename inUnit:unit]; + } else if( settings_current.zxatasp_active ) { + error = [[DisplayOpenGLView instance] zxataspInsert:filename inUnit:unit]; + } else if( settings_current.zxcf_active ) { + error = [[DisplayOpenGLView instance] zxcfInsert:filename]; } if(error) goto error; @@ -406,16 +474,20 @@ - (IBAction)ide_commit:(id)sender { + libspectrum_ide_unit unit; + [[DisplayOpenGLView instance] pause]; - switch( [sender tag] ) { - case 51: [[DisplayOpenGLView instance] simpleideCommit:LIBSPECTRUM_IDE_MASTER]; break; - case 52: [[DisplayOpenGLView instance] simpleideCommit:LIBSPECTRUM_IDE_SLAVE]; break; - case 53: [[DisplayOpenGLView instance] zxataspCommit:LIBSPECTRUM_IDE_MASTER]; break; - case 54: [[DisplayOpenGLView instance] zxataspCommit:LIBSPECTRUM_IDE_SLAVE]; break; - case 55: [[DisplayOpenGLView instance] zxcfCommit]; break; - case 56: [[DisplayOpenGLView instance] divideCommit:LIBSPECTRUM_IDE_MASTER]; break; - case 57: [[DisplayOpenGLView instance] divideCommit:LIBSPECTRUM_IDE_SLAVE]; break; + unit = [sender tag] == 51 ? LIBSPECTRUM_IDE_MASTER : LIBSPECTRUM_IDE_SLAVE; + + if( settings_current.divide_enabled ) { + [[DisplayOpenGLView instance] divideCommit:unit]; + } else if( settings_current.simpleide_active ) { + [[DisplayOpenGLView instance] simpleideCommit:unit]; + } else if( settings_current.zxatasp_active ) { + [[DisplayOpenGLView instance] zxataspCommit:unit]; + } else if( settings_current.zxcf_active ) { + [[DisplayOpenGLView instance] zxcfCommit]; } [[DisplayOpenGLView instance] unpause]; @@ -423,14 +495,18 @@ - (IBAction)ide_eject:(id)sender { - switch( [sender tag] ) { - case 61: [[DisplayOpenGLView instance] simpleideEject:LIBSPECTRUM_IDE_MASTER]; break; - case 62: [[DisplayOpenGLView instance] simpleideEject:LIBSPECTRUM_IDE_SLAVE]; break; - case 63: [[DisplayOpenGLView instance] zxataspEject:LIBSPECTRUM_IDE_MASTER]; break; - case 64: [[DisplayOpenGLView instance] zxataspEject:LIBSPECTRUM_IDE_SLAVE]; break; - case 65: [[DisplayOpenGLView instance] zxcfEject]; break; - case 66: [[DisplayOpenGLView instance] divideEject:LIBSPECTRUM_IDE_MASTER]; break; - case 67: [[DisplayOpenGLView instance] divideEject:LIBSPECTRUM_IDE_SLAVE]; break; + libspectrum_ide_unit unit; + + unit = [sender tag] == 61 ? LIBSPECTRUM_IDE_MASTER : LIBSPECTRUM_IDE_SLAVE; + + if( settings_current.divide_enabled ) { + [[DisplayOpenGLView instance] divideEject:unit]; + } else if( settings_current.simpleide_active ) { + [[DisplayOpenGLView instance] simpleideEject:unit]; + } else if( settings_current.zxatasp_active ) { + [[DisplayOpenGLView instance] zxataspEject:unit]; + } else if( settings_current.zxcf_active ) { + [[DisplayOpenGLView instance] zxcfEject]; } } @@ -1026,23 +1102,22 @@ *-----------------------------------------------------------------------------*/ - (void) releaseKey:(int)keyCode { - NSEvent *event1; - NSPoint point; + NSEvent *event1; + NSPoint point; - event1 = [NSEvent keyEventWithType:NSKeyUp location:point modifierFlags:0 - timestamp:0 windowNumber:0 context:nil characters:@" " - charactersIgnoringModifiers:@" " isARepeat:NO keyCode:keyCode]; - [NSApp postEvent:event1 atStart:NO]; + event1 = [NSEvent keyEventWithType:NSKeyUp location:point modifierFlags:0 + timestamp:0 windowNumber:0 context:nil characters:@" " + charactersIgnoringModifiers:@" " isARepeat:NO keyCode:keyCode]; + [NSApp postEvent:event1 atStart:NO]; } - (void)ui_menu_activate_media_cartridge:(NSNumber*)active { - [cart setEnabled:[active boolValue]]; + [cartridge setEnabled:[active boolValue]]; } - (void)ui_menu_activate_media_cartridge_dock:(NSNumber*)active { - [dock setEnabled:[active boolValue]]; } - (void)ui_menu_activate_media_cartridge_dock_eject:(NSNumber*)active @@ -1052,7 +1127,6 @@ - (void)ui_menu_activate_media_cartridge_if2:(NSNumber*)active { - [if2 setEnabled:[active boolValue]]; } - (void)ui_menu_activate_media_cartridge_if2_eject:(NSNumber*)active @@ -1062,12 +1136,12 @@ - (void)ui_menu_activate_media_disk:(NSNumber*)active { - [disk setEnabled:[active boolValue]]; + [diskA setEnabled:[active boolValue]]; + [diskB setEnabled:[active boolValue]]; } - (void)ui_menu_activate_media_disk_plus3:(NSNumber*)active { - [diskPlus3 setEnabled:[active boolValue]]; } - (void)ui_menu_activate_media_disk_plus3_a_eject:(NSNumber*)active @@ -1075,19 +1149,86 @@ diskPlus3EjectA = [active boolValue]; } +- (void)ui_menu_activate_media_disk_a_flip +{ + bool newValue = NO; + + if( !machine_current ) { + } else if( machine_current->machine == LIBSPECTRUM_MACHINE_PLUS3 ) { + newValue = diskPlus3FlipA; + } else if( periph_beta128_active ) { + newValue = diskTrDosFlipA; + } else { + newValue = diskPlusDFlipA; + } + + [diskFlipA setState:!newValue]; +} + +- (void)ui_menu_activate_media_disk_b_flip +{ + bool newValue = NO; + + if( !machine_current ) { + } else if( machine_current->machine == LIBSPECTRUM_MACHINE_PLUS3 ) { + newValue = diskPlus3FlipB; + } else if( periph_beta128_active ) { + newValue = diskTrDosFlipB; + } else { + newValue = diskPlusDFlipB; + } + + [diskFlipB setState:!newValue]; +} + +- (void)ui_menu_activate_media_disk_a_wp_set +{ + bool newValue = NO; + + if( !machine_current ) { + } else if( machine_current->machine == LIBSPECTRUM_MACHINE_PLUS3 ) { + newValue = diskPlus3WpA; + } else if( periph_beta128_active ) { + newValue = diskTrDosWpA; + } else { + newValue = diskPlusDWpA; + } + + [diskWpA setState:newValue]; +} + +- (void)ui_menu_activate_media_disk_b_wp_set +{ + bool newValue = NO; + + if( !machine_current ) { + } else if( machine_current->machine == LIBSPECTRUM_MACHINE_PLUS3 ) { + newValue = diskPlus3WpB; + } else if( periph_beta128_active ) { + newValue = diskTrDosWpB; + } else { + newValue = diskPlusDWpB; + } + + [diskWpB setState:newValue]; +} + - (void)ui_menu_activate_media_disk_plus3_a_flip:(NSNumber*)active { - [diskPlus3FlipA setState:[active boolValue] == YES ? NSOffState : NSOnState]; + diskPlus3FlipA = [active boolValue]; + + [self ui_menu_activate_media_disk_a_flip]; } - (void)ui_menu_activate_media_disk_plus3_a_wp_set:(NSNumber*)active { - [diskPlus3WpA setState:[active boolValue] == YES ? NSOffState : NSOnState]; + diskPlus3WpA = [active boolValue]; + + [self ui_menu_activate_media_disk_a_wp_set]; } - (void)ui_menu_activate_media_disk_plus3_b:(NSNumber*)active { - [diskPlus3B setEnabled:[active boolValue]]; } - (void)ui_menu_activate_media_disk_plus3_b_eject:(NSNumber*)active @@ -1097,22 +1238,24 @@ - (void)ui_menu_activate_media_disk_plus3_b_flip:(NSNumber*)active { - [diskPlus3FlipB setState:[active boolValue] == YES ? NSOffState : NSOnState]; + diskPlus3FlipB = [active boolValue]; + + [self ui_menu_activate_media_disk_b_flip]; } - (void)ui_menu_activate_media_disk_plus3_b_wp_set:(NSNumber*)active { - [diskPlus3WpB setState:[active boolValue] == YES ? NSOffState : NSOnState]; + diskPlus3WpB = [active boolValue]; + + [self ui_menu_activate_media_disk_b_wp_set]; } - (void)ui_menu_activate_media_disk_beta:(NSNumber*)active { - [diskTrDos setEnabled:[active boolValue]]; } - (void)ui_menu_activate_media_disk_beta_a:(NSNumber*)active { - [diskTrDosA setEnabled:[active boolValue]]; } - (void)ui_menu_activate_media_disk_beta_a_eject:(NSNumber*)active @@ -1122,17 +1265,19 @@ - (void)ui_menu_activate_media_disk_beta_a_flip:(NSNumber*)active { - [diskTrDosFlipA setState:[active boolValue] == YES ? NSOffState : NSOnState]; + diskTrDosFlipA = [active boolValue]; + [self ui_menu_activate_media_disk_a_flip]; } - (void)ui_menu_activate_media_disk_beta_a_wp_set:(NSNumber*)active { - [diskTrDosWpA setState:[active boolValue] == YES ? NSOffState : NSOnState]; + diskTrDosWpA = [active boolValue]; + + [self ui_menu_activate_media_disk_a_wp_set]; } - (void)ui_menu_activate_media_disk_beta_b:(NSNumber*)active { - [diskTrDosB setEnabled:[active boolValue]]; } - (void)ui_menu_activate_media_disk_beta_b_eject:(NSNumber*)active @@ -1142,22 +1287,24 @@ - (void)ui_menu_activate_media_disk_beta_b_flip:(NSNumber*)active { - [diskTrDosFlipB setState:[active boolValue] == YES ? NSOffState : NSOnState]; + diskTrDosFlipB = [active boolValue]; + + [self ui_menu_activate_media_disk_b_flip]; } - (void)ui_menu_activate_media_disk_beta_b_wp_set:(NSNumber*)active { - [diskTrDosWpB setState:[active boolValue] == YES ? NSOffState : NSOnState]; + diskTrDosWpB = [active boolValue]; + + [self ui_menu_activate_media_disk_b_wp_set]; } - (void)ui_menu_activate_media_disk_plusd:(NSNumber*)active { - [diskPlusD setEnabled:[active boolValue]]; } - (void)ui_menu_activate_media_disk_plusd_a:(NSNumber*)active { - [diskPlusDA setEnabled:[active boolValue]]; } - (void)ui_menu_activate_media_disk_plusd_a_eject:(NSNumber*)active @@ -1167,17 +1314,20 @@ - (void)ui_menu_activate_media_disk_plusd_a_flip:(NSNumber*)active { - [diskPlusDFlipA setState:[active boolValue] == YES ? NSOffState : NSOnState]; + diskPlusDFlipA = [active boolValue]; + + [self ui_menu_activate_media_disk_a_flip]; } - (void)ui_menu_activate_media_plusd_a_wp_set:(NSNumber*)active { - [diskPlusDWpA setState:[active boolValue] == YES ? NSOffState : NSOnState]; + diskPlusDWpA = [active boolValue]; + + [self ui_menu_activate_media_disk_a_wp_set]; } - (void)ui_menu_activate_media_disk_plusd_b:(NSNumber*)active { - [diskPlusDB setEnabled:[active boolValue]]; } - (void)ui_menu_activate_media_disk_plusd_b_eject:(NSNumber*)active @@ -1187,22 +1337,26 @@ - (void)ui_menu_activate_media_disk_plusd_b_flip:(NSNumber*)active { - [diskPlusDFlipB setState:[active boolValue] == YES ? NSOffState : NSOnState]; + diskPlusDFlipB = [active boolValue]; + + [self ui_menu_activate_media_disk_b_flip]; } - (void)ui_menu_activate_media_plusd_b_wp_set:(NSNumber*)active { - [diskPlusDWpB setState:[active boolValue] == YES ? NSOffState : NSOnState]; + diskPlusDWpB = [active boolValue]; + + [self ui_menu_activate_media_disk_b_wp_set]; } - (void)ui_menu_activate_media_ide:(NSNumber*)active { - [ide setEnabled:[active boolValue]]; + [ideMaster setEnabled:[active boolValue]]; + [ideSlave setEnabled:[active boolValue]]; } - (void)ui_menu_activate_media_ide_divide:(NSNumber*)active { - [divide setEnabled:[active boolValue]]; } - (void)ui_menu_activate_media_ide_divide_master_eject:(NSNumber*)active @@ -1217,7 +1371,6 @@ - (void)ui_menu_activate_media_ide_simple8bit:(NSNumber*)active { - [simple8Bit setEnabled:[active boolValue]]; } - (void)ui_menu_activate_media_ide_simple8bit_master_eject:(NSNumber*)active @@ -1232,7 +1385,6 @@ - (void)ui_menu_activate_media_ide_zxatasp:(NSNumber*)active { - [zxatasp setEnabled:[active boolValue]]; } - (void)ui_menu_activate_media_ide_zxatasp_master_eject:(NSNumber*)active @@ -1247,7 +1399,6 @@ - (void)ui_menu_activate_media_ide_zxcf:(NSNumber*)active { - [zxcf setEnabled:[active boolValue]]; } - (void)ui_menu_activate_media_ide_zxcf_eject:(NSNumber*)active @@ -1257,7 +1408,8 @@ - (void)ui_menu_activate_media_if1:(NSNumber*)active { - [if1 setEnabled:[active boolValue]]; + [mdr1 setEnabled:[active boolValue]]; + [mdr2 setEnabled:[active boolValue]]; } - (void)ui_menu_activate_media_if1_m1_eject:(NSNumber*)active @@ -1287,7 +1439,6 @@ - (void)ui_menu_activate_media_if1_m3_wp_set:(NSNumber*)active { - [if1Wp3 setState:[active boolValue] == YES ? NSOffState : NSOnState]; } - (void)ui_menu_activate_media_if1_m4_eject:(NSNumber*)active @@ -1297,7 +1448,6 @@ - (void)ui_menu_activate_media_if1_m4_wp_set:(NSNumber*)active { - [if1Wp4 setState:[active boolValue] == YES ? NSOffState : NSOnState]; } - (void)ui_menu_activate_media_if1_m5_eject:(NSNumber*)active @@ -1307,7 +1457,6 @@ - (void)ui_menu_activate_media_if1_m5_wp_set:(NSNumber*)active { - [if1Wp5 setState:[active boolValue] == YES ? NSOffState : NSOnState]; } - (void)ui_menu_activate_media_if1_m6_eject:(NSNumber*)active @@ -1317,7 +1466,6 @@ - (void)ui_menu_activate_media_if1_m6_wp_set:(NSNumber*)active { - [if1Wp6 setState:[active boolValue] == YES ? NSOffState : NSOnState]; } - (void)ui_menu_activate_media_if1_m7_eject:(NSNumber*)active @@ -1327,7 +1475,6 @@ - (void)ui_menu_activate_media_if1_m7_wp_set:(NSNumber*)active { - [if1Wp7 setState:[active boolValue] == YES ? NSOffState : NSOnState]; } - (void)ui_menu_activate_media_if1_m8_eject:(NSNumber*)active @@ -1337,7 +1484,6 @@ - (void)ui_menu_activate_media_if1_m8_wp_set:(NSNumber*)active { - [if1Wp8 setState:[active boolValue] == YES ? NSOffState : NSOnState]; } - (void)ui_menu_activate_recording:(NSNumber*)active @@ -1382,42 +1528,6 @@ case 3: return stopPsg == 0 ? NO : YES; break; - case 4: - case 10: - case 28: - case 40: - return diskPlus3EjectA == 0 ? NO : YES; - break; - case 5: - case 11: - case 29: - case 41: - return diskPlus3EjectB == 0 ? NO : YES; - break; - case 13: - case 14: - case 27: - case 42: - return diskTrdosEjectA == 0 ? NO : YES; - break; - case 15: - case 16: - case 26: - case 43: - return diskTrdosEjectB == 0 ? NO : YES; - break; - case 20: - case 21: - case 24: - case 44: - return diskPlusDEjectA == 0 ? NO : YES; - break; - case 22: - case 23: - case 25: - case 45: - return diskPlusDEjectB == 0 ? NO : YES; - break; case 6: return record == 0 ? NO : YES; break; @@ -1523,6 +1633,18 @@ case 144: return if1M8Eject == 0 ? NO : YES; break; + case 150: + case 151: + case 152: + case 153: + return diskPlus3EjectA || diskTrdosEjectA || diskPlusDEjectA ? YES : NO; + break; + case 160: + case 161: + case 162: + case 163: + return diskPlus3EjectB || diskTrdosEjectB || diskPlusDEjectB ? YES : NO; + break; default: return YES; } @@ -2272,7 +2394,6 @@ break; case UI_MENU_ITEM_MEDIA_DISK_PLUS3: - method = @selector(ui_menu_activate_media_disk_plus3:); break; case UI_MENU_ITEM_MEDIA_DISK_PLUS3_A_EJECT: @@ -2288,7 +2409,6 @@ break; case UI_MENU_ITEM_MEDIA_DISK_PLUS3_B: - method = @selector(ui_menu_activate_media_disk_plus3_b:); break; case UI_MENU_ITEM_MEDIA_DISK_PLUS3_B_EJECT: Modified: trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib =================================================================== --- trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib 2009-06-30 12:40:55 UTC (rev 602) +++ trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib 2009-07-05 08:47:36 UTC (rev 603) @@ -30,6 +30,10 @@ <dict> <key>ACTIONS</key> <dict> + <key>cart_eject</key> + <string>id</string> + <key>cart_open</key> + <string>id</string> <key>cocoa_break</key> <string>id</string> <key>disk_eject_a</key> @@ -171,76 +175,32 @@ <string>ObjC</string> <key>OUTLETS</key> <dict> - <key>cart</key> + <key>cartridge</key> <string>NSMenuItem</string> - <key>disk</key> + <key>diskA</key> <string>NSMenuItem</string> - <key>diskPlus3</key> + <key>diskB</key> <string>NSMenuItem</string> - <key>diskPlus3B</key> + <key>diskFlipA</key> <string>NSMenuItem</string> - <key>diskPlus3FlipA</key> + <key>diskFlipB</key> <string>NSMenuItem</string> - <key>diskPlus3FlipB</key> + <key>diskWpA</key> <string>NSMenuItem</string> - <key>diskPlus3WpA</key> + <key>diskWpB</key> <string>NSMenuItem</string> - <key>diskPlus3WpB</key> + <key>ideMaster</key> <string>NSMenuItem</string> - <key>diskPlusD</key> + <key>ideSlave</key> <string>NSMenuItem</string> - <key>diskPlusDA</key> - <string>NSMenuItem</string> - <key>diskPlusDB</key> - <string>NSMenuItem</string> - <key>diskPlusDFlipA</key> - <string>NSMenuItem</string> - <key>diskPlusDFlipB</key> - <string>NSMenuItem</string> - <key>diskPlusDWpA</key> - <string>NSMenuItem</string> - <key>diskPlusDWpB</key> - <string>NSMenuItem</string> - <key>diskTrDos</key> - <string>NSMenuItem</string> - <key>diskTrDosA</key> - <string>NSMenuItem</string> - <key>diskTrDosB</key> - <string>NSMenuItem</string> - <key>diskTrDosFlipA</key> - <string>NSMenuItem</string> - <key>diskTrDosFlipB</key> - <string>NSMenuItem</string> - <key>diskTrDosWpA</key> - <string>NSMenuItem</string> - <key>diskTrDosWpB</key> - <string>NSMenuItem</string> - <key>divide</key> - <string>NSMenuItem</string> - <key>dock</key> - <string>NSMenuItem</string> - <key>ide</key> - <string>NSMenuItem</string> - <key>if1</key> - <string>NSMenuItem</string> <key>if1Wp1</key> <string>NSMenuItem</string> <key>if1Wp2</key> <string>NSMenuItem</string> - <key>if1Wp3</key> + <key>mdr1</key> <string>NSMenuItem</string> - <key>if1Wp4</key> + <key>mdr2</key> <string>NSMenuItem</string> - <key>if1Wp5</key> - <string>NSMenuItem</string> - <key>if1Wp6</key> - <string>NSMenuItem</string> - <key>if1Wp7</key> - <string>NSMenuItem</string> - <key>if1Wp8</key> - <string>NSMenuItem</string> - <key>if2</key> - <string>NSMenuItem</string> <key>pause</key> <string>NSMenuItem</string> <key>recentSnaps</key> @@ -257,10 +217,6 @@ <string>NSMenuItem</string> <key>window</key> <string>NSWindow</string> - <key>zxatasp</key> - <string>NSMenuItem</string> - <key>zxcf</key> - <string>NSMenuItem</string> </dict> <key>SUPERCLASS</key> <string>NSObject</string> Modified: trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib =================================================================== --- trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib 2009-06-30 12:40:55 UTC (rev 602) +++ trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib 2009-07-05 08:47:36 UTC (rev 603) @@ -11,7 +11,7 @@ <key>IBOpenObjects</key> <array> <integer>877</integer> - <integer>695</integer> + <integer>527</integer> </array> <key>IBSystem Version</key> <string>9J61</string> Modified: trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2009-06-30 13:59:44
|
Revision: 602 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=602&view=rev Author: fredm Date: 2009-06-30 12:40:55 +0000 (Tue, 30 Jun 2009) Log Message: ----------- Add preference setting to swap mouse buttons. Modified Paths: -------------- trunk/fuse/fusepb/nibs/Preferences.nib/designable.nib trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib Modified: trunk/fuse/fusepb/nibs/Preferences.nib/designable.nib =================================================================== --- trunk/fuse/fusepb/nibs/Preferences.nib/designable.nib 2009-06-29 22:23:59 UTC (rev 601) +++ trunk/fuse/fusepb/nibs/Preferences.nib/designable.nib 2009-06-30 12:40:55 UTC (rev 602) @@ -8,9 +8,9 @@ <string key="IBDocument.HIToolboxVersion">353.00</string> <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> <bool key="EncodedWithXMLCoder">YES</bool> + <integer value="1347"/> + <integer value="1432"/> <integer value="6"/> - <integer value="1432"/> - <integer value="1347"/> <integer value="1408"/> </object> <object class="NSArray" key="IBDocument.PluginDependencies"> @@ -1049,7 +1049,7 @@ <object class="NSButton" id="1010771688"> <reference key="NSNextResponder" ref="649138232"/> <int key="NSvFlags">256</int> - <string key="NSFrame">{{399, 259}, {138, 18}}</string> + <string key="NSFrame">{{399, 241}, {138, 18}}</string> <reference key="NSSuperview" ref="649138232"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="813453349"> @@ -1067,6 +1067,27 @@ <int key="NSPeriodicInterval">25</int> </object> </object> + <object class="NSButton" id="5889843"> + <reference key="NSNextResponder" ref="649138232"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{427, 261}, {154, 18}}</string> + <reference key="NSSuperview" ref="649138232"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="764576815"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Swap mouse buttons</string> + <reference key="NSSupport" ref="447006373"/> + <reference key="NSControlView" ref="5889843"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">2</int> + <reference key="NSAlternateImage" ref="529831564"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> <object class="NSButton" id="1031545301"> <reference key="NSNextResponder" ref="649138232"/> <int key="NSvFlags">256</int> @@ -2488,7 +2509,7 @@ <string key="NSClassName">NSView</string> </object> <object class="NSCustomView" id="206600598"> - <reference key="NSNextResponder"/> + <nil key="NSNextResponder"/> <int key="NSvFlags">268</int> <object class="NSMutableArray" key="NSSubviews"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -2507,7 +2528,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{144, 44}, {249, 26}}</string> <reference key="NSSuperview" ref="847451512"/> - <reference key="NSWindow"/> <bool key="NSEnabled">YES</bool> <object class="NSPopUpButtonCell" key="NSCell" id="607532852"> <int key="NSCellFlags">-2076049856</int> @@ -2562,7 +2582,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{144, 12}, {125, 26}}</string> <reference key="NSSuperview" ref="847451512"/> - <reference key="NSWindow"/> <bool key="NSEnabled">YES</bool> <object class="NSPopUpButtonCell" key="NSCell" id="885272750"> <int key="NSCellFlags">-2076049856</int> @@ -2633,7 +2652,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{11, 50}, {122, 17}}</string> <reference key="NSSuperview" ref="847451512"/> - <reference key="NSWindow"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="373649031"> <int key="NSCellFlags">67239424</int> @@ -2650,7 +2668,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{11, 18}, {122, 17}}</string> <reference key="NSSuperview" ref="847451512"/> - <reference key="NSWindow"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="265069830"> <int key="NSCellFlags">67239424</int> @@ -2667,7 +2684,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{392, 40}, {76, 32}}</string> <reference key="NSSuperview" ref="847451512"/> - <reference key="NSWindow"/> <int key="NSTag">2</int> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="791405990"> @@ -2691,12 +2707,10 @@ </object> <string key="NSFrame">{{2, 2}, {477, 80}}</string> <reference key="NSSuperview" ref="679203719"/> - <reference key="NSWindow"/> </object> </object> <string key="NSFrame">{{73, 16}, {481, 100}}</string> <reference key="NSSuperview" ref="206600598"/> - <reference key="NSWindow"/> <string key="NSOffsets">{0, 0}</string> <object class="NSTextFieldCell" key="NSTitleCell"> <int key="NSCellFlags">67239424</int> @@ -2734,7 +2748,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{141, 44}, {249, 26}}</string> <reference key="NSSuperview" ref="151322023"/> - <reference key="NSWindow"/> <bool key="NSEnabled">YES</bool> <object class="NSPopUpButtonCell" key="NSCell" id="309621618"> <int key="NSCellFlags">-2076049856</int> @@ -2783,7 +2796,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{141, 12}, {125, 26}}</string> <reference key="NSSuperview" ref="151322023"/> - <reference key="NSWindow"/> <bool key="NSEnabled">YES</bool> <object class="NSPopUpButtonCell" key="NSCell" id="316526535"> <int key="NSCellFlags">-2076049856</int> @@ -2854,7 +2866,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{17, 18}, {122, 17}}</string> <reference key="NSSuperview" ref="151322023"/> - <reference key="NSWindow"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="333413210"> <int key="NSCellFlags">67239424</int> @@ -2871,7 +2882,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{17, 50}, {122, 17}}</string> <reference key="NSSuperview" ref="151322023"/> - <reference key="NSWindow"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="790299969"> <int key="NSCellFlags">67239424</int> @@ -2888,7 +2898,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{389, 40}, {76, 32}}</string> <reference key="NSSuperview" ref="151322023"/> - <reference key="NSWindow"/> <int key="NSTag">1</int> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="591452358"> @@ -2912,12 +2921,10 @@ </object> <string key="NSFrame">{{2, 2}, {477, 82}}</string> <reference key="NSSuperview" ref="396499954"/> - <reference key="NSWindow"/> </object> </object> <string key="NSFrame">{{73, 120}, {481, 102}}</string> <reference key="NSSuperview" ref="206600598"/> - <reference key="NSWindow"/> <string key="NSOffsets">{0, 0}</string> <object class="NSTextFieldCell" key="NSTitleCell"> <int key="NSCellFlags">67239424</int> @@ -2951,7 +2958,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{137, 14}, {125, 26}}</string> <reference key="NSSuperview" ref="372940553"/> - <reference key="NSWindow"/> <bool key="NSEnabled">YES</bool> <object class="NSPopUpButtonCell" key="NSCell" id="146648242"> <int key="NSCellFlags">-2076049856</int> @@ -3022,7 +3028,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{13, 4}, {122, 34}}</string> <reference key="NSSuperview" ref="372940553"/> - <reference key="NSWindow"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="648031924"> <int key="NSCellFlags">67239424</int> @@ -3037,12 +3042,10 @@ </object> <string key="NSFrame">{{2, 2}, {477, 53}}</string> <reference key="NSSuperview" ref="656176740"/> - <reference key="NSWindow"/> </object> </object> <string key="NSFrame">{{73, 226}, {481, 73}}</string> <reference key="NSSuperview" ref="206600598"/> - <reference key="NSWindow"/> <string key="NSOffsets">{0, 0}</string> <object class="NSTextFieldCell" key="NSTitleCell"> <int key="NSCellFlags">67239424</int> @@ -3063,8 +3066,6 @@ </object> </object> <string key="NSFrameSize">{627, 319}</string> - <reference key="NSSuperview"/> - <reference key="NSWindow"/> <string key="NSClassName">NSView</string> </object> <object class="NSCustomView" id="754180095"> @@ -4828,10 +4829,7 @@ <object class="NSUserDefaultsController" id="979455873"> <object class="NSMutableArray" key="NSDeclaredKeys"> <bool key="EncodedWithXMLCoder">YES</bool> - <string>volumebeeper</string> - <string>volumeay</string> - <string>speakertype</string> - <string>disktrymerge</string> + <string>mouseswapbuttons</string> </object> <bool key="NSSharedInstance">YES</bool> </object> @@ -7101,6 +7099,22 @@ </object> <int key="connectionID">1865</int> </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: values.mouseswapbuttons</string> + <reference key="source" ref="5889843"/> + <reference key="destination" ref="979455873"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="5889843"/> + <reference key="NSDestination" ref="979455873"/> + <string key="NSLabel">value: values.mouseswapbuttons</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">values.mouseswapbuttons</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">1879</int> + </object> </object> <object class="IBMutableOrderedSet" key="objectRecords"> <object class="NSArray" key="orderedObjects"> @@ -7561,10 +7575,11 @@ <bool key="EncodedWithXMLCoder">YES</bool> <reference ref="342524131"/> <reference ref="1031545301"/> - <reference ref="1010771688"/> <reference ref="724557388"/> <reference ref="687307585"/> <reference ref="927978342"/> + <reference ref="5889843"/> + <reference ref="1010771688"/> </object> <reference key="parent" ref="0"/> <string key="objectName">Peripherals</string> @@ -9179,6 +9194,20 @@ <reference key="object" ref="232166117"/> <reference key="parent" ref="292110812"/> </object> + <object class="IBObjectRecord"> + <int key="objectID">1876</int> + <reference key="object" ref="5889843"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="764576815"/> + </object> + <reference key="parent" ref="649138232"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">1877</int> + <reference key="object" ref="764576815"/> + <reference key="parent" ref="5889843"/> + </object> </object> </object> <object class="NSMutableDictionary" key="flattenedProperties"> @@ -9634,6 +9663,7 @@ <string>1837.IBPluginDependency</string> <string>1838.IBPluginDependency</string> <string>1839.IBPluginDependency</string> + <string>1840.IBPluginDependency</string> <string>1847.IBPluginDependency</string> <string>1847.ImportedFromIB2</string> <string>1848.IBPluginDependency</string> @@ -9649,6 +9679,9 @@ <string>1862.IBPluginDependency</string> <string>1862.ImportedFromIB2</string> <string>1863.IBPluginDependency</string> + <string>1876.IBPluginDependency</string> + <string>1876.ImportedFromIB2</string> + <string>1877.IBPluginDependency</string> <string>270.IBPluginDependency</string> <string>270.ImportedFromIB2</string> <string>315.IBPluginDependency</string> @@ -10123,6 +10156,7 @@ <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <reference ref="9"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <reference ref="9"/> @@ -10140,7 +10174,10 @@ <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <reference ref="9"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <reference ref="9"/> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <reference ref="9"/> <string>{{0, 286}, {627, 403}}</string> <string>{{0, 286}, {627, 403}}</string> <reference ref="9"/> @@ -10180,7 +10217,7 @@ </object> </object> <nil key="sourceID"/> - <int key="maxID">1875</int> + <int key="maxID">1879</int> </object> <object class="IBClassDescriber" key="IBDocument.Classes"> <object class="NSMutableArray" key="referencedPartialClassDescriptions"> Modified: trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib =================================================================== --- trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib 2009-06-29 22:23:59 UTC (rev 601) +++ trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib 2009-06-30 12:40:55 UTC (rev 602) @@ -1,170 +1,450 @@ bplist00\xD4 |
From: <fr...@us...> - 2009-06-29 22:25:17
|
Revision: 601 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=601&view=rev Author: fredm Date: 2009-06-29 22:23:59 +0000 (Mon, 29 Jun 2009) Log Message: ----------- Merge up to vendor revision 4041. Revision Links: -------------- http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=4041&view=rev Modified Paths: -------------- trunk/FuseGenerator/generate.pl trunk/FuseGenerator/libspectrum.h trunk/FuseImporter/generate.pl trunk/FuseImporter/libspectrum.h trunk/fuse/AUTHORS trunk/fuse/ChangeLog trunk/fuse/Makefile.am trunk/fuse/README trunk/fuse/TODO trunk/fuse/ay.c trunk/fuse/ay.h trunk/fuse/compat/Makefile.am trunk/fuse/compat/amiga/Makefile.am trunk/fuse/compat/amiga/paths.c trunk/fuse/compat/morphos/Makefile.am trunk/fuse/compat/morphos/osname.c trunk/fuse/compat/unix/Makefile.am trunk/fuse/compat/unix/file.c trunk/fuse/compat/unix/osname.c trunk/fuse/compat/unix/paths.c trunk/fuse/compat/wii/Makefile.am trunk/fuse/compat/win32/Makefile.am trunk/fuse/compat/win32/osname.c trunk/fuse/compat/win32/paths.c trunk/fuse/compat.h trunk/fuse/configure.in trunk/fuse/debugger/event.c trunk/fuse/debugger/variable.c trunk/fuse/disk/beta.c trunk/fuse/disk/beta.h trunk/fuse/disk/disk.c trunk/fuse/disk/disk.h trunk/fuse/disk/fdd.c trunk/fuse/disk/fdd.h trunk/fuse/disk/plusd.c trunk/fuse/disk/plusd.h trunk/fuse/disk/upd_fdc.c trunk/fuse/display.c trunk/fuse/display.h trunk/fuse/event.c trunk/fuse/event.h trunk/fuse/fuse.c trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj trunk/fuse/fusepb/Makefile trunk/fuse/fusepb/controllers/FuseController.h trunk/fuse/fusepb/controllers/FuseController.m trunk/fuse/fusepb/controllers/PreferencesController.h trunk/fuse/fusepb/controllers/PreferencesController.m trunk/fuse/fusepb/models/Emulator.h trunk/fuse/fusepb/models/Emulator.m trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib trunk/fuse/fusepb/nibs/Preferences.nib/designable.nib trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib trunk/fuse/fusepb/timer/timer.c trunk/fuse/fusepb/views/DisplayOpenGLView.h trunk/fuse/fusepb/views/DisplayOpenGLView.m trunk/fuse/hacking/ChangeLog trunk/fuse/hacking/Makefile.am trunk/fuse/hacking/cvs-tags trunk/fuse/hacking/timer.txt trunk/fuse/input.c trunk/fuse/joystick.c trunk/fuse/joystick.h trunk/fuse/kempmouse.c trunk/fuse/keysyms.pl trunk/fuse/loader.c trunk/fuse/machine.c trunk/fuse/machines/pentagon.c trunk/fuse/machines/pentagon1024.c trunk/fuse/machines/pentagon512.c trunk/fuse/machines/scorpion.c trunk/fuse/machines/spec128.c trunk/fuse/machines/spec16.c trunk/fuse/machines/spec48.c trunk/fuse/machines/spec48.h trunk/fuse/machines/spec_se.c trunk/fuse/machines/specplus2.c trunk/fuse/machines/specplus2a.c trunk/fuse/machines/specplus3.c trunk/fuse/machines/specplus3.h trunk/fuse/machines/specplus3e.c trunk/fuse/machines/tc2048.c trunk/fuse/machines/tc2068.c trunk/fuse/machines/tc2068.h trunk/fuse/man/fuse.1 trunk/fuse/memory.c trunk/fuse/memory.h trunk/fuse/mempool.c trunk/fuse/mempool.h trunk/fuse/menu.c trunk/fuse/menu.h trunk/fuse/menu_data.dat trunk/fuse/menu_data.pl trunk/fuse/periph.c trunk/fuse/periph.h trunk/fuse/perl/cpp-perl.pl trunk/fuse/rzx.c trunk/fuse/scld.c trunk/fuse/settings.dat trunk/fuse/settings.pl trunk/fuse/snapshot.c trunk/fuse/sound/Makefile.am trunk/fuse/sound/alsasound.c trunk/fuse/sound/coreaudiosound.c trunk/fuse/sound/sdlsound.c trunk/fuse/sound.h trunk/fuse/spectrum.c trunk/fuse/tape.c trunk/fuse/timer/Makefile.am trunk/fuse/timer/sdl.c trunk/fuse/timer/timer.c trunk/fuse/timer/timer.h trunk/fuse/ui/Makefile.am trunk/fuse/ui/cocoa/cocoaui.m trunk/fuse/ui/fb/Makefile.am trunk/fuse/ui/fb/fbdisplay.c trunk/fuse/ui/gtk/Makefile.am trunk/fuse/ui/gtk/confirm.c trunk/fuse/ui/gtk/debugger.c trunk/fuse/ui/gtk/gtkdisplay.c trunk/fuse/ui/gtk/gtkinternals.h trunk/fuse/ui/gtk/gtkui.c trunk/fuse/ui/gtk/options-header.pl trunk/fuse/ui/gtk/options.pl trunk/fuse/ui/gtk/pokefinder.c trunk/fuse/ui/options.dat trunk/fuse/ui/scaler/scaler_hq2x.c trunk/fuse/ui/scaler/scaler_hq3x.c trunk/fuse/ui/svga/svgadisplay.c trunk/fuse/ui/svga/svgajoystick.c trunk/fuse/ui/svga/svgaui.c trunk/fuse/ui/ui.h trunk/fuse/ui/uijoystick.c trunk/fuse/ui/widget/Makefile.am trunk/fuse/ui/widget/debugger.c trunk/fuse/ui/widget/filesel.c trunk/fuse/ui/widget/menu.c trunk/fuse/ui/widget/options-header.pl trunk/fuse/ui/widget/options.pl trunk/fuse/ui/widget/query.c trunk/fuse/ui/widget/select.c trunk/fuse/ui/widget/text.c trunk/fuse/ui/widget/widget.c trunk/fuse/ui/widget/widget.h trunk/fuse/ui/widget/widget_internals.h trunk/fuse/ui/win32/Makefile.am trunk/fuse/ui/win32/confirm.c trunk/fuse/ui/win32/debugger.c trunk/fuse/ui/win32/fileselector.c trunk/fuse/ui/win32/icons/Makefile.am trunk/fuse/ui/win32/memorybrowser.c trunk/fuse/ui/win32/memorybrowser.h trunk/fuse/ui/win32/memorybrowser.rc trunk/fuse/ui/win32/options-header.pl trunk/fuse/ui/win32/options-resource.pl trunk/fuse/ui/win32/pokefinder.c trunk/fuse/ui/win32/rollback.c trunk/fuse/ui/win32/rollback.h trunk/fuse/ui/win32/rollback.rc trunk/fuse/ui/win32/roms.c trunk/fuse/ui/win32/roms.h trunk/fuse/ui/win32/roms.rc trunk/fuse/ui/win32/win32joystick.c trunk/fuse/ui/win32/win32ui.c trunk/fuse/ui.c trunk/fuse/ula.c trunk/fuse/utils.c trunk/fuse/utils.h trunk/fuse/z80/coretest.c trunk/fuse/z80/z80.c trunk/fuse/z80/z80_ops.c trunk/libspectrum/generate.pl trunk/libspectrum/libspectrum/AUTHORS trunk/libspectrum/libspectrum/ChangeLog trunk/libspectrum/libspectrum/Makefile.am trunk/libspectrum/libspectrum/README trunk/libspectrum/libspectrum/accessor.pl trunk/libspectrum/libspectrum/configure.in trunk/libspectrum/libspectrum/doc/cvs-tags trunk/libspectrum/libspectrum/doc/libspectrum.txt trunk/libspectrum/libspectrum/hacking/ChangeLog trunk/libspectrum/libspectrum/libspectrum.c trunk/libspectrum/libspectrum/libspectrum.h.in trunk/libspectrum/libspectrum/make-perl.c trunk/libspectrum/libspectrum/myglib/gslist.c trunk/libspectrum/libspectrum/sna.c trunk/libspectrum/libspectrum/snap_accessors.txt trunk/libspectrum/libspectrum/snapshot.c trunk/libspectrum/libspectrum/szx.c trunk/libspectrum/libspectrum/tape.c trunk/libspectrum/libspectrum/tape_block.c trunk/libspectrum/libspectrum/test/Makefile.am trunk/libspectrum/libspectrum/timings.c trunk/libspectrum/libspectrum/tzx_write.c trunk/libspectrum/libspectrum/warajevo_read.c trunk/libspectrum/libspectrum/z80.c trunk/libspectrum/libspectrum.h Added Paths: ----------- trunk/fuse/compat/unix/dir.c trunk/fuse/compat/unix/timer.c trunk/fuse/compat/wii/dir.c trunk/fuse/compat/wii/osname.c trunk/fuse/compat/wii/paths.c trunk/fuse/compat/wii/timer.c trunk/fuse/compat/win32/timer.c trunk/fuse/fuller.c trunk/fuse/fuller.h trunk/fuse/fusepb/main.mm trunk/fuse/ide/ trunk/fuse/ide/Makefile.am trunk/fuse/ide/divide.c trunk/fuse/ide/divide.h trunk/fuse/ide/ide.c trunk/fuse/ide/ide.h trunk/fuse/ide/simpleide.c trunk/fuse/ide/simpleide.h trunk/fuse/ide/zxatasp.c trunk/fuse/ide/zxatasp.h trunk/fuse/ide/zxcf.c trunk/fuse/ide/zxcf.h trunk/fuse/melodik.c trunk/fuse/melodik.h trunk/fuse/sound/Blip_Buffer.cpp trunk/fuse/sound/Blip_Buffer.h trunk/fuse/sound/wiisound.c trunk/fuse/sound.cpp trunk/fuse/timer/native.c trunk/fuse/ui/cocoa/options-cocoa-header.pl trunk/fuse/ui/cocoa/options-header.pl trunk/fuse/ui/cocoa/options.pl trunk/fuse/ui/wii/ trunk/fuse/ui/wii/Makefile.am trunk/fuse/ui/wii/wiidisplay.c trunk/fuse/ui/wii/wiidisplay.h trunk/fuse/ui/wii/wiijoystick.c trunk/fuse/ui/wii/wiikeyboard.c trunk/fuse/ui/wii/wiikeyboard.h trunk/fuse/ui/wii/wiikeysyms.h trunk/fuse/ui/wii/wiimouse.c trunk/fuse/ui/wii/wiimouse.h trunk/fuse/ui/wii/wiiui.c trunk/fuse/ui/win32/installer/ trunk/fuse/ui/win32/installer/Makefile.am trunk/fuse/ui/win32/installer/fuse.nsi Removed Paths: ------------- trunk/fuse/compat/wii/file.c trunk/fuse/divide.c trunk/fuse/divide.h trunk/fuse/fuse.cpp trunk/fuse/fusepb/main.m trunk/fuse/ide/Makefile.am trunk/fuse/ide/divide.c trunk/fuse/ide/divide.h trunk/fuse/ide/ide.c trunk/fuse/ide/ide.h trunk/fuse/ide/simpleide.c trunk/fuse/ide/simpleide.h trunk/fuse/ide/zxatasp.c trunk/fuse/ide/zxatasp.h trunk/fuse/ide/zxcf.c trunk/fuse/ide/zxcf.h trunk/fuse/ide.c trunk/fuse/ide.h trunk/fuse/simpleide.c trunk/fuse/simpleide.h trunk/fuse/sound.c trunk/fuse/timer/unix.c trunk/fuse/timer/win32.c trunk/fuse/ui/wii/Makefile.am trunk/fuse/ui/wii/wiidisplay.c trunk/fuse/ui/wii/wiidisplay.h trunk/fuse/ui/wii/wiijoystick.c trunk/fuse/ui/wii/wiikeyboard.c trunk/fuse/ui/wii/wiikeyboard.h trunk/fuse/ui/wii/wiikeysyms.h trunk/fuse/ui/wii/wiimouse.c trunk/fuse/ui/wii/wiimouse.h trunk/fuse/ui/wii/wiiui.c trunk/fuse/ui/win32/installer/Makefile.am trunk/fuse/ui/win32/installer/fuse.nsi trunk/fuse/zxatasp.c trunk/fuse/zxatasp.h trunk/fuse/zxcf.c trunk/fuse/zxcf.h Property Changed: ---------------- trunk/fuse/ trunk/fuse/fusepb/ trunk/libspectrum/libspectrum/ trunk/libspectrum/libspectrum.h Modified: trunk/FuseGenerator/generate.pl =================================================================== --- trunk/FuseGenerator/generate.pl 2009-06-27 12:48:09 UTC (rev 600) +++ trunk/FuseGenerator/generate.pl 2009-06-29 22:23:59 UTC (rev 601) @@ -75,6 +75,10 @@ void WIN32_DLL g_slist_free (GSList *list); +GSList WIN32_DLL *g_slist_last (GSList *list); + +GSList WIN32_DLL *g_slist_reverse (GSList *list); + GSList WIN32_DLL *g_slist_nth (GSList *list, guint n); Modified: trunk/FuseGenerator/libspectrum.h =================================================================== --- trunk/FuseGenerator/libspectrum.h 2009-06-27 12:48:09 UTC (rev 600) +++ trunk/FuseGenerator/libspectrum.h 2009-06-29 22:23:59 UTC (rev 601) @@ -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 3806 2008-11-08 10:42:38Z pak21 $ + $Id: libspectrum.h.in 4039 2009-06-27 06:04:44Z 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 @@ -134,6 +134,10 @@ void WIN32_DLL g_slist_free (GSList *list); +GSList WIN32_DLL *g_slist_last (GSList *list); + +GSList WIN32_DLL *g_slist_reverse (GSList *list); + GSList WIN32_DLL *g_slist_nth (GSList *list, guint n); @@ -801,6 +805,11 @@ void WIN32_DLL libspectrum_snap_set_divide_eprom( libspectrum_snap *snap, int idx, libspectrum_byte* divide_eprom ); libspectrum_byte WIN32_DLL * libspectrum_snap_divide_ram( libspectrum_snap *snap, int idx ); void WIN32_DLL libspectrum_snap_set_divide_ram( libspectrum_snap *snap, int idx, libspectrum_byte* divide_ram ); +int WIN32_DLL libspectrum_snap_fuller_box_active( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_fuller_box_active( libspectrum_snap *snap, int fuller_box_active ); +int WIN32_DLL libspectrum_snap_melodik_active( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_melodik_active( libspectrum_snap *snap, int + melodik_active ); /* * Tape handling routines @@ -862,6 +871,7 @@ extern const int WIN32_DLL LIBSPECTRUM_TAPE_FLAGS_LEVEL_HIGH; /* Set level high */ extern const int WIN32_DLL LIBSPECTRUM_TAPE_FLAGS_LENGTH_SHORT; extern const int WIN32_DLL LIBSPECTRUM_TAPE_FLAGS_LENGTH_LONG; +extern const int WIN32_DLL LIBSPECTRUM_TAPE_FLAGS_TAPE; /* Tape has finished */ /* The states which a block can be in */ typedef enum libspectrum_tape_state_type { @@ -1000,6 +1010,10 @@ libspectrum_tape_block WIN32_DLL * libspectrum_tape_peek_next_block( libspectrum_tape *tape ); +/* Peek at the last block on the tape */ +libspectrum_tape_block WIN32_DLL * +libspectrum_tape_peek_last_block( libspectrum_tape *tape ); + /* Cause the next block on the tape to be active, initialise it and return it */ libspectrum_tape_block WIN32_DLL * Modified: trunk/FuseImporter/generate.pl =================================================================== --- trunk/FuseImporter/generate.pl 2009-06-27 12:48:09 UTC (rev 600) +++ trunk/FuseImporter/generate.pl 2009-06-29 22:23:59 UTC (rev 601) @@ -75,6 +75,10 @@ void WIN32_DLL g_slist_free (GSList *list); +GSList WIN32_DLL *g_slist_last (GSList *list); + +GSList WIN32_DLL *g_slist_reverse (GSList *list); + GSList WIN32_DLL *g_slist_nth (GSList *list, guint n); Modified: trunk/FuseImporter/libspectrum.h =================================================================== --- trunk/FuseImporter/libspectrum.h 2009-06-27 12:48:09 UTC (rev 600) +++ trunk/FuseImporter/libspectrum.h 2009-06-29 22:23:59 UTC (rev 601) @@ -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 3806 2008-11-08 10:42:38Z pak21 $ + $Id: libspectrum.h.in 4039 2009-06-27 06:04:44Z 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 @@ -134,6 +134,10 @@ void WIN32_DLL g_slist_free (GSList *list); +GSList WIN32_DLL *g_slist_last (GSList *list); + +GSList WIN32_DLL *g_slist_reverse (GSList *list); + GSList WIN32_DLL *g_slist_nth (GSList *list, guint n); @@ -801,6 +805,11 @@ void WIN32_DLL libspectrum_snap_set_divide_eprom( libspectrum_snap *snap, int idx, libspectrum_byte* divide_eprom ); libspectrum_byte WIN32_DLL * libspectrum_snap_divide_ram( libspectrum_snap *snap, int idx ); void WIN32_DLL libspectrum_snap_set_divide_ram( libspectrum_snap *snap, int idx, libspectrum_byte* divide_ram ); +int WIN32_DLL libspectrum_snap_fuller_box_active( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_fuller_box_active( libspectrum_snap *snap, int fuller_box_active ); +int WIN32_DLL libspectrum_snap_melodik_active( libspectrum_snap *snap ); +void WIN32_DLL libspectrum_snap_set_melodik_active( libspectrum_snap *snap, int + melodik_active ); /* * Tape handling routines @@ -862,6 +871,7 @@ extern const int WIN32_DLL LIBSPECTRUM_TAPE_FLAGS_LEVEL_HIGH; /* Set level high */ extern const int WIN32_DLL LIBSPECTRUM_TAPE_FLAGS_LENGTH_SHORT; extern const int WIN32_DLL LIBSPECTRUM_TAPE_FLAGS_LENGTH_LONG; +extern const int WIN32_DLL LIBSPECTRUM_TAPE_FLAGS_TAPE; /* Tape has finished */ /* The states which a block can be in */ typedef enum libspectrum_tape_state_type { @@ -1000,6 +1010,10 @@ libspectrum_tape_block WIN32_DLL * libspectrum_tape_peek_next_block( libspectrum_tape *tape ); +/* Peek at the last block on the tape */ +libspectrum_tape_block WIN32_DLL * +libspectrum_tape_peek_last_block( libspectrum_tape *tape ); + /* Cause the next block on the tape to be active, initialise it and return it */ libspectrum_tape_block WIN32_DLL * Property changes on: trunk/fuse ___________________________________________________________________ Modified: svn:mergeinfo - /vendor/fuse-emulator/0.10.0/fuse:556-557 /vendor/fuse-emulator/0.10.0-pre1/fuse:545-546 /vendor/fuse-emulator/current/fuse:530-538 + /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-600 Modified: trunk/fuse/AUTHORS =================================================================== --- trunk/fuse/AUTHORS 2009-06-27 12:48:09 UTC (rev 600) +++ trunk/fuse/AUTHORS 2009-06-29 22:23:59 UTC (rev 601) @@ -41,6 +41,8 @@ * Gergely Szasz: Interface I/microdrive emulation, the 'movie' code and the ao sound driver. +* Bjoern Giesler: the original Wii port. + * Philip Kendall: everything else. -$Id: AUTHORS 2433 2004-11-28 21:58:44Z pak21 $ +$Id: AUTHORS 3944 2009-01-10 18:17:04Z pak21 $ Modified: trunk/fuse/ChangeLog =================================================================== --- trunk/fuse/ChangeLog 2009-06-27 12:48:09 UTC (rev 600) +++ trunk/fuse/ChangeLog 2009-06-29 22:23:59 UTC (rev 601) @@ -1,5 +1,15 @@ -2008-11-?? Philip Kendall <phi...@sh...> +2008-12-10 Philip Kendall <phi...@sh...> + * Fuse 0.10.0.1 released + + * Writing files would not truncate the file at the correct point, + leading to corrupt files when overwriting an existing file + (Philip Kendall; thanks, Matthew Westcott). + + * Distribute ui/fb/fbmouse.h (Fredrick Meunier; thanks, rkd77). + +2008-12-03 Philip Kendall <phi...@sh...> + * Fuse 0.10.0 released * New upd765 FDC emulation; all known +3 DSK images now work (Gergely @@ -931,4 +941,4 @@ * Version 0.1.0 released. -$Id: ChangeLog 3823 2008-11-16 17:32:18Z pak21 $ +$Id: ChangeLog 3900 2008-12-10 19:31:31Z pak21 $ Modified: trunk/fuse/Makefile.am =================================================================== --- trunk/fuse/Makefile.am 2009-06-27 12:48:09 UTC (rev 600) +++ trunk/fuse/Makefile.am 2009-06-29 22:23:59 UTC (rev 601) @@ -1,7 +1,7 @@ # Process this file with automake to produce Makefile.in -## Copyright (c) 1999-2008 Philip Kendall +## Copyright (c) 1999-2009 Philip Kendall -## $Id: Makefile.am 3818 2008-11-15 13:28:08Z pak21 $ +## $Id: Makefile.am 4032 2009-06-10 11:09:44Z 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 @@ -29,6 +29,7 @@ debugger \ disk \ hacking \ + ide \ lib \ machines \ man \ @@ -44,6 +45,7 @@ DIST_SUBDIRS = debugger \ disk \ hacking \ + ide \ lib \ machines \ man \ @@ -59,10 +61,9 @@ fuse_SOURCES = ay.c \ dck.c \ display.c \ - divide.c \ event.c \ - fuse.cpp \ - ide.c \ + fuller.c \ + fuse.c \ if1.c \ if2.c \ input.c \ @@ -71,6 +72,7 @@ keyboard.c \ loader.c \ machine.c \ + melodik.c \ memory.c \ mempool.c \ menu.c \ @@ -83,19 +85,16 @@ scld.c \ screenshot.c \ settings.c \ - simpleide.c \ slt.c \ snapshot.c \ - sound.c \ + sound.cpp \ spectrum.c \ tape.c \ ui.c \ uidisplay.c \ ula.c \ utils.c \ - windres.rc \ - zxatasp.c \ - zxcf.c + windres.rc if COMPAT_DIRNAME fuse_SOURCES += compat/dirname.c @@ -113,36 +112,42 @@ fuse_LDADD = debugger/libdebugger.a \ @UI_LIBS@ \ +debugger/libdebugger.a \ +disk/libdisk.a \ +ide/libide.a \ machines/libmachines.a \ -disk/libdisk.a \ pokefinder/libpokefinder.a \ sound/libsound.a \ +timer/libtimer.a \ ui/scaler/libscaler.a \ unittests/libunittests.a \ -debugger/libdebugger.a \ -timer/libtimer.a \ z80/libz80.a \ @LIBSPEC_LIBS@ \ @GLIB_LIBS@ \ @PNG_LIBS@ \ @SOUND_LIBS@ \ -@SAMPLERATE_LIBS@ \ @SDL_LIBS@ \ @X_LIBS@ \ @XML_LIBS@ \ compat/@COMPAT_OSNAME@/libcompatos.a \ @WINDRES_OBJ@ -fuse_DEPENDENCIES = @UI_LIBS@ \ - disk/libdisk.a \ - debugger/libdebugger.a \ - machines/libmachines.a \ - sound/libsound.a \ - unittests/libunittests.a\ - z80/libz80.a \ - @WINDRES_OBJ@ +fuse_DEPENDENCIES = debugger/libdebugger.a \ +@UI_LIBS@ \ +debugger/libdebugger.a \ +disk/libdisk.a \ +ide/libide.a \ +machines/libmachines.a \ +pokefinder/libpokefinder.a \ +sound/libsound.a \ +timer/libtimer.a \ +ui/scaler/libscaler.a \ +unittests/libunittests.a \ +z80/libz80.a \ +compat/@COMPAT_OSNAME@/libcompatos.a \ +@WINDRES_OBJ@ -BUILT_SOURCES = settings.c settings.h +BUILT_SOURCES = options.h settings.c settings.h windres.o: windres.rc winfuse.ico @WINDRES@ -I$(srcdir) -I. $(srcdir)/windres.rc windres.o @@ -153,18 +158,25 @@ settings.h: settings-header.pl settings.dat @PERL@ -I$(srcdir)/perl $(srcdir)/settings-header.pl $(srcdir)/settings.dat > $@.tmp && mv $@.tmp $@ +if WIDGET +options.h: $(srcdir)/perl/cpp-perl.pl config.h $(srcdir)/ui/@WIDGET@/options-header.pl $(srcdir)/ui/options.dat $(srcdir)/perl/Fuse.pm $(srcdir)/perl/Fuse/Dialog.pm + @PERL@ $(srcdir)/perl/cpp-perl.pl config.h $(srcdir)/ui/options.dat | @PERL@ -I$(srcdir)/perl $(srcdir)/ui/@WIDGET@/options-header.pl - public > $@.tmp && mv $@.tmp $@ +else +options.h: $(srcdir)/perl/cpp-perl.pl config.h $(srcdir)/ui/@UI@/options-header.pl $(srcdir)/ui/options.dat $(srcdir)/perl/Fuse.pm $(srcdir)/perl/Fuse/Dialog.pm + @PERL@ $(srcdir)/perl/cpp-perl.pl config.h $(srcdir)/ui/options.dat | @PERL@ -I$(srcdir)/perl $(srcdir)/ui/@UI@/options-header.pl - public > $@.tmp && mv $@.tmp $@ +endif + INCLUDES = @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@ \ -@XML_CFLAGS@ @SAMPLERATE_CFLAGS@ -DFUSEDATADIR="\"${pkgdatadir}\"" @SDL_CFLAGS@ +@XML_CFLAGS@ -DFUSEDATADIR="\"${pkgdatadir}\"" @SDL_CFLAGS@ noinst_HEADERS = ay.h \ bitmap.h \ compat.h \ dck.h \ display.h \ - divide.h \ event.h \ + fuller.h \ fuse.h \ - ide.h \ if1.h \ if2.h \ input.h \ @@ -172,6 +184,7 @@ kempmouse.h \ loader.h \ machine.h \ + melodik.h \ memory.h \ mempool.h \ menu.h \ @@ -181,7 +194,6 @@ rzx.h \ screenshot.h \ settings.h \ - simpleide.h \ slt.h \ snapshot.h \ sound.h \ @@ -189,12 +201,11 @@ tape.h \ utils.h \ joystick.h \ + options.h \ printer.h \ profile.h \ scld.h \ - ula.h \ - zxatasp.h \ - zxcf.h + ula.h EXTRA_DIST = AUTHORS \ README \ @@ -208,7 +219,8 @@ settings.dat \ winfuse.ico -CLEANFILES = settings.c \ +CLEANFILES = options.h \ + settings.c \ settings.h AM_CPPFLAGS = Modified: trunk/fuse/README =================================================================== --- trunk/fuse/README 2009-06-27 12:48:09 UTC (rev 600) +++ trunk/fuse/README 2009-06-29 22:23:59 UTC (rev 601) @@ -1,5 +1,5 @@ -The Free Unix Spectrum Emulator (Fuse) 0.10.0 -============================================= +The Free Unix Spectrum Emulator (Fuse) 0.10.0.1 +=============================================== Fuse (the Free Unix Spectrum Emulator) was originally, and somewhat unsurprisingly, an emulator of the ZX Spectrum (a popular 1980s home @@ -55,8 +55,6 @@ * libpng: the ability to save screenshots * libxml2: the ability to load and save Fuse's current configuration * zlib: support for compressed RZX files - * samplerate: support for better beeper sound quality; get it from - http://www.mega-nerd.com/SRC/ If you've used Fuse prior to version 0.5.0, note that the external utilities (tzxlist, etc) are now available separately from Fuse @@ -123,6 +121,36 @@ The native Cocoa port by Fredrick Meunier <fr...@sp...> comes as a set of Xcode projects for libgcrypt, libspectrum and Fuse itself. +Building the Wii version of Fuse +-------------------------------- + +You'll need to have the standard Wii homebrew toolchain installed; see +eg <http://wiibrew.org/wiki/DevkitPro> for some information on setting +this up. + +After that, make sure the dev tools are in your path (export +PATH=$PATH:$DEVKITPPC/bin) and that a Wii version of libspectrum has been +built and installed. + +Then, use this configure line: + +./configure --target=powerpc-gekko --host=powerpc-gekko \ + --with-wii \ + --without-libxml2 --without-libiconv --without-gpm \ + --without-x --without-glib \ + CFLAGS="-g -I$DEVKITPPC/include -I$DEVKITPRO/libogc/include" \ + LDFLAGS="-g -mrvl -mcpu=750 -meabi -mhard-float \ + -Wl,-Map,fuse.elf.map -L$DEVKITPPC/lib \ + -L$DEVKITPRO/libogc/lib/wii" \ + LIBS="-lfat -lwiiuse -lbte -logc -lm" + +Finally, to build, use this line: + +EXEEXT=".elf" make -e + +This should build fuse.elf, which you can run on your Wii via the usual +methods. + Closing comments ---------------- @@ -150,6 +178,6 @@ ( http://www.worldofspectrum.org/faq/index.html ) first! Philip Kendall <phi...@sh...> -3 December 2008 +10 December 2008 -$Id: README 3866 2008-11-29 17:05:40Z pak21 $ +$Id: README 4021 2009-05-29 13:39:51Z fredm $ Modified: trunk/fuse/TODO =================================================================== --- trunk/fuse/TODO 2009-06-27 12:48:09 UTC (rev 600) +++ trunk/fuse/TODO 2009-06-29 22:23:59 UTC (rev 601) @@ -1,16 +1,12 @@ TODO * Pentagon port #ff returning floating bus issues - it does it because the RusFAQ says so? -* Timex 2068 fusetests -* Console mode GUI -* Add "proper" preferences window +* Collapse Media hierarchy, just have Tape, Disk A, Disk B, Master, Slave, Microdrive 1..4 etc. * Add TITLE tags to help files? * SZX ZX Printer block? * PAL Compsite emulation * Separate out sound buffer interleaving code to allow for the use of hardware etc. sound mixing -* Add volume option to standard fuse + a sound API method to set volume (or a - parameter to sound_lowlevel_init) * Randomise FRAMES sys var after autoload snapshot loaded in order to try and get less deterministic program behaviour after load is complete * Use sheets rather than modal dialogs (for Save As) @@ -18,7 +14,6 @@ * Make border display optional * Make activity icons transparent * SZX +3 block - seems to be redundant? -* Add pause function * Add QuickLook HTML view showing Title, etc. like QuickLook on MP3s $Id: TODO 2026 2004-03-02 13:38:08Z pak21 $ Modified: trunk/fuse/ay.c =================================================================== --- trunk/fuse/ay.c 2009-06-27 12:48:09 UTC (rev 600) +++ trunk/fuse/ay.c 2009-06-29 22:23:59 UTC (rev 601) @@ -1,7 +1,7 @@ /* ay.c: AY-8-3912 routines - Copyright (c) 1999-2004 Philip Kendall + Copyright (c) 1999-2009 Philip Kendall - $Id: ay.c 3494 2008-01-15 16:37:50Z pak21 $ + $Id: ay.c 4030 2009-06-07 14:38:38Z fredm $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -131,22 +131,26 @@ if( current == 14 ) printer_serial_write( b ); } -static void -ay_from_snapshot( libspectrum_snap *snap ) +void +ay_state_from_snapshot( libspectrum_snap *snap ) { size_t i; - if( machine_current->capabilities & LIBSPECTRUM_MACHINE_CAPABILITY_AY ) { + ay_registerport_write( 0xfffd, + libspectrum_snap_out_ay_registerport( snap ) ); - ay_registerport_write( 0xfffd, - libspectrum_snap_out_ay_registerport( snap ) ); + for( i = 0; i < AY_REGISTERS; i++ ) { + machine_current->ay.registers[i] = + libspectrum_snap_ay_registers( snap, i ); + sound_ay_write( i, machine_current->ay.registers[i], 0 ); + } +} - for( i = 0; i < AY_REGISTERS; i++ ) { - machine_current->ay.registers[i] = - libspectrum_snap_ay_registers( snap, i ); - sound_ay_write( i, machine_current->ay.registers[i], 0 ); - } - +static void +ay_from_snapshot( libspectrum_snap *snap ) +{ + if( machine_current->capabilities & LIBSPECTRUM_MACHINE_CAPABILITY_AY ) { + ay_state_from_snapshot( snap ); } } Modified: trunk/fuse/ay.h =================================================================== --- trunk/fuse/ay.h 2009-06-27 12:48:09 UTC (rev 600) +++ trunk/fuse/ay.h 2009-06-29 22:23:59 UTC (rev 601) @@ -1,7 +1,7 @@ /* ay.h: AY-8-3912 routines - Copyright (c) 1999-2004 Philip Kendall + Copyright (c) 1999-2009 Philip Kendall - $Id: ay.h 2993 2007-06-17 13:54:49Z pak21 $ + $Id: ay.h 4030 2009-06-07 14:38:38Z fredm $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -42,4 +42,6 @@ void ay_dataport_write( libspectrum_word port, libspectrum_byte b ); +void ay_state_from_snapshot( libspectrum_snap *snap ); + #endif /* #ifndef FUSE_AY_H */ Modified: trunk/fuse/compat/Makefile.am =================================================================== --- trunk/fuse/compat/Makefile.am 2009-06-27 12:48:09 UTC (rev 600) +++ trunk/fuse/compat/Makefile.am 2009-06-29 22:23:59 UTC (rev 601) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2003-2007 Philip Kendall -## $Id: Makefile.am 3283 2007-11-09 12:21:06Z fredm $ +## $Id: Makefile.am 3944 2009-01-10 18:17:04Z 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,7 @@ DIST_SUBDIRS += compat/amiga \ compat/morphos \ compat/unix \ + compat/wii \ compat/win32 EXTRA_fuse_SOURCES += compat/dirname.c \ Modified: trunk/fuse/compat/amiga/Makefile.am =================================================================== --- trunk/fuse/compat/amiga/Makefile.am 2009-06-27 12:48:09 UTC (rev 600) +++ trunk/fuse/compat/amiga/Makefile.am 2009-06-29 22:23:59 UTC (rev 601) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2007-2008 Philip Kendall -## $Id: Makefile.am 3687 2008-06-23 11:55:23Z pak21 $ +## $Id: Makefile.am 3935 2009-01-07 12:55:13Z 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,8 +27,10 @@ noinst_LIBRARIES = libcompatos.a -libcompatos_a_SOURCES = ../unix/file.c \ +libcompatos_a_SOURCES = ../unix/dir.c \ + ../unix/file.c \ osname.c \ - paths.c + paths.c \ + ../unix/timer.c INCLUDES = @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@ Modified: trunk/fuse/compat/amiga/paths.c =================================================================== --- trunk/fuse/compat/amiga/paths.c 2009-06-27 12:48:09 UTC (rev 600) +++ trunk/fuse/compat/amiga/paths.c 2009-06-29 22:23:59 UTC (rev 601) @@ -1,7 +1,7 @@ /* paths.c: Path-related compatibility routines Copyright (c) 1999-2007 Philip Kendall - $Id: paths.c 3844 2008-11-19 21:31:07Z fredm $ + $Id: paths.c 3843 2008-11-19 21:27:03Z fredm $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/fuse/compat/morphos/Makefile.am =================================================================== --- trunk/fuse/compat/morphos/Makefile.am 2009-06-27 12:48:09 UTC (rev 600) +++ trunk/fuse/compat/morphos/Makefile.am 2009-06-29 22:23:59 UTC (rev 601) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2007-2008 Philip Kendall -## $Id: Makefile.am 3687 2008-06-23 11:55:23Z pak21 $ +## $Id: Makefile.am 3935 2009-01-07 12:55:13Z 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,8 +27,10 @@ noinst_LIBRARIES = libcompatos.a -libcompatos_a_SOURCES = ../unix/file.c \ +libcompatos_a_SOURCES = ../unix/dir.c \ + ../unix/file.c \ osname.c \ - ../amiga/paths.c + ../amiga/paths.c \ + ../unix/timer.c INCLUDES = @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@ Modified: trunk/fuse/compat/morphos/osname.c =================================================================== --- trunk/fuse/compat/morphos/osname.c 2009-06-27 12:48:09 UTC (rev 600) +++ trunk/fuse/compat/morphos/osname.c 2009-06-29 22:23:59 UTC (rev 601) @@ -1,7 +1,7 @@ /* osname.c: Get a representation of the OS we're running on Copyright (c) 1999-2007 Philip Kendall - $Id: osname.c 3139 2007-09-03 10:27:57Z fredm $ + $Id: osname.c 3922 2008-12-31 19:01:31Z zubzero $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/fuse/compat/unix/Makefile.am =================================================================== --- trunk/fuse/compat/unix/Makefile.am 2009-06-27 12:48:09 UTC (rev 600) +++ trunk/fuse/compat/unix/Makefile.am 2009-06-29 22:23:59 UTC (rev 601) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2007-2008 Philip Kendall -## $Id: Makefile.am 3687 2008-06-23 11:55:23Z pak21 $ +## $Id: Makefile.am 3935 2009-01-07 12:55:13Z 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,8 +27,10 @@ noinst_LIBRARIES = libcompatos.a -libcompatos_a_SOURCES = file.c \ +libcompatos_a_SOURCES = dir.c \ + file.c \ osname.c \ - paths.c + paths.c \ + timer.c INCLUDES = @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@ Copied: trunk/fuse/compat/unix/dir.c (from rev 600, vendor/fuse-emulator/current/fuse/compat/unix/dir.c) =================================================================== --- trunk/fuse/compat/unix/dir.c (rev 0) +++ trunk/fuse/compat/unix/dir.c 2009-06-29 22:23:59 UTC (rev 601) @@ -0,0 +1,63 @@ +/* dir.c: Directory-related compatibility routines + Copyright (c) 2009 Philip Kendall + + $Id: dir.c 3945 2009-01-10 18:44:42Z 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 + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + Author contact information: + + E-mail: phi...@sh... + +*/ + +#include <config.h> + +#include <errno.h> +#include <string.h> + +#include "compat.h" + +compat_dir +compat_opendir( const char *path ) +{ + return opendir( path ); +} + +compat_dir_result_t +compat_readdir( compat_dir directory, char *name, size_t length ) +{ + compat_dir_result_t r; + struct dirent *dirent; + + errno = 0; + dirent = readdir( directory ); + + if( dirent ) { + r = COMPAT_DIR_RESULT_OK; + strncpy( name, dirent->d_name, length ); + name[ length - 1 ] = 0; + } else { + r = ( errno == 0 ? COMPAT_DIR_RESULT_END : COMPAT_DIR_RESULT_ERROR ); + } + + return r; +} + +int +compat_closedir( compat_dir directory ) +{ + return closedir( directory ); +} Modified: trunk/fuse/compat/unix/file.c =================================================================== --- trunk/fuse/compat/unix/file.c 2009-06-27 12:48:09 UTC (rev 600) +++ trunk/fuse/compat/unix/file.c 2009-06-29 22:23:59 UTC (rev 601) @@ -1,7 +1,7 @@ /* file.c: File-related compatibility routines Copyright (c) 2008 Philip Kendall - $Id: file.c 3776 2008-10-06 00:49:45Z fredm $ + $Id: file.c 4040 2009-06-27 09:32:42Z fredm $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -33,22 +33,15 @@ #include <unistd.h> #include "compat.h" +#include "utils.h" #include "ui/ui.h" -/* Certain brain damaged operating systems (DOS/Windows) treat text - and binary files different in open(2) and need to be given the - O_BINARY flag to tell them it's a binary file */ -#ifndef O_BINARY -#define O_BINARY 0 -#endif /* #ifndef O_BINARY */ +const compat_fd COMPAT_FILE_OPEN_FAILED = NULL; -const compat_fd COMPAT_FILE_OPEN_FAILED = -1; - compat_fd compat_file_open( const char *path, int write ) { - int flags = write ? O_WRONLY | O_CREAT | O_BINARY : O_RDONLY | O_BINARY; - return open( path, flags, 0666 ); + return fopen( path, write ? "w" : "r" ); } off_t @@ -56,7 +49,7 @@ { struct stat file_info; - if( fstat( fd, &file_info ) ) { + if( fstat( fileno( fd ), &file_info ) ) { ui_error( UI_ERROR_ERROR, "couldn't stat file: %s", strerror( errno ) ); return -1; } @@ -67,15 +60,11 @@ int compat_file_read( compat_fd fd, utils_file *file ) { - ssize_t bytes = read( fd, file->buffer, file->length ); + size_t bytes = fread( file->buffer, 1, file->length, fd ); if( bytes != file->length ) { - if( bytes == -1 ) { - ui_error( UI_ERROR_ERROR, "error reading file: %s", strerror( errno ) ); - } else { - ui_error( UI_ERROR_ERROR, - "error reading file: expected %ld bytes, but read only %ld", - (unsigned long)file->length, (unsigned long)bytes ); - } + ui_error( UI_ERROR_ERROR, + "error reading file: expected %lu bytes, but read only %lu", + file->length, bytes ); return 1; } @@ -85,15 +74,11 @@ int compat_file_write( compat_fd fd, const unsigned char *buffer, size_t length ) { - ssize_t bytes = write( fd, buffer, length ); + size_t bytes = fwrite( buffer, 1, length, fd ); if( bytes != length ) { - if( bytes == -1 ) { - ui_error( UI_ERROR_ERROR, "error writing file: %s", strerror( errno ) ); - } else { - ui_error( UI_ERROR_ERROR, - "error writing file: expected %ld bytes, but wrote only %ld", - (unsigned long)length, (unsigned long)bytes ); - } + ui_error( UI_ERROR_ERROR, + "error writing file: expected %lu bytes, but wrote only %lu", + length, bytes ); return 1; } @@ -103,5 +88,5 @@ int compat_file_close( compat_fd fd ) { - return close( fd ); + return fclose( fd ); } Modified: trunk/fuse/compat/unix/osname.c =================================================================== --- trunk/fuse/compat/unix/osname.c 2009-06-27 12:48:09 UTC (rev 600) +++ trunk/fuse/compat/unix/osname.c 2009-06-29 22:23:59 UTC (rev 601) @@ -1,7 +1,7 @@ /* osname.c: Get a representation of the OS we're running on Copyright (c) 1999-2007 Philip Kendall - $Id: osname.c 3626 2008-05-23 10:30:30Z pak21 $ + $Id: osname.c 3922 2008-12-31 19:01:31Z zubzero $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/fuse/compat/unix/paths.c =================================================================== --- trunk/fuse/compat/unix/paths.c 2009-06-27 12:48:09 UTC (rev 600) +++ trunk/fuse/compat/unix/paths.c 2009-06-29 22:23:59 UTC (rev 601) @@ -1,7 +1,7 @@ /* paths.c: Path-related compatibility routines Copyright (c) 1999-2007 Philip Kendall - $Id: paths.c 3253 2007-10-26 02:02:17Z zubzero $ + $Id: paths.c 3922 2008-12-31 19:01:31Z 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 Copied: trunk/fuse/compat/unix/timer.c (from rev 600, vendor/fuse-emulator/current/fuse/compat/unix/timer.c) =================================================================== --- trunk/fuse/compat/unix/timer.c (rev 0) +++ trunk/fuse/compat/unix/timer.c 2009-06-29 22:23:59 UTC (rev 601) @@ -0,0 +1,55 @@ +/* timer.c: UNIX speed routines for Fuse + Copyright (c) 1999-2008 Philip Kendall, Marek Januszewski, Fredrick Meunier + + $Id: timer.c 3982 2009-02-11 12:00:22Z 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 + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + Author contact information: + + E-mail: phi...@sh... + +*/ + +#include <config.h> + +#include <errno.h> +#include <string.h> +#include <sys/time.h> +#include <unistd.h> + +#include "compat.h" +#include "ui/ui.h" + +double +compat_timer_get_time( void ) +{ + struct timeval tv; + int error; + + error = gettimeofday( &tv, NULL ); + if( error ) { + ui_error( UI_ERROR_ERROR, "%s: error getting time: %s", __func__, strerror( errno ) ); + return -1; + } + + return tv.tv_sec + tv.tv_usec / 1000000.0; +} + +void +compat_timer_sleep( int ms ) +{ + usleep( ms * 1000 ); +} Modified: trunk/fuse/compat/wii/Makefile.am =================================================================== --- trunk/fuse/compat/wii/Makefile.am 2009-06-27 12:48:09 UTC (rev 600) +++ trunk/fuse/compat/wii/Makefile.am 2009-06-29 22:23:59 UTC (rev 601) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2007-2008 Philip Kendall -## $Id: Makefile.am 3687 2008-06-23 11:55:23Z pak21 $ +## $Id: Makefile.am 4040 2009-06-27 09:32:42Z fredm $ ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -27,8 +27,10 @@ noinst_LIBRARIES = libcompatos.a -libcompatos_a_SOURCES = file.c \ +libcompatos_a_SOURCES = dir.c \ + ../unix/file.c \ osname.c \ - paths.c + paths.c \ + timer.c INCLUDES = @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@ Copied: trunk/fuse/compat/wii/dir.c (from rev 600, vendor/fuse-emulator/current/fuse/compat/wii/dir.c) =================================================================== --- trunk/fuse/compat/wii/dir.c (rev 0) +++ trunk/fuse/compat/wii/dir.c 2009-06-29 22:23:59 UTC (rev 601) @@ -0,0 +1,50 @@ +/* dir.c: Directory-related compatibility routines + Copyright (c) 2009 Philip Kendall + + $Id: dir.c 3945 2009-01-10 18:44:42Z 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 + 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 "compat.h" + +compat_dir +compat_opendir( const char *path ) +{ + return diropen( path ); +} + +compat_dir_result_t +compat_readdir( compat_dir directory, char *path, size_t length ) +{ + struct stat fstat; + + int done = dirnext( directory, path, &fstat ); + + return done ? COMPAT_DIR_RESULT_END : COMPAT_DIR_RESULT_OK; +} + +int +compat_closedir( compat_dir directory ) +{ + return dirclose( directory ); +} Deleted: trunk/fuse/compat/wii/file.c =================================================================== --- trunk/fuse/compat/wii/file.c 2009-06-27 12:48:09 UTC (rev 600) +++ trunk/fuse/compat/wii/file.c 2009-06-29 22:23:59 UTC (rev 601) @@ -1,90 +0,0 @@ -/* file.c: File-related compatibility routines - Copyright (c) 2008 Philip Kendall - - $Id: file.c 3688 2008-06-23 18:17:56Z 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 <errno.h> -#include <fcntl.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <unistd.h> - -#include "compat.h" -#include "ui/ui.h" - -const compat_fd COMPAT_FILE_OPEN_FAILED = NULL; - -compat_fd -compat_file_open( const char *path, int write ) -{ - return fopen( path, write ? "w" : "r" ); -} - -off_t -compat_file_get_length( compat_fd fd ) -{ - struct stat file_info; - - if( fstat( fileno( fd ), &file_info ) ) { - ui_error( UI_ERROR_ERROR, "couldn't stat file: %s", strerror( errno ) ); - return -1; - } - - return file_info.st_size; -} - -int -compat_file_read( compat_fd fd, utils_file *file ) -{ - size_t bytes = fread( file->buffer, 1, file->length, fd ); - if( bytes != file->length ) { - ui_error( UI_ERROR_ERROR, - "error reading file: expected %d bytes, but read only %d", - file->length, bytes ); - return 1; - } - - return 0; -} - -int -compat_file_write( compat_fd fd, const unsigned char *buffer, size_t length ) -{ - size_t bytes = fwrite( buffer, 1, length, fd ); - if( bytes != length ) { - ui_error( UI_ERROR_ERROR, - "error writing file: expected %d bytes, but wrote only %d", - length, bytes ); - return 1; - } - - return 0; -} - -int -compat_file_close( compat_fd fd ) -{ - return fclose( fd ); -} Copied: trunk/fuse/compat/wii/osname.c (from rev 600, vendor/fuse-emulator/current/fuse/compat/wii/osname.c) =================================================================== --- trunk/fuse/compat/wii/osname.c (rev 0) +++ trunk/fuse/compat/wii/osname.c 2009-06-29 22:23:59 UTC (rev 601) @@ -0,0 +1,39 @@ +/* osname.c: Get a representation of the OS we're running on + Copyright (c) 1999-2009 Philip Kendall, Bjoern Giesler + + $Id: osname.c 3945 2009-01-10 18:44:42Z 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 + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + Author contact information: + + E-mail: phi...@sh... + +*/ + +#include <config.h> + +#include <errno.h> +#include <stdlib.h> +#include <string.h> + +#include "ui/ui.h" + +int +compat_osname( char *buffer, size_t length ) +{ + snprintf(buffer, length, "Wii"); + return 0; +} Copied: trunk/fuse/compat/wii/paths.c (from rev 600, vendor/fuse-emulator/current/fuse/compat/wii/paths.c) =================================================================== --- trunk/fuse/compat/wii/paths.c (rev 0) +++ trunk/fuse/compat/wii/paths.c 2009-06-29 22:23:59 UTC (rev 601) @@ -0,0 +1,54 @@ +/* paths.c: Path-related compatibility routines + Copyright (c) 1999-2009 Philip Kendall, Bjoern Giesler + + $Id: paths.c 3970 2009-01-19 03:47:02Z specu $ + + 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 <stdlib.h> +#include <string.h> + +#include "compat.h" + +const char* +compat_get_temp_path( void ) +{ + return "/tmp"; +} + +const char* +compat_get_home_path( void ) +{ + return "sd:/apps/fuse"; +} + +int +compat_is_absolute_path( const char *path ) +{ + if(strlen(path) >= 1 && path[0] == '/') + return 1; + if(strlen(path) >= strlen("fat:/") && + strncmp(path, "fat:/", strlen("fat:/")) == 0) + return 1; + return 0; +} Copied: trunk/fuse/compat/wii/timer.c (from rev 600, vendor/fuse-emulator/current/fuse/compat/wii/timer.c) =================================================================== --- trunk/fuse/compat/wii/timer.c (rev 0) +++ trunk/fuse/compat/wii/timer.c 2009-06-29 22:23:59 UTC (rev 601) @@ -0,0 +1,57 @@ +/* unix.c: UNIX speed routines for Fuse + Copyright (c) 1999-2007 Philip Kendall, Marek Januszewski, Fredrick Meunier + + $Id: timer.c 3944 2009-01-10 18:17:04Z 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 <errno.h> +#include <string.h> +#include <unistd.h> + +#include "compat.h" +#include "ui/ui.h" + +/* FIXME: where should we get this prototype from? */ +extern int clock_gettime(struct timespec *tp); + +double +compat_timer_get_time( void ) +{ + int error; + struct timespec tp; + + error = clock_gettime(&tp); + if( error ) { + ui_error( UI_ERROR_ERROR, "%s: error getting time: %s", __func__, strerror( errno ) ); + return -1; + } + + return tp.tv_sec + tp.tv_nsec / 1000000000.0; +} + +void +compat_timer_sleep( int ms ) +{ + usleep( ms * 1000 ); +} Modified: trunk/fuse/compat/win32/Makefile.am =================================================================== --- trunk/fuse/compat/win32/Makefile.am 2009-06-27 12:48:09 UTC (rev 600) +++ trunk/fuse/compat/win32/Makefile.am 2009-06-29 22:23:59 UTC (rev 601) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2007-2008 Philip Kendall -## $Id: Makefile.am 3687 2008-06-23 11:55:23Z pak21 $ +## $Id: Makefile.am 3935 2009-01-07 12:55:13Z 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,8 +27,10 @@ noinst_LIBRARIES = libcompatos.a -libcompatos_a_SOURCES = ../unix/file.c \ +libcompatos_a_SOURCES = ../unix/dir.c \ + ../unix/file.c \ osname.c \ - paths.c + paths.c \ + timer.c INCLUDES = @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@ Modified: trunk/fuse/compat/win32/osname.c =================================================================== --- trunk/fuse/compat/win32/osname.c 2009-06-27 12:48:09 UTC (rev 600) +++ trunk/fuse/compat/win32/osname.c 2009-06-29 22:23:59 UTC (rev 601) @@ -1,7 +1,7 @@ /* osname.c: Get a representation of the OS we're running on Copyright (c) 1999-2007 Philip Kendall - $Id: osname.c 3315 2007-11-20 03:01:59Z zubzero $ + $Id: osname.c 3922 2008-12-31 19:01:31Z zubzero $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/fuse/compat/win32/paths.c =================================================================== --- trunk/fuse/compat/win32/paths.c 2009-06-27 12:48:09 UTC (rev 600) +++ trunk/fuse/compat/win32/paths.c 2009-06-29 22:23:59 UTC (rev 601) @@ -1,7 +1,7 @@ /* paths.c: Path-related compatibility routines Copyright (c) 1999-2007 Philip Kendall - $Id: paths.c 3253 2007-10-26 02:02:17Z zubzero $ + $Id: paths.c 3922 2008-12-31 19:01:31Z 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 Copied: trunk/fuse/compat/win32/timer.c (from rev 600, vendor/fuse-emulator/current/fuse/compat/win32/timer.c) =================================================================== --- trunk/fuse/compat/win32/timer.c (rev 0) +++ trunk/fuse/compat/win32/timer.c 2009-06-29 22:23:59 UTC (rev 601) @@ -0,0 +1,42 @@ +/* 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 $ + + 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 <windows.h> + +#include "compat.h" + +double +compat_timer_get_time( void ) +{ + return GetTickCount() / 1000.0; +} + +void +compat_timer_sleep( int ms ) +{ + Sleep( ms ); +} Modified: trunk/fuse/compat.h =================================================================== --- trunk/fuse/compat.h 2009-06-27 12:48:09 UTC (rev 600) +++ trunk/fuse/compat.h 2009-06-29 22:23:59 UTC (rev 601) @@ -1,7 +1,7 @@ /* compat.h: various compatibility bits Copyright (c) 2003-2008 Philip Kendall - $Id: compat.h 3687 2008-06-23 11:55:23Z pak21 $ + $Id: compat.h 4040 2009-06-27 09:32:42Z fredm $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -26,10 +26,11 @@ #ifndef FUSE_COMPAT_H #define FUSE_COMPAT_H +#include <stdio.h> +#include <dirent.h> #include <stdlib.h> +#include <sys/types.h> -#include <utils.h> - /* Remove the gcc-specific incantations if we're not using gcc */ #ifdef __GNUC__ @@ -49,12 +50,12 @@ char *dirname( char *path ); #endif /* #ifndef HAVE_DIRNAME */ -#if !defined HAVE_GETOPT_LONG && !defined AMIGA && !defined __MORPHOS__ +#if !defined HAVE_GETOPT_LONG && !defined AMIGA && !defined __MORPHOS__ && !defined __APPLE__ #include "compat/getopt.h" #endif /* #ifndef HAVE_GETOPT_LONG */ #ifndef HAVE_MKSTEMP -int mkstemp( char *tmpl ); +int mkstemp( char *templ ); #endif /* #ifndef HAVE_MKSTEMP */ /* That which separates components in a path name */ @@ -66,24 +67,52 @@ #define FUSE_DIR_SEP_STR "/" #endif +#ifndef PATH_MAX +#define PATH_MAX 1024 +#endif + int compat_osname( char *buffer, size_t length ); const char* compat_get_temp_path( void ); const char* compat_get_home_path( void ); int compat_is_absolute_path( const char *path ); +typedef FILE* compat_fd; + #ifndef UI_WII -typedef int compat_fd; +typedef DIR* compat_dir; #else /* #ifndef UI_WII */ -typedef FILE* compat_fd; +typedef DIR_ITER* compat_dir; #endif /* #ifndef UI_WII */ extern const compat_fd COMPAT_FILE_OPEN_FAILED; +/* File handling */ + +struct utils_file; + compat_fd compat_file_open( const char *path, int write ); off_t compat_file_get_length( compat_fd fd ); -int compat_file_read( compat_fd fd, utils_file *file ); +int compat_file_read( compat_fd fd, struct utils_file *file ); int compat_file_write( compat_fd fd, const unsigned char *buffer, size_t length ); int compat_file_close( compat_fd fd ); +/* Directory handling */ + +typedef enum compat_dir_result_t { + COMPAT_DIR_RESULT_OK, + COMPAT_DIR_RESULT_END, + COMPAT_DIR_RESULT_ERROR, +} compat_dir_result_t; + +compat_dir compat_opendir( const char *path ); +compat_dir_result_t compat_readdir( compat_dir directory, char *name, + size_t length ); +int compat_closedir( compat_dir directory ); + +/* Timing routines */ + +double compat_timer_get_time( void ); +void compat_timer_sleep( int ms ); + #endif /* #ifndef FUSE_COMPAT_H */ Modified: trunk/fuse/configure.in =================================================================== --- trunk/fuse/configure.in 2009-06-27 12:48:09 UTC (rev 600) +++ trunk/fuse/configure.in 2009-06-29 22:23:59 UTC (rev 601) @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -dnl $Id: configure.in 3866 2008-11-29 17:05:40Z pak21 $ +dnl $Id: configure.in 4028 2009-05-31 13:15:52Z fredm $ dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ AC_CANONICAL_SYSTEM dnl Use automake to produce `Makefile.in' -AM_INIT_AUTOMAKE(fuse, 0.10.0) +AM_INIT_AUTOMAKE(fuse, 0.10.0.1) dnl Checks for programs. AC_PROG_CC @@ -93,7 +93,7 @@ AC_MSG_RESULT($win32) if test "$win32" = yes; then AC_CHECK_HEADER(windows.h, - LIBS="$LIBS -mwindows -lcomctl32"; + LIBS="$LIBS -mwindows -lcomctl32 -lwinmm"; 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]) @@ -149,6 +149,38 @@ fi fi +dnl Look for Wii interface (default = 0) +if test -z "$UI"; then + AC_MSG_CHECKING(whether Wii UI requested) + AC_ARG_WITH(wii, + [ --with-wii use Wii FB for user interface], + if test "$withval" = no; then wii=no; else wii=yes; fi, + wii=no) + AC_MSG_RESULT($wii) + if test "$wii" = yes; then + AC_DEFINE([UI_WII], 1, [Defined if Wii UI in use]) + AC_DEFINE([USE_WIDGET], 1, [Defined if we're using a widget-based UI]) + AC_DEFINE([USE_JOYSTICK], 1, [Defined if we're using hardware joysticks]) + UI=wii; WIDGET=widget; + UI_LIBS="ui/wii/libuiwii.a ui/widget/libwidget.a" + target_os=wii + dnl Look for libgpm (default=yes) + AC_MSG_CHECKING(whether gpm requested) + AC_ARG_WITH(gpm, + [ --without-gpm don't use libgp... [truncated message content] |
From: <fr...@us...> - 2009-06-27 17:38:51
|
Revision: 600 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=600&view=rev Author: fredm Date: 2009-06-27 12:48:09 +0000 (Sat, 27 Jun 2009) Log Message: ----------- Tag vendor/fuse-emulator/current as vendor/fuse-emulator/fuse-r4041. Added Paths: ----------- vendor/fuse-emulator/fuse-r4041/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2009-06-27 15:31:35
|
Revision: 598 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=598&view=rev Author: fredm Date: 2009-06-27 12:33:22 +0000 (Sat, 27 Jun 2009) Log Message: ----------- To prepare to load . into vendor/fuse-emulator/current, perform 13 renames. * vendor/fuse-emulator/current/fuse/ide/ide.c: Renamed from vendor/fuse-emulator/current/fuse/ide.c. * vendor/fuse-emulator/current/fuse/ide/ide.h: Renamed from vendor/fuse-emulator/current/fuse/ide.h. * vendor/fuse-emulator/current/fuse/ide/divide.c: Renamed from vendor/fuse-emulator/current/fuse/divide.c. * vendor/fuse-emulator/current/fuse/ide/divide.h: Renamed from vendor/fuse-emulator/current/fuse/divide.h. * vendor/fuse-emulator/current/fuse/sound.cpp: Renamed from vendor/fuse-emulator/current/fuse/sound.c. * vendor/fuse-emulator/current/fuse/ide/zxatasp.c: Renamed from vendor/fuse-emulator/current/fuse/zxatasp.c. * vendor/fuse-emulator/current/fuse/ide/zxatasp.h: Renamed from vendor/fuse-emulator/current/fuse/zxatasp.h. * vendor/fuse-emulator/current/fuse/ide/zxcf.c: Renamed from vendor/fuse-emulator/current/fuse/zxcf.c. * vendor/fuse-emulator/current/fuse/ide/zxcf.h: Renamed from vendor/fuse-emulator/current/fuse/zxcf.h. * vendor/fuse-emulator/current/fuse/ide/simpleide.c: Renamed from vendor/fuse-emulator/current/fuse/simpleide.c. * vendor/fuse-emulator/current/fuse/ide/simpleide.h: Renamed from vendor/fuse-emulator/current/fuse/simpleide.h. * vendor/fuse-emulator/current/fuse/compat/unix/timer.c: Renamed from vendor/fuse-emulator/current/fuse/timer/unix.c. * vendor/fuse-emulator/current/fuse/compat/win32/timer.c: Renamed from vendor/fuse-emulator/current/fuse/timer/win32.c. Added Paths: ----------- vendor/fuse-emulator/current/fuse/compat/unix/timer.c vendor/fuse-emulator/current/fuse/compat/win32/timer.c vendor/fuse-emulator/current/fuse/ide/ vendor/fuse-emulator/current/fuse/ide/divide.c vendor/fuse-emulator/current/fuse/ide/divide.h vendor/fuse-emulator/current/fuse/ide/ide.c vendor/fuse-emulator/current/fuse/ide/ide.h vendor/fuse-emulator/current/fuse/ide/simpleide.c vendor/fuse-emulator/current/fuse/ide/simpleide.h vendor/fuse-emulator/current/fuse/ide/zxatasp.c vendor/fuse-emulator/current/fuse/ide/zxatasp.h vendor/fuse-emulator/current/fuse/ide/zxcf.c vendor/fuse-emulator/current/fuse/ide/zxcf.h vendor/fuse-emulator/current/fuse/sound.cpp Removed Paths: ------------- vendor/fuse-emulator/current/fuse/divide.c vendor/fuse-emulator/current/fuse/divide.h vendor/fuse-emulator/current/fuse/ide.c vendor/fuse-emulator/current/fuse/ide.h vendor/fuse-emulator/current/fuse/simpleide.c vendor/fuse-emulator/current/fuse/simpleide.h vendor/fuse-emulator/current/fuse/sound.c vendor/fuse-emulator/current/fuse/timer/unix.c vendor/fuse-emulator/current/fuse/timer/win32.c vendor/fuse-emulator/current/fuse/zxatasp.c vendor/fuse-emulator/current/fuse/zxatasp.h vendor/fuse-emulator/current/fuse/zxcf.c vendor/fuse-emulator/current/fuse/zxcf.h Copied: vendor/fuse-emulator/current/fuse/compat/unix/timer.c (from rev 597, vendor/fuse-emulator/current/fuse/timer/unix.c) =================================================================== --- vendor/fuse-emulator/current/fuse/compat/unix/timer.c (rev 0) +++ vendor/fuse-emulator/current/fuse/compat/unix/timer.c 2009-06-27 12:33:22 UTC (rev 598) @@ -0,0 +1,72 @@ +/* unix.c: UNIX speed routines for Fuse + Copyright (c) 1999-2007 Philip Kendall, Marek Januszewski, Fredrick Meunier + + $Id: unix.c 3115 2007-08-19 02:49:14Z 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 + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + Author contact information: + + E-mail: phi...@sh... + +*/ + +#include <config.h> + +#include <errno.h> +#include <string.h> +#include <unistd.h> + +#include "timer.h" +#include "ui/ui.h" + +int +timer_get_real_time( timer_type *real_time ) +{ + int error; + + error = gettimeofday( real_time, NULL ); + if( error ) { + ui_error( UI_ERROR_ERROR, "error getting time: %s", strerror( errno ) ); + return 1; + } + + return 0; +} + +float +timer_get_time_difference( timer_type *a, timer_type *b ) +{ + return ( a->tv_sec - b->tv_sec ) + ( a->tv_usec - b->tv_usec ) / 1000000.0; +} + +void +timer_add_time_difference( timer_type *a, long msec ) +{ + a->tv_usec += msec * 1000; + if( a->tv_usec >= 1000000 ) { + a->tv_usec -= 1000000; + a->tv_sec += 1; + } else if( a->tv_usec < 0 ) { + a->tv_usec += 1000000; + a->tv_sec -= 1; + } +} + +void +timer_sleep_ms( int ms ) +{ + usleep( ms * 1000 ); +} Copied: vendor/fuse-emulator/current/fuse/compat/win32/timer.c (from rev 597, vendor/fuse-emulator/current/fuse/timer/win32.c) =================================================================== --- vendor/fuse-emulator/current/fuse/compat/win32/timer.c (rev 0) +++ vendor/fuse-emulator/current/fuse/compat/win32/timer.c 2009-06-27 12:33:22 UTC (rev 598) @@ -0,0 +1,54 @@ +/* win32.c: Win32 speed routines for Fuse + Copyright (c) 1999-2007 Philip Kendall, Marek Januszewski, Fredrick Meunier + + $Id: win32.c 3087 2007-07-31 19:08:50Z 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 + 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 "timer.h" + +int +timer_get_real_time( timer_type *real_time ) +{ + *real_time = GetTickCount(); + + return 0; +} + +float +timer_get_time_difference( timer_type *a, timer_type *b ) +{ + return ( (long)*a - (long)*b ) / 1000.0; +} + +void +timer_add_time_difference( timer_type *a, long msec ) +{ + *a += msec; +} + +void +timer_sleep_ms( int ms ) +{ + Sleep( ms ); +} Deleted: vendor/fuse-emulator/current/fuse/divide.c =================================================================== --- vendor/fuse-emulator/current/fuse/divide.c 2009-06-24 09:52:27 UTC (rev 597) +++ vendor/fuse-emulator/current/fuse/divide.c 2009-06-27 12:33:22 UTC (rev 598) @@ -1,445 +0,0 @@ -/* divide.c: DivIDE interface routines - Copyright (c) 2005-2008 Matthew Westcott, Philip Kendall - - $Id: divide.c 3703 2008-06-30 20:36:11Z 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: Philip Kendall <phi...@sh...> - -*/ - -#include <config.h> - -#include <libspectrum.h> - -#include <string.h> - -#include "debugger/debugger.h" -#include "ide.h" -#include "machine.h" -#include "module.h" -#include "periph.h" -#include "settings.h" -#include "ui/ui.h" -#include "divide.h" - -/* Private function prototypes */ - -static libspectrum_byte divide_ide_read( libspectrum_word port, int *attached ); -static void divide_ide_write( libspectrum_word port, libspectrum_byte data ); -static void divide_control_write( libspectrum_word port, libspectrum_byte data ); -static void divide_control_write_internal( libspectrum_byte data ); -static void divide_page( void ); -static void divide_unpage( void ); -static libspectrum_ide_register port_to_ide_register( libspectrum_byte port ); - -/* Data */ - -const periph_t divide_peripherals[] = { - { 0x00e3, 0x00a3, divide_ide_read, divide_ide_write }, - { 0x00ff, 0x00e3, NULL, divide_control_write }, -}; - -const size_t divide_peripherals_count = - sizeof( divide_peripherals ) / sizeof( periph_t ); - -static const libspectrum_byte DIVIDE_CONTROL_CONMEM = 0x80; -static const libspectrum_byte DIVIDE_CONTROL_MAPRAM = 0x40; - -int divide_automapping_enabled = 0; -int divide_active = 0; -static libspectrum_byte divide_control; - -/* divide_automap tracks opcode fetches to entry and exit points to determine - whether DivIDE memory *would* be paged in at this moment if mapram / wp - flags allowed it */ -static int divide_automap = 0; - -static libspectrum_ide_channel *divide_idechn0; -static libspectrum_ide_channel *divide_idechn1; - -#define DIVIDE_PAGES 4 -#define DIVIDE_PAGE_LENGTH 0x2000 -static libspectrum_byte divide_ram[ DIVIDE_PAGES ][ DIVIDE_PAGE_LENGTH ]; -static libspectrum_byte divide_eprom[ DIVIDE_PAGE_LENGTH ]; - -static void divide_reset( int hard_reset ); -static void divide_memory_map( void ); -static void divide_enabled_snapshot( libspectrum_snap *snap ); -static void divide_from_snapshot( libspectrum_snap *snap ); -static void divide_to_snapshot( libspectrum_snap *snap ); - -static module_info_t divide_module_info = { - - divide_reset, - divide_memory_map, - divide_enabled_snapshot, - divide_from_snapshot, - divide_to_snapshot, - -}; - -/* Debugger events */ -static const char *event_type_string = "divide"; -static int page_event, unpage_event; - -/* Housekeeping functions */ - -int -divide_init( void ) -{ - int error; - - divide_idechn0 = libspectrum_ide_alloc( LIBSPECTRUM_IDE_DATA16 ); - divide_idechn1 = libspectrum_ide_alloc( LIBSPECTRUM_IDE_DATA16 ); - - ui_menu_activate( UI_MENU_ITEM_MEDIA_IDE_DIVIDE_MASTER_EJECT, 0 ); - ui_menu_activate( UI_MENU_ITEM_MEDIA_IDE_DIVIDE_SLAVE_EJECT, 0 ); - - if( settings_current.divide_master_file ) { - error = libspectrum_ide_insert( divide_idechn0, LIBSPECTRUM_IDE_MASTER, - settings_current.divide_master_file ); - if( error ) return error; - ui_menu_activate( UI_MENU_ITEM_MEDIA_IDE_DIVIDE_MASTER_EJECT, 1 ); - } - - if( settings_current.divide_slave_file ) { - error = libspectrum_ide_insert( divide_idechn0, LIBSPECTRUM_IDE_SLAVE, - settings_current.divide_slave_file ); - if( error ) return error; - ui_menu_activate( UI_MENU_ITEM_MEDIA_IDE_DIVIDE_SLAVE_EJECT, 1 ); - } - - module_register( ÷_module_info ); - - if( periph_register_paging_events( event_type_string, &page_event, - &unpage_event ) ) - return 1; - - return 0; -} - -int -divide_end( void ) -{ - int error; - - error = libspectrum_ide_free( divide_idechn0 ); - error = libspectrum_ide_free( divide_idechn1 ) || error; - - return error; -} - -/* DivIDE does not page in immediately on a reset condition (we do that by - trapping PC instead); however, it needs to perform housekeeping tasks upon - reset */ -static void -divide_reset( int hard_reset ) -{ - divide_active = 0; - - if( !settings_current.divide_enabled ) return; - - if( hard_reset ) { - divide_control = 0; - } else { - divide_control &= DIVIDE_CONTROL_MAPRAM; - } - divide_automap = 0; - divide_refresh_page_state(); - - libspectrum_ide_reset( divide_idechn0 ); - libspectrum_ide_reset( divide_idechn1 ); -} - -int -divide_insert( const char *filename, libspectrum_ide_unit unit ) -{ - char **setting; - ui_menu_item item; - - switch( unit ) { - case LIBSPECTRUM_IDE_MASTER: - setting = &settings_current.divide_master_file; - item = UI_MENU_ITEM_MEDIA_IDE_DIVIDE_MASTER_EJECT; - break; - - case LIBSPECTRUM_IDE_SLAVE: - setting = &settings_current.divide_slave_file; - item = UI_MENU_ITEM_MEDIA_IDE_DIVIDE_SLAVE_EJECT; - break; - - default: return 1; - } - - return ide_insert( filename, divide_idechn0, unit, divide_commit, setting, - item ); -} - -int -divide_commit( libspectrum_ide_unit unit ) -{ - int error; - - error = libspectrum_ide_commit( divide_idechn0, unit ); - - return error; -} - -int -divide_eject( libspectrum_ide_unit unit ) -{ - char **setting; - ui_menu_item item; - - switch( unit ) { - case LIBSPECTRUM_IDE_MASTER: - setting = &settings_current.divide_master_file; - item = UI_MENU_ITEM_MEDIA_IDE_DIVIDE_MASTER_EJECT; - break; - - case LIBSPECTRUM_IDE_SLAVE: - setting = &settings_current.divide_slave_file; - item = UI_MENU_ITEM_MEDIA_IDE_DIVIDE_SLAVE_EJECT; - break; - - default: return 1; - } - - return ide_eject( divide_idechn0, unit, divide_commit, setting, item ); -} - -/* Port read/writes */ - -static libspectrum_ide_register -port_to_ide_register( libspectrum_byte port ) -{ - switch( port & 0xff ) { - case 0xa3: - return LIBSPECTRUM_IDE_REGISTER_DATA; - case 0xa7: - return LIBSPECTRUM_IDE_REGISTER_ERROR_FEATURE; - case 0xab: - return LIBSPECTRUM_IDE_REGISTER_SECTOR_COUNT; - case 0xaf: - return LIBSPECTRUM_IDE_REGISTER_SECTOR; - case 0xb3: - return LIBSPECTRUM_IDE_REGISTER_CYLINDER_LOW; - case 0xb7: - return LIBSPECTRUM_IDE_REGISTER_CYLINDER_HIGH; - case 0xbb: - return LIBSPECTRUM_IDE_REGISTER_HEAD_DRIVE; - default: /* 0xbf */ - return LIBSPECTRUM_IDE_REGISTER_COMMAND_STATUS; - } -} - -libspectrum_byte -divide_ide_read( libspectrum_word port, int *attached ) -{ - int ide_register; - if( !settings_current.divide_enabled ) return 0xff; - - *attached = 1; - ide_register = port_to_ide_register( port ); - - return libspectrum_ide_read( divide_idechn0, ide_register ); -} - -static void -divide_ide_write( libspectrum_word port, libspectrum_byte data ) -{ - int ide_register; - if( !settings_current.divide_enabled ) return; - - ide_register = port_to_ide_register( port ); - - libspectrum_ide_write( divide_idechn0, ide_register, data ); -} - -static void -divide_control_write( libspectrum_word port GCC_UNUSED, libspectrum_byte data ) -{ - int old_mapram; - - if( !settings_current.divide_enabled ) return; - - /* MAPRAM bit cannot be reset, only set */ - old_mapram = divide_control & DIVIDE_CONTROL_MAPRAM; - divide_control_write_internal( data | old_mapram ); -} - -static void -divide_control_write_internal( libspectrum_byte data ) -{ - divide_control = data; - divide_refresh_page_state(); -} - -void -divide_set_automap( int state ) -{ - divide_automap = state; - divide_refresh_page_state(); -} - -void -divide_refresh_page_state( void ) -{ - if( divide_control & DIVIDE_CONTROL_CONMEM ) { - /* always paged in if conmem enabled */ - divide_page(); - } else if( settings_current.divide_wp - || ( divide_control & DIVIDE_CONTROL_MAPRAM ) ) { - /* automap in effect */ - if( divide_automap ) { - divide_page(); - } else { - divide_unpage(); - } - } else { - divide_unpage(); - } -} - -static void -divide_page( void ) -{ - divide_active = 1; - machine_current->ram.romcs = 1; - machine_current->memory_map(); - - debugger_event( page_event ); -} - -static void -divide_unpage( void ) -{ - divide_active = 0; - machine_current->ram.romcs = 0; - machine_current->memory_map(); - - debugger_event( unpage_event ); -} - -void -divide_memory_map( void ) -{ - int upper_ram_page; - - if( !divide_active ) return; - - /* low bits of divide_control register give page number to use in upper - bank; only lowest two bits on original 32K model */ - upper_ram_page = divide_control & (DIVIDE_PAGES - 1); - - if( divide_control & DIVIDE_CONTROL_CONMEM ) { - memory_map_romcs[0].page = divide_eprom; - memory_map_romcs[0].writable = !settings_current.divide_wp; - memory_map_romcs[1].page = divide_ram[ upper_ram_page ]; - memory_map_romcs[1].writable = 1; - } else { - if( divide_control & DIVIDE_CONTROL_MAPRAM ) { - memory_map_romcs[0].page = divide_ram[3]; - memory_map_romcs[0].writable = 0; - memory_map_romcs[1].page = divide_ram[ upper_ram_page ]; - memory_map_romcs[1].writable = ( upper_ram_page != 3 ); - } else { - memory_map_romcs[0].page = divide_eprom; - memory_map_romcs[0].writable = 0; - memory_map_romcs[1].page = divide_ram[ upper_ram_page ]; - memory_map_romcs[1].writable = 1; - } - } - - memory_map_read[0] = memory_map_write[0] = memory_map_romcs[0]; - memory_map_read[1] = memory_map_write[1] = memory_map_romcs[1]; -} - -static void -divide_enabled_snapshot( libspectrum_snap *snap ) -{ - if( libspectrum_snap_divide_active( snap ) ) - settings_current.divide_enabled = 1; -} - -static void -divide_from_snapshot( libspectrum_snap *snap ) -{ - size_t i; - - if( !libspectrum_snap_divide_active( snap ) ) return; - - settings_current.divide_wp = - libspectrum_snap_divide_eprom_writeprotect( snap ); - divide_control_write_internal( libspectrum_snap_divide_control( snap ) ); - - if( libspectrum_snap_divide_eprom( snap, 0 ) ) { - memcpy( divide_eprom, - libspectrum_snap_divide_eprom( snap, 0 ), DIVIDE_PAGE_LENGTH ); - } - - for( i = 0; i < libspectrum_snap_divide_pages( snap ); i++ ) - if( libspectrum_snap_divide_ram( snap, i ) ) - memcpy( divide_ram[ i ], libspectrum_snap_divide_ram( snap, i ), - DIVIDE_PAGE_LENGTH ); - - if( libspectrum_snap_divide_paged( snap ) ) { - divide_page(); - } else { - divide_unpage(); - } -} - -static void -divide_to_snapshot( libspectrum_snap *snap ) -{ - size_t i; - libspectrum_byte *buffer; - - if( !settings_current.divide_enabled ) return; - - libspectrum_snap_set_divide_active( snap, 1 ); - libspectrum_snap_set_divide_eprom_writeprotect( snap, - settings_current.divide_wp ); - libspectrum_snap_set_divide_paged( snap, divide_active ); - libspectrum_snap_set_divide_control( snap, divide_control ); - - buffer = malloc( DIVIDE_PAGE_LENGTH * sizeof( libspectrum_byte ) ); - if( !buffer ) { - ui_error( UI_ERROR_ERROR, "Out of memory at %s:%d", __FILE__, __LINE__ ); - return; - } - - memcpy( buffer, divide_eprom, DIVIDE_PAGE_LENGTH ); - libspectrum_snap_set_divide_eprom( snap, 0, buffer ); - - libspectrum_snap_set_divide_pages( snap, DIVIDE_PAGES ); - - for( i = 0; i < DIVIDE_PAGES; i++ ) { - - buffer = malloc( DIVIDE_PAGE_LENGTH * sizeof( libspectrum_byte ) ); - if( !buffer ) { - ui_error( UI_ERROR_ERROR, "Out of memory at %s:%d", __FILE__, __LINE__ ); - return; - } - - memcpy( buffer, divide_ram[ i ], DIVIDE_PAGE_LENGTH ); - libspectrum_snap_set_divide_ram( snap, i, buffer ); - } -} Deleted: vendor/fuse-emulator/current/fuse/divide.h =================================================================== --- vendor/fuse-emulator/current/fuse/divide.h 2009-06-24 09:52:27 UTC (rev 597) +++ vendor/fuse-emulator/current/fuse/divide.h 2009-06-27 12:33:22 UTC (rev 598) @@ -1,54 +0,0 @@ -/* divide.h: DivIDE interface routines - Copyright (c) 2005 Matthew Westcott - - $Id: divide.h 2993 2007-06-17 13:54:49Z 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: Philip Kendall <phi...@sh...> - -*/ - -#ifndef FUSE_DIVIDE_H -#define FUSE_DIVIDE_H - -#include <libspectrum.h> -#include "periph.h" - -extern const periph_t divide_peripherals[]; -extern const size_t divide_peripherals_count; - -/* Whether DivIDE is currently paged in */ -extern int divide_active; - -/* Notify DivIDE hardware of an opcode fetch to one of the designated - entry / exit points. Depending on configuration, it may or may not - result in the DivIDE memory being paged in */ -void divide_set_automap( int state ); - -/* Call this after some state change other than an opcode fetch which could - trigger DivIDE paging (such as updating the write-protect flag), to - re-evaluate whether paging will actually happen */ -void divide_refresh_page_state( void ); - -int divide_init( void ); -int divide_end( void ); -int divide_insert( const char *filename, libspectrum_ide_unit unit ); -int divide_commit( libspectrum_ide_unit unit ); -int divide_eject( libspectrum_ide_unit unit ); - -#endif /* #ifndef FUSE_DIVIDE_H */ Copied: vendor/fuse-emulator/current/fuse/ide/divide.c (from rev 597, vendor/fuse-emulator/current/fuse/divide.c) =================================================================== --- vendor/fuse-emulator/current/fuse/ide/divide.c (rev 0) +++ vendor/fuse-emulator/current/fuse/ide/divide.c 2009-06-27 12:33:22 UTC (rev 598) @@ -0,0 +1,445 @@ +/* divide.c: DivIDE interface routines + Copyright (c) 2005-2008 Matthew Westcott, Philip Kendall + + $Id: divide.c 3703 2008-06-30 20:36:11Z 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: Philip Kendall <phi...@sh...> + +*/ + +#include <config.h> + +#include <libspectrum.h> + +#include <string.h> + +#include "debugger/debugger.h" +#include "ide.h" +#include "machine.h" +#include "module.h" +#include "periph.h" +#include "settings.h" +#include "ui/ui.h" +#include "divide.h" + +/* Private function prototypes */ + +static libspectrum_byte divide_ide_read( libspectrum_word port, int *attached ); +static void divide_ide_write( libspectrum_word port, libspectrum_byte data ); +static void divide_control_write( libspectrum_word port, libspectrum_byte data ); +static void divide_control_write_internal( libspectrum_byte data ); +static void divide_page( void ); +static void divide_unpage( void ); +static libspectrum_ide_register port_to_ide_register( libspectrum_byte port ); + +/* Data */ + +const periph_t divide_peripherals[] = { + { 0x00e3, 0x00a3, divide_ide_read, divide_ide_write }, + { 0x00ff, 0x00e3, NULL, divide_control_write }, +}; + +const size_t divide_peripherals_count = + sizeof( divide_peripherals ) / sizeof( periph_t ); + +static const libspectrum_byte DIVIDE_CONTROL_CONMEM = 0x80; +static const libspectrum_byte DIVIDE_CONTROL_MAPRAM = 0x40; + +int divide_automapping_enabled = 0; +int divide_active = 0; +static libspectrum_byte divide_control; + +/* divide_automap tracks opcode fetches to entry and exit points to determine + whether DivIDE memory *would* be paged in at this moment if mapram / wp + flags allowed it */ +static int divide_automap = 0; + +static libspectrum_ide_channel *divide_idechn0; +static libspectrum_ide_channel *divide_idechn1; + +#define DIVIDE_PAGES 4 +#define DIVIDE_PAGE_LENGTH 0x2000 +static libspectrum_byte divide_ram[ DIVIDE_PAGES ][ DIVIDE_PAGE_LENGTH ]; +static libspectrum_byte divide_eprom[ DIVIDE_PAGE_LENGTH ]; + +static void divide_reset( int hard_reset ); +static void divide_memory_map( void ); +static void divide_enabled_snapshot( libspectrum_snap *snap ); +static void divide_from_snapshot( libspectrum_snap *snap ); +static void divide_to_snapshot( libspectrum_snap *snap ); + +static module_info_t divide_module_info = { + + divide_reset, + divide_memory_map, + divide_enabled_snapshot, + divide_from_snapshot, + divide_to_snapshot, + +}; + +/* Debugger events */ +static const char *event_type_string = "divide"; +static int page_event, unpage_event; + +/* Housekeeping functions */ + +int +divide_init( void ) +{ + int error; + + divide_idechn0 = libspectrum_ide_alloc( LIBSPECTRUM_IDE_DATA16 ); + divide_idechn1 = libspectrum_ide_alloc( LIBSPECTRUM_IDE_DATA16 ); + + ui_menu_activate( UI_MENU_ITEM_MEDIA_IDE_DIVIDE_MASTER_EJECT, 0 ); + ui_menu_activate( UI_MENU_ITEM_MEDIA_IDE_DIVIDE_SLAVE_EJECT, 0 ); + + if( settings_current.divide_master_file ) { + error = libspectrum_ide_insert( divide_idechn0, LIBSPECTRUM_IDE_MASTER, + settings_current.divide_master_file ); + if( error ) return error; + ui_menu_activate( UI_MENU_ITEM_MEDIA_IDE_DIVIDE_MASTER_EJECT, 1 ); + } + + if( settings_current.divide_slave_file ) { + error = libspectrum_ide_insert( divide_idechn0, LIBSPECTRUM_IDE_SLAVE, + settings_current.divide_slave_file ); + if( error ) return error; + ui_menu_activate( UI_MENU_ITEM_MEDIA_IDE_DIVIDE_SLAVE_EJECT, 1 ); + } + + module_register( ÷_module_info ); + + if( periph_register_paging_events( event_type_string, &page_event, + &unpage_event ) ) + return 1; + + return 0; +} + +int +divide_end( void ) +{ + int error; + + error = libspectrum_ide_free( divide_idechn0 ); + error = libspectrum_ide_free( divide_idechn1 ) || error; + + return error; +} + +/* DivIDE does not page in immediately on a reset condition (we do that by + trapping PC instead); however, it needs to perform housekeeping tasks upon + reset */ +static void +divide_reset( int hard_reset ) +{ + divide_active = 0; + + if( !settings_current.divide_enabled ) return; + + if( hard_reset ) { + divide_control = 0; + } else { + divide_control &= DIVIDE_CONTROL_MAPRAM; + } + divide_automap = 0; + divide_refresh_page_state(); + + libspectrum_ide_reset( divide_idechn0 ); + libspectrum_ide_reset( divide_idechn1 ); +} + +int +divide_insert( const char *filename, libspectrum_ide_unit unit ) +{ + char **setting; + ui_menu_item item; + + switch( unit ) { + case LIBSPECTRUM_IDE_MASTER: + setting = &settings_current.divide_master_file; + item = UI_MENU_ITEM_MEDIA_IDE_DIVIDE_MASTER_EJECT; + break; + + case LIBSPECTRUM_IDE_SLAVE: + setting = &settings_current.divide_slave_file; + item = UI_MENU_ITEM_MEDIA_IDE_DIVIDE_SLAVE_EJECT; + break; + + default: return 1; + } + + return ide_insert( filename, divide_idechn0, unit, divide_commit, setting, + item ); +} + +int +divide_commit( libspectrum_ide_unit unit ) +{ + int error; + + error = libspectrum_ide_commit( divide_idechn0, unit ); + + return error; +} + +int +divide_eject( libspectrum_ide_unit unit ) +{ + char **setting; + ui_menu_item item; + + switch( unit ) { + case LIBSPECTRUM_IDE_MASTER: + setting = &settings_current.divide_master_file; + item = UI_MENU_ITEM_MEDIA_IDE_DIVIDE_MASTER_EJECT; + break; + + case LIBSPECTRUM_IDE_SLAVE: + setting = &settings_current.divide_slave_file; + item = UI_MENU_ITEM_MEDIA_IDE_DIVIDE_SLAVE_EJECT; + break; + + default: return 1; + } + + return ide_eject( divide_idechn0, unit, divide_commit, setting, item ); +} + +/* Port read/writes */ + +static libspectrum_ide_register +port_to_ide_register( libspectrum_byte port ) +{ + switch( port & 0xff ) { + case 0xa3: + return LIBSPECTRUM_IDE_REGISTER_DATA; + case 0xa7: + return LIBSPECTRUM_IDE_REGISTER_ERROR_FEATURE; + case 0xab: + return LIBSPECTRUM_IDE_REGISTER_SECTOR_COUNT; + case 0xaf: + return LIBSPECTRUM_IDE_REGISTER_SECTOR; + case 0xb3: + return LIBSPECTRUM_IDE_REGISTER_CYLINDER_LOW; + case 0xb7: + return LIBSPECTRUM_IDE_REGISTER_CYLINDER_HIGH; + case 0xbb: + return LIBSPECTRUM_IDE_REGISTER_HEAD_DRIVE; + default: /* 0xbf */ + return LIBSPECTRUM_IDE_REGISTER_COMMAND_STATUS; + } +} + +libspectrum_byte +divide_ide_read( libspectrum_word port, int *attached ) +{ + int ide_register; + if( !settings_current.divide_enabled ) return 0xff; + + *attached = 1; + ide_register = port_to_ide_register( port ); + + return libspectrum_ide_read( divide_idechn0, ide_register ); +} + +static void +divide_ide_write( libspectrum_word port, libspectrum_byte data ) +{ + int ide_register; + if( !settings_current.divide_enabled ) return; + + ide_register = port_to_ide_register( port ); + + libspectrum_ide_write( divide_idechn0, ide_register, data ); +} + +static void +divide_control_write( libspectrum_word port GCC_UNUSED, libspectrum_byte data ) +{ + int old_mapram; + + if( !settings_current.divide_enabled ) return; + + /* MAPRAM bit cannot be reset, only set */ + old_mapram = divide_control & DIVIDE_CONTROL_MAPRAM; + divide_control_write_internal( data | old_mapram ); +} + +static void +divide_control_write_internal( libspectrum_byte data ) +{ + divide_control = data; + divide_refresh_page_state(); +} + +void +divide_set_automap( int state ) +{ + divide_automap = state; + divide_refresh_page_state(); +} + +void +divide_refresh_page_state( void ) +{ + if( divide_control & DIVIDE_CONTROL_CONMEM ) { + /* always paged in if conmem enabled */ + divide_page(); + } else if( settings_current.divide_wp + || ( divide_control & DIVIDE_CONTROL_MAPRAM ) ) { + /* automap in effect */ + if( divide_automap ) { + divide_page(); + } else { + divide_unpage(); + } + } else { + divide_unpage(); + } +} + +static void +divide_page( void ) +{ + divide_active = 1; + machine_current->ram.romcs = 1; + machine_current->memory_map(); + + debugger_event( page_event ); +} + +static void +divide_unpage( void ) +{ + divide_active = 0; + machine_current->ram.romcs = 0; + machine_current->memory_map(); + + debugger_event( unpage_event ); +} + +void +divide_memory_map( void ) +{ + int upper_ram_page; + + if( !divide_active ) return; + + /* low bits of divide_control register give page number to use in upper + bank; only lowest two bits on original 32K model */ + upper_ram_page = divide_control & (DIVIDE_PAGES - 1); + + if( divide_control & DIVIDE_CONTROL_CONMEM ) { + memory_map_romcs[0].page = divide_eprom; + memory_map_romcs[0].writable = !settings_current.divide_wp; + memory_map_romcs[1].page = divide_ram[ upper_ram_page ]; + memory_map_romcs[1].writable = 1; + } else { + if( divide_control & DIVIDE_CONTROL_MAPRAM ) { + memory_map_romcs[0].page = divide_ram[3]; + memory_map_romcs[0].writable = 0; + memory_map_romcs[1].page = divide_ram[ upper_ram_page ]; + memory_map_romcs[1].writable = ( upper_ram_page != 3 ); + } else { + memory_map_romcs[0].page = divide_eprom; + memory_map_romcs[0].writable = 0; + memory_map_romcs[1].page = divide_ram[ upper_ram_page ]; + memory_map_romcs[1].writable = 1; + } + } + + memory_map_read[0] = memory_map_write[0] = memory_map_romcs[0]; + memory_map_read[1] = memory_map_write[1] = memory_map_romcs[1]; +} + +static void +divide_enabled_snapshot( libspectrum_snap *snap ) +{ + if( libspectrum_snap_divide_active( snap ) ) + settings_current.divide_enabled = 1; +} + +static void +divide_from_snapshot( libspectrum_snap *snap ) +{ + size_t i; + + if( !libspectrum_snap_divide_active( snap ) ) return; + + settings_current.divide_wp = + libspectrum_snap_divide_eprom_writeprotect( snap ); + divide_control_write_internal( libspectrum_snap_divide_control( snap ) ); + + if( libspectrum_snap_divide_eprom( snap, 0 ) ) { + memcpy( divide_eprom, + libspectrum_snap_divide_eprom( snap, 0 ), DIVIDE_PAGE_LENGTH ); + } + + for( i = 0; i < libspectrum_snap_divide_pages( snap ); i++ ) + if( libspectrum_snap_divide_ram( snap, i ) ) + memcpy( divide_ram[ i ], libspectrum_snap_divide_ram( snap, i ), + DIVIDE_PAGE_LENGTH ); + + if( libspectrum_snap_divide_paged( snap ) ) { + divide_page(); + } else { + divide_unpage(); + } +} + +static void +divide_to_snapshot( libspectrum_snap *snap ) +{ + size_t i; + libspectrum_byte *buffer; + + if( !settings_current.divide_enabled ) return; + + libspectrum_snap_set_divide_active( snap, 1 ); + libspectrum_snap_set_divide_eprom_writeprotect( snap, + settings_current.divide_wp ); + libspectrum_snap_set_divide_paged( snap, divide_active ); + libspectrum_snap_set_divide_control( snap, divide_control ); + + buffer = malloc( DIVIDE_PAGE_LENGTH * sizeof( libspectrum_byte ) ); + if( !buffer ) { + ui_error( UI_ERROR_ERROR, "Out of memory at %s:%d", __FILE__, __LINE__ ); + return; + } + + memcpy( buffer, divide_eprom, DIVIDE_PAGE_LENGTH ); + libspectrum_snap_set_divide_eprom( snap, 0, buffer ); + + libspectrum_snap_set_divide_pages( snap, DIVIDE_PAGES ); + + for( i = 0; i < DIVIDE_PAGES; i++ ) { + + buffer = malloc( DIVIDE_PAGE_LENGTH * sizeof( libspectrum_byte ) ); + if( !buffer ) { + ui_error( UI_ERROR_ERROR, "Out of memory at %s:%d", __FILE__, __LINE__ ); + return; + } + + memcpy( buffer, divide_ram[ i ], DIVIDE_PAGE_LENGTH ); + libspectrum_snap_set_divide_ram( snap, i, buffer ); + } +} Copied: vendor/fuse-emulator/current/fuse/ide/divide.h (from rev 597, vendor/fuse-emulator/current/fuse/divide.h) =================================================================== --- vendor/fuse-emulator/current/fuse/ide/divide.h (rev 0) +++ vendor/fuse-emulator/current/fuse/ide/divide.h 2009-06-27 12:33:22 UTC (rev 598) @@ -0,0 +1,54 @@ +/* divide.h: DivIDE interface routines + Copyright (c) 2005 Matthew Westcott + + $Id: divide.h 2993 2007-06-17 13:54:49Z 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: Philip Kendall <phi...@sh...> + +*/ + +#ifndef FUSE_DIVIDE_H +#define FUSE_DIVIDE_H + +#include <libspectrum.h> +#include "periph.h" + +extern const periph_t divide_peripherals[]; +extern const size_t divide_peripherals_count; + +/* Whether DivIDE is currently paged in */ +extern int divide_active; + +/* Notify DivIDE hardware of an opcode fetch to one of the designated + entry / exit points. Depending on configuration, it may or may not + result in the DivIDE memory being paged in */ +void divide_set_automap( int state ); + +/* Call this after some state change other than an opcode fetch which could + trigger DivIDE paging (such as updating the write-protect flag), to + re-evaluate whether paging will actually happen */ +void divide_refresh_page_state( void ); + +int divide_init( void ); +int divide_end( void ); +int divide_insert( const char *filename, libspectrum_ide_unit unit ); +int divide_commit( libspectrum_ide_unit unit ); +int divide_eject( libspectrum_ide_unit unit ); + +#endif /* #ifndef FUSE_DIVIDE_H */ Copied: vendor/fuse-emulator/current/fuse/ide/ide.c (from rev 597, vendor/fuse-emulator/current/fuse/ide.c) =================================================================== --- vendor/fuse-emulator/current/fuse/ide/ide.c (rev 0) +++ vendor/fuse-emulator/current/fuse/ide/ide.c 2009-06-27 12:33:22 UTC (rev 598) @@ -0,0 +1,92 @@ +/* ide.c: Generic routines shared between the various IDE devices + Copyright (c) 2005 Philip Kendall + + $Id: ide.c 2889 2007-05-26 17:45:08Z 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 + 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: Philip Kendall <phi...@sh...> + +*/ + +#include <config.h> + +#include <libspectrum.h> + +#include "ide.h" +#include "ui/ui.h" +#include "settings.h" + +int +ide_insert( const char *filename, libspectrum_ide_channel *chn, + libspectrum_ide_unit unit, + int (*commit_fn)( libspectrum_ide_unit unit ), char **setting, + ui_menu_item item ) +{ + int error; + + /* Remove any currently inserted disk; abort if we want to keep the current + disk */ + if( *setting ) + if( ide_eject( chn, unit, commit_fn, setting, item ) ) + return 0; + + error = settings_set_string( setting, filename ); if( error ) return error; + + error = libspectrum_ide_insert( chn, unit, filename ); + if( error ) return error; + + error = ui_menu_activate( item, 1 ); if( error ) return error; + + return 0; +} + +int +ide_eject( libspectrum_ide_channel *chn, libspectrum_ide_unit unit, + int (*commit_fn)( libspectrum_ide_unit unit ), char **setting, + ui_menu_item item ) +{ + int error; + + if( libspectrum_ide_dirty( chn, unit ) ) { + + ui_confirm_save_t confirm = ui_confirm_save( + "Hard disk has been modified.\nDo you want to save it?" + ); + + switch( confirm ) { + + case UI_CONFIRM_SAVE_SAVE: + error = commit_fn( unit ); if( error ) return error; + break; + + case UI_CONFIRM_SAVE_DONTSAVE: break; + case UI_CONFIRM_SAVE_CANCEL: return 1; + + } + } + + free( *setting ); *setting = NULL; + + error = libspectrum_ide_eject( chn, unit ); + if( error ) return error; + + error = ui_menu_activate( item, 0 ); + if( error ) return error; + + return 0; +} Copied: vendor/fuse-emulator/current/fuse/ide/ide.h (from rev 597, vendor/fuse-emulator/current/fuse/ide.h) =================================================================== --- vendor/fuse-emulator/current/fuse/ide/ide.h (rev 0) +++ vendor/fuse-emulator/current/fuse/ide/ide.h 2009-06-27 12:33:22 UTC (rev 598) @@ -0,0 +1,42 @@ +/* ide.h: Generic routines shared between the various IDE devices + Copyright (c) 2005 Philip Kendall + + $Id: ide.h 2889 2007-05-26 17:45:08Z 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 + 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: Philip Kendall <phi...@sh...> + +*/ + +#ifndef FUSE_IDE_H +#define FUSE_IDE_H + +#include "ui/ui.h" + +int +ide_insert( const char *filename, libspectrum_ide_channel *chn, + libspectrum_ide_unit unit, + int (*commit_fn)( libspectrum_ide_unit unit ), char **setting, + ui_menu_item item ); + +int +ide_eject( libspectrum_ide_channel *chn, libspectrum_ide_unit unit, + int (*commit_fn)( libspectrum_ide_unit unit ), char **setting, + ui_menu_item item ); + +#endif /* #ifndef FUSE_IDE_H */ Copied: vendor/fuse-emulator/current/fuse/ide/simpleide.c (from rev 597, vendor/fuse-emulator/current/fuse/simpleide.c) =================================================================== --- vendor/fuse-emulator/current/fuse/ide/simpleide.c (rev 0) +++ vendor/fuse-emulator/current/fuse/ide/simpleide.c 2009-06-27 12:33:22 UTC (rev 598) @@ -0,0 +1,210 @@ +/* simpleide.c: Simple 8-bit IDE interface routines + Copyright (c) 2003-2004 Garry Lancaster, + 2004 Philip Kendall, + 2008 Fredrick Meunier + + $Id: simpleide.c 3703 2008-06-30 20:36:11Z 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: Philip Kendall <phi...@sh...> + +*/ + +#include <config.h> + +#include <libspectrum.h> + +#include "ide.h" +#include "module.h" +#include "periph.h" +#include "settings.h" +#include "simpleide.h" +#include "ui/ui.h" + +/* Private function prototypes */ + +static libspectrum_byte simpleide_read( libspectrum_word port, int *attached ); +static void simpleide_write( libspectrum_word port, libspectrum_byte data ); + +/* Data */ + +const periph_t simpleide_peripherals[] = { + { 0x0010, 0x0000, simpleide_read, simpleide_write }, +}; + +const size_t simpleide_peripherals_count = + sizeof( simpleide_peripherals ) / sizeof( periph_t ); + +static libspectrum_ide_channel *simpleide_idechn; + +static void simpleide_from_snapshot( libspectrum_snap *snap ); +static void simpleide_to_snapshot( libspectrum_snap *snap ); + +static module_info_t simpleide_module_info = { + + simpleide_reset, + NULL, + NULL, + simpleide_from_snapshot, + simpleide_to_snapshot, + +}; + +/* Housekeeping functions */ + +int +simpleide_init( void ) +{ + int error; + + simpleide_idechn = libspectrum_ide_alloc( LIBSPECTRUM_IDE_DATA8 ); + + ui_menu_activate( UI_MENU_ITEM_MEDIA_IDE_SIMPLE8BIT_MASTER_EJECT, 0 ); + ui_menu_activate( UI_MENU_ITEM_MEDIA_IDE_SIMPLE8BIT_SLAVE_EJECT, 0 ); + + if( settings_current.simpleide_master_file ) { + error = libspectrum_ide_insert( simpleide_idechn, LIBSPECTRUM_IDE_MASTER, + settings_current.simpleide_master_file ); + if( error ) return error; + ui_menu_activate( UI_MENU_ITEM_MEDIA_IDE_SIMPLE8BIT_MASTER_EJECT, 1 ); + } + + if( settings_current.simpleide_slave_file ) { + error = libspectrum_ide_insert( simpleide_idechn, LIBSPECTRUM_IDE_SLAVE, + settings_current.simpleide_slave_file ); + if( error ) return error; + ui_menu_activate( UI_MENU_ITEM_MEDIA_IDE_SIMPLE8BIT_SLAVE_EJECT, 1 ); + } + + module_register( &simpleide_module_info ); + + return 0; +} + +int +simpleide_end( void ) +{ + return libspectrum_ide_free( simpleide_idechn ); +} + +void +simpleide_reset( int hard_reset GCC_UNUSED ) +{ + libspectrum_ide_reset( simpleide_idechn ); +} + +int +simpleide_insert( const char *filename, libspectrum_ide_unit unit ) +{ + char **setting; + ui_menu_item item; + + switch( unit ) { + + case LIBSPECTRUM_IDE_MASTER: + setting = &settings_current.simpleide_master_file; + item = UI_MENU_ITEM_MEDIA_IDE_SIMPLE8BIT_MASTER_EJECT; + break; + + case LIBSPECTRUM_IDE_SLAVE: + setting = &settings_current.simpleide_slave_file; + item = UI_MENU_ITEM_MEDIA_IDE_SIMPLE8BIT_SLAVE_EJECT; + break; + + default: return 1; + } + + return ide_insert( filename, simpleide_idechn, unit, simpleide_commit, + setting, item ); +} + +int +simpleide_commit( libspectrum_ide_unit unit ) +{ + int error; + + error = libspectrum_ide_commit( simpleide_idechn, unit ); + + return error; +} + +int +simpleide_eject( libspectrum_ide_unit unit ) +{ + char **setting; + ui_menu_item item; + + switch( unit ) { + case LIBSPECTRUM_IDE_MASTER: + setting = &settings_current.simpleide_master_file; + item = UI_MENU_ITEM_MEDIA_IDE_SIMPLE8BIT_MASTER_EJECT; + break; + + case LIBSPECTRUM_IDE_SLAVE: + setting = &settings_current.simpleide_slave_file; + item = UI_MENU_ITEM_MEDIA_IDE_SIMPLE8BIT_SLAVE_EJECT; + break; + + default: return 1; + } + + return ide_eject( simpleide_idechn, unit, simpleide_commit, setting, item ); +} + +/* Port read/writes */ + +static libspectrum_byte +simpleide_read( libspectrum_word port, int *attached ) +{ + libspectrum_ide_register idereg; + + if( !settings_current.simpleide_active ) return 0xff; + + *attached = 1; + + idereg = ( ( port >> 8 ) & 0x01 ) | ( ( port >> 11 ) & 0x06 ); + + return libspectrum_ide_read( simpleide_idechn, idereg ); +} + +static void +simpleide_write( libspectrum_word port, libspectrum_byte data ) +{ + libspectrum_ide_register idereg; + + if( !settings_current.simpleide_active ) return; + + idereg = ( ( port >> 8 ) & 0x01 ) | ( ( port >> 11 ) & 0x06 ); + + libspectrum_ide_write( simpleide_idechn, idereg, data ); +} + +static void +simpleide_from_snapshot( libspectrum_snap *snap ) +{ + settings_current.simpleide_active = + libspectrum_snap_simpleide_active( snap ); +} + +static void +simpleide_to_snapshot( libspectrum_snap *snap ) +{ + if( !settings_current.simpleide_active ) return; + + libspectrum_snap_set_simpleide_active( snap, 1 ); +} Copied: vendor/fuse-emulator/current/fuse/ide/simpleide.h (from rev 597, vendor/fuse-emulator/current/fuse/simpleide.h) =================================================================== --- vendor/fuse-emulator/current/fuse/ide/simpleide.h (rev 0) +++ vendor/fuse-emulator/current/fuse/ide/simpleide.h 2009-06-27 12:33:22 UTC (rev 598) @@ -0,0 +1,40 @@ +/* simpleide.h: Simple 8-bit IDE interface routines + Copyright (c) 2003-2004 Garry Lancaster + + $Id: simpleide.h 2995 2007-06-17 14:31:36Z 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: + +*/ + +#ifndef FUSE_SIMPLEIDE_H +#define FUSE_SIMPLEIDE_H + +#include <libspectrum.h> +#include "periph.h" + +extern const periph_t simpleide_peripherals[]; +extern const size_t simpleide_peripherals_count; + +int simpleide_init( void ); +int simpleide_end( void ); +void simpleide_reset( int hard_reset ); +int simpleide_insert( const char *filename, libspectrum_ide_unit unit ); +int simpleide_commit( libspectrum_ide_unit unit ); +int simpleide_eject( libspectrum_ide_unit unit ); + +#endif /* #ifndef FUSE_SIMPLEIDE_H */ Copied: vendor/fuse-emulator/current/fuse/ide/zxatasp.c (from rev 597, vendor/fuse-emulator/current/fuse/zxatasp.c) =================================================================== --- vendor/fuse-emulator/current/fuse/ide/zxatasp.c (rev 0) +++ vendor/fuse-emulator/current/fuse/ide/zxatasp.c 2009-06-27 12:33:22 UTC (rev 598) @@ -0,0 +1,581 @@ +/* zxatasp.c: ZXATASP interface routines + Copyright (c) 2003-2008 Garry Lancaster and Philip Kendall + + $Id: zxatasp.c 3707 2008-06-30 21:33:49Z 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 + 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: Philip Kendall <phi...@sh...> + +*/ + +#include <config.h> + +#include <string.h> + +#include <libspectrum.h> + +#include "debugger/debugger.h" +#include "ide.h" +#include "machine.h" +#include "memory.h" +#include "module.h" +#include "periph.h" +#include "settings.h" +#include "ui/ui.h" +#include "zxatasp.h" + +/* + TBD: Allow memory size selection (128K/512K) + TBD: Should support for secondary channel be removed? + No software ever supported it, and v2.0+ boards don't have it. +*/ + + +/* Debugger events */ +static const char *event_type_string = "zxatasp"; +static int page_event, unpage_event; + +/* Private function prototypes */ + +static libspectrum_byte zxatasp_portA_read( libspectrum_word port, + int *attached ); +static void zxatasp_portA_write( libspectrum_word port, + libspectrum_byte data ); +static libspectrum_byte zxatasp_portB_read( libspectrum_word port, + int *attached ); +static void zxatasp_portB_write( libspectrum_word port, + libspectrum_byte data ); +static libspectrum_byte zxatasp_portC_read( libspectrum_word port, + int *attached ); +static void zxatasp_portC_write( libspectrum_word port, + libspectrum_byte data ); +static libspectrum_byte zxatasp_control_read( libspectrum_word port, + int *attached ); +static void zxatasp_control_write( libspectrum_word port, + libspectrum_byte data ); +static void zxatasp_resetports( void ); +static void set_zxatasp_bank( int bank ); + +static void zxatasp_readide( libspectrum_ide_channel *chn, + libspectrum_ide_register idereg ); +static void zxatasp_writeide( libspectrum_ide_channel *chn, + libspectrum_ide_register idereg ); + +/* Data */ + +const periph_t zxatasp_peripherals[] = { + { 0x039f, 0x009f, zxatasp_portA_read, zxatasp_portA_write }, + { 0x039f, 0x019f, zxatasp_portB_read, zxatasp_portB_write }, + { 0x039f, 0x029f, zxatasp_portC_read, zxatasp_portC_write }, + { 0x039f, 0x039f, zxatasp_control_read, zxatasp_control_write }, +}; + +const size_t zxatasp_peripherals_count = + sizeof( zxatasp_peripherals ) / sizeof( periph_t ); + +static libspectrum_byte zxatasp_control; +static libspectrum_byte zxatasp_portA; +static libspectrum_byte zxatasp_portB; +static libspectrum_byte zxatasp_portC; +static size_t current_page; + +static libspectrum_ide_channel *zxatasp_idechn0; +static libspectrum_ide_channel *zxatasp_idechn1; + +#define ZXATASP_PAGES 32 +#define ZXATASP_PAGE_LENGTH 0x4000 +static libspectrum_byte ZXATASPMEM[ ZXATASP_PAGES ][ ZXATASP_PAGE_LENGTH ]; + +static const size_t ZXATASP_NOT_PAGED = 0xff; + +/* We're ignoring all mode bits and only emulating mode 0, basic I/O */ +static const libspectrum_byte MC8255_PORT_C_LOW_IO = 0x01; +static const libspectrum_byte MC8255_PORT_B_IO = 0x02; +static const libspectrum_byte MC8255_PORT_C_HI_IO = 0x08; +static const libspectrum_byte MC8255_PORT_A_IO = 0x10; +static const libspectrum_byte MC8255_SETMODE = 0x80; + +static const libspectrum_byte ZXATASP_IDE_REG = 0x07; +static const libspectrum_byte ZXATASP_RAM_BANK = 0x1f; +static const libspectrum_byte ZXATASP_IDE_WR = 0x08; +static const libspectrum_byte ZXATASP_IDE_RD = 0x10; +static const libspectrum_byte ZXATASP_IDE_PRIMARY = 0x20; +static const libspectrum_byte ZXATASP_RAM_LATCH = 0x40; +static const libspectrum_byte ZXATASP_RAM_DISABLE = 0x80; +static const libspectrum_byte ZXATASP_IDE_SECONDARY = 0x80; + +#define ZXATASP_READ_PRIMARY( x ) \ + ( ( x & ( ZXATASP_IDE_PRIMARY | ZXATASP_RAM_LATCH | \ + ZXATASP_IDE_RD | ZXATASP_IDE_WR ) ) == \ + ( ZXATASP_IDE_PRIMARY | ZXATASP_IDE_RD ) ) +#define ZXATASP_WRITE_PRIMARY( x ) \ + ( ( x & ( ZXATASP_IDE_PRIMARY | ZXATASP_RAM_LATCH | \ + ZXATASP_IDE_RD | ZXATASP_IDE_WR ) ) == \ + ( ZXATASP_IDE_PRIMARY | ZXATASP_IDE_WR ) ) +#define ZXATASP_READ_SECONDARY( x ) \ + ( ( x & ( ZXATASP_IDE_SECONDARY | ZXATASP_RAM_LATCH | \ + ZXATASP_IDE_RD | ZXATASP_IDE_WR ) ) == \ + ( ZXATASP_IDE_SECONDARY | ZXATASP_IDE_RD ) ) +#define ZXATASP_WRITE_SECONDARY( x ) \ + ( ( x & ( ZXATASP_IDE_SECONDARY | ZXATASP_RAM_LATCH | \ + ZXATASP_IDE_RD | ZXATASP_IDE_WR ) ) == \ + ( ZXATASP_IDE_SECONDARY | ZXATASP_IDE_WR ) ) + +static void zxatasp_reset( int hard_reset ); +static void zxatasp_memory_map( void ); +static void zxatasp_from_snapshot( libspectrum_snap *snap ); +static void zxatasp_to_snapshot( libspectrum_snap *snap ); + +static module_info_t zxatasp_module_info = { + + zxatasp_reset, + zxatasp_memory_map, + NULL, + zxatasp_from_snapshot, + zxatasp_to_snapshot, + +}; + +/* Housekeeping functions */ + +int +zxatasp_init( void ) +{ + int error = 0; + + zxatasp_idechn0 = libspectrum_ide_alloc( LIBSPECTRUM_IDE_DATA16 ); + zxatasp_idechn1 = libspectrum_ide_alloc( LIBSPECTRUM_IDE_DATA16 ); + + ui_menu_activate( UI_MENU_ITEM_MEDIA_IDE_ZXATASP_MASTER_EJECT, 0 ); + ui_menu_activate( UI_MENU_ITEM_MEDIA_IDE_ZXATASP_SLAVE_EJECT, 0 ); + + if( settings_current.zxatasp_master_file ) { + error = libspectrum_ide_insert( zxatasp_idechn0, LIBSPECTRUM_IDE_MASTER, + settings_current.zxatasp_master_file ); + if( error ) return error; + ui_menu_activate( UI_MENU_ITEM_MEDIA_IDE_ZXATASP_MASTER_EJECT, 1 ); + } + + if( settings_current.zxatasp_slave_file ) { + error = libspectrum_ide_insert( zxatasp_idechn0, LIBSPECTRUM_IDE_SLAVE, + settings_current.zxatasp_slave_file ); + if( error ) return error; + ui_menu_activate( UI_MENU_ITEM_MEDIA_IDE_ZXATASP_SLAVE_EJECT, 1 ); + } + + module_register( &zxatasp_module_info ); + + if( periph_register_paging_events( event_type_string, &page_event, + &unpage_event ) ) + return 1; + + return error; +} + +int +zxatasp_end( void ) +{ + int error; + + error = libspectrum_ide_free( zxatasp_idechn0 ); + error = libspectrum_ide_free( zxatasp_idechn1 ) || error; + + return error; +} + +static void +zxatasp_reset( int hard_reset GCC_UNUSED ) +{ + if( !settings_current.zxatasp_active ) return; + + machine_current->ram.romcs = 1; + + set_zxatasp_bank( 0 ); current_page = 0; + machine_current->memory_map(); + + zxatasp_control = MC8255_SETMODE | MC8255_PORT_A_IO | MC8255_PORT_B_IO | + MC8255_PORT_C_HI_IO | MC8255_PORT_C_LOW_IO; + zxatasp_resetports(); + + libspectrum_ide_reset( zxatasp_idechn0 ); + libspectrum_ide_reset( zxatasp_idechn1 ); +} + +int +zxatasp_insert( const char *filename, libspectrum_ide_unit unit ) +{ + char **setting; + ui_menu_item item; + + switch( unit ) { + case LIBSPECTRUM_IDE_MASTER: + setting = &settings_current.zxatasp_master_file; + item = UI_MENU_ITEM_MEDIA_IDE_ZXATASP_MASTER_EJECT; + break; + + case LIBSPECTRUM_IDE_SLAVE: + setting = &settings_current.zxatasp_slave_file; + item = UI_MENU_ITEM_MEDIA_IDE_ZXATASP_SLAVE_EJECT; + break; + + default: return 1; + } + + return ide_insert( filename, zxatasp_idechn0, unit, zxatasp_commit, setting, + item ); +} + +int +zxatasp_commit( libspectrum_ide_unit unit ) +{ + int error; + + error = libspectrum_ide_commit( zxatasp_idechn0, unit ); + + return error; +} + +int +zxatasp_eject( libspectrum_ide_unit unit ) +{ + char **setting; + ui_menu_item item; + + switch( unit ) { + case LIBSPECTRUM_IDE_MASTER: + setting = &settings_current.zxatasp_master_file; + item = UI_MENU_ITEM_MEDIA_IDE_ZXATASP_MASTER_EJECT; + break; + + case LIBSPECTRUM_IDE_SLAVE: + setting = &settings_current.zxatasp_slave_file; + item = UI_MENU_ITEM_MEDIA_IDE_ZXATASP_SLAVE_EJECT; + break; + + default: return 1; + } + + return ide_eject( zxatasp_idechn0, unit, zxatasp_commit, setting, item ); +} + +/* Port read/writes */ + +libspectrum_byte +zxatasp_portA_read( libspectrum_word port GCC_UNUSED, int *attached ) +{ + if( !settings_current.zxatasp_active ) return 0xff; + + *attached = 1; + + return zxatasp_portA; +} + +static void +zxatasp_portA_write( libspectrum_word port GCC_UNUSED, libspectrum_byte data ) +{ + if( !settings_current.zxatasp_active ) return; + + if( !( zxatasp_control & MC8255_PORT_A_IO ) ) zxatasp_portA = data; +} + +libspectrum_byte +zxatasp_portB_read( libspectrum_word port GCC_UNUSED, int *attached ) +{ + if( !settings_current.zxatasp_active ) return 0xff; + + *attached = 1; + + return zxatasp_portB; +} + +static void +zxatasp_portB_write( libspectrum_word port GCC_UNUSED, libspectrum_byte data ) +{ + if( !settings_current.zxatasp_active ) return; + + if( !( zxatasp_control & MC8255_PORT_B_IO ) ) zxatasp_portB = data; +} + +libspectrum_byte +zxatasp_portC_read( libspectrum_word port GCC_UNUSED, int *attached ) +{ + if( !settings_current.zxatasp_active ) return 0xff; + + *attached = 1; + + return zxatasp_portC; +} + +static void +zxatasp_portC_write( libspectrum_word port GCC_UNUSED, libspectrum_byte data ) +{ + libspectrum_byte oldC = zxatasp_portC; + libspectrum_byte newC; + + if( !settings_current.zxatasp_active ) return; + + /* Determine new port C value, dependent on I/O modes */ + newC = ( zxatasp_control & MC8255_PORT_C_LOW_IO ) + ? ( oldC & 0x0f ) : ( data & 0x0f ); + + newC |= ( zxatasp_control & MC8255_PORT_C_HI_IO ) + ? ( oldC & 0xf0 ) : ( data & 0xf0 ); + + /* Set the new port value */ + zxatasp_portC = newC; + + /* No action can occur if high part of port C is in input mode */ + if( zxatasp_control & MC8255_PORT_C_HI_IO ) return; + + /* Check for any I/O action */ + if( ( ZXATASP_READ_PRIMARY( newC ) ) & + !( ZXATASP_READ_PRIMARY( oldC ) ) ) { + zxatasp_readide( zxatasp_idechn0, ( newC & ZXATASP... [truncated message content] |
From: <fr...@us...> - 2009-06-27 13:00:53
|
Revision: 599 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=599&view=rev Author: fredm Date: 2009-06-27 12:46:44 +0000 (Sat, 27 Jun 2009) 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/ay.c vendor/fuse-emulator/current/fuse/ay.h vendor/fuse-emulator/current/fuse/compat/Makefile.am vendor/fuse-emulator/current/fuse/compat/amiga/Makefile.am vendor/fuse-emulator/current/fuse/compat/amiga/paths.c vendor/fuse-emulator/current/fuse/compat/morphos/Makefile.am vendor/fuse-emulator/current/fuse/compat/morphos/osname.c vendor/fuse-emulator/current/fuse/compat/unix/Makefile.am vendor/fuse-emulator/current/fuse/compat/unix/file.c vendor/fuse-emulator/current/fuse/compat/unix/osname.c vendor/fuse-emulator/current/fuse/compat/unix/paths.c vendor/fuse-emulator/current/fuse/compat/unix/timer.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/osname.c vendor/fuse-emulator/current/fuse/compat/win32/paths.c 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/event.c vendor/fuse-emulator/current/fuse/debugger/variable.c vendor/fuse-emulator/current/fuse/disk/beta.c vendor/fuse-emulator/current/fuse/disk/beta.h vendor/fuse-emulator/current/fuse/disk/disk.c vendor/fuse-emulator/current/fuse/disk/disk.h vendor/fuse-emulator/current/fuse/disk/fdd.c vendor/fuse-emulator/current/fuse/disk/fdd.h vendor/fuse-emulator/current/fuse/disk/plusd.c vendor/fuse-emulator/current/fuse/disk/plusd.h vendor/fuse-emulator/current/fuse/disk/upd_fdc.c vendor/fuse-emulator/current/fuse/display.c vendor/fuse-emulator/current/fuse/display.h vendor/fuse-emulator/current/fuse/event.c vendor/fuse-emulator/current/fuse/event.h vendor/fuse-emulator/current/fuse/fuse.c vendor/fuse-emulator/current/fuse/hacking/ChangeLog vendor/fuse-emulator/current/fuse/hacking/Makefile.am vendor/fuse-emulator/current/fuse/hacking/cvs-tags vendor/fuse-emulator/current/fuse/hacking/timer.txt vendor/fuse-emulator/current/fuse/ide/divide.c vendor/fuse-emulator/current/fuse/ide/divide.h vendor/fuse-emulator/current/fuse/ide/ide.c vendor/fuse-emulator/current/fuse/ide/ide.h vendor/fuse-emulator/current/fuse/ide/simpleide.c vendor/fuse-emulator/current/fuse/ide/simpleide.h vendor/fuse-emulator/current/fuse/ide/zxatasp.c vendor/fuse-emulator/current/fuse/ide/zxatasp.h vendor/fuse-emulator/current/fuse/ide/zxcf.c vendor/fuse-emulator/current/fuse/ide/zxcf.h vendor/fuse-emulator/current/fuse/input.c vendor/fuse-emulator/current/fuse/joystick.c vendor/fuse-emulator/current/fuse/joystick.h vendor/fuse-emulator/current/fuse/kempmouse.c vendor/fuse-emulator/current/fuse/keysyms.pl vendor/fuse-emulator/current/fuse/loader.c vendor/fuse-emulator/current/fuse/machine.c vendor/fuse-emulator/current/fuse/machines/pentagon.c 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/spec16.c vendor/fuse-emulator/current/fuse/machines/spec48.c vendor/fuse-emulator/current/fuse/machines/spec48.h 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/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/menu_data.pl vendor/fuse-emulator/current/fuse/periph.c vendor/fuse-emulator/current/fuse/periph.h vendor/fuse-emulator/current/fuse/perl/cpp-perl.pl vendor/fuse-emulator/current/fuse/rzx.c vendor/fuse-emulator/current/fuse/scld.c 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/Makefile.am vendor/fuse-emulator/current/fuse/sound/alsasound.c vendor/fuse-emulator/current/fuse/sound/coreaudiosound.c vendor/fuse-emulator/current/fuse/sound/sdlsound.c vendor/fuse-emulator/current/fuse/sound.cpp 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/timer/Makefile.am vendor/fuse-emulator/current/fuse/timer/sdl.c vendor/fuse-emulator/current/fuse/timer/timer.c vendor/fuse-emulator/current/fuse/timer/timer.h vendor/fuse-emulator/current/fuse/ui/Makefile.am vendor/fuse-emulator/current/fuse/ui/fb/Makefile.am vendor/fuse-emulator/current/fuse/ui/fb/fbdisplay.c vendor/fuse-emulator/current/fuse/ui/gtk/Makefile.am vendor/fuse-emulator/current/fuse/ui/gtk/confirm.c vendor/fuse-emulator/current/fuse/ui/gtk/debugger.c vendor/fuse-emulator/current/fuse/ui/gtk/gtkdisplay.c vendor/fuse-emulator/current/fuse/ui/gtk/gtkinternals.h vendor/fuse-emulator/current/fuse/ui/gtk/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/pokefinder.c vendor/fuse-emulator/current/fuse/ui/options.dat vendor/fuse-emulator/current/fuse/ui/scaler/scaler_hq2x.c vendor/fuse-emulator/current/fuse/ui/scaler/scaler_hq3x.c vendor/fuse-emulator/current/fuse/ui/svga/svgadisplay.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/query.c vendor/fuse-emulator/current/fuse/ui/widget/select.c vendor/fuse-emulator/current/fuse/ui/widget/text.c vendor/fuse-emulator/current/fuse/ui/widget/widget.c vendor/fuse-emulator/current/fuse/ui/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/confirm.c vendor/fuse-emulator/current/fuse/ui/win32/debugger.c vendor/fuse-emulator/current/fuse/ui/win32/fileselector.c vendor/fuse-emulator/current/fuse/ui/win32/icons/Makefile.am vendor/fuse-emulator/current/fuse/ui/win32/memorybrowser.c vendor/fuse-emulator/current/fuse/ui/win32/memorybrowser.h vendor/fuse-emulator/current/fuse/ui/win32/memorybrowser.rc 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/pokefinder.c vendor/fuse-emulator/current/fuse/ui/win32/rollback.c vendor/fuse-emulator/current/fuse/ui/win32/rollback.h vendor/fuse-emulator/current/fuse/ui/win32/rollback.rc vendor/fuse-emulator/current/fuse/ui/win32/roms.c vendor/fuse-emulator/current/fuse/ui/win32/roms.h vendor/fuse-emulator/current/fuse/ui/win32/roms.rc vendor/fuse-emulator/current/fuse/ui/win32/win32joystick.c vendor/fuse-emulator/current/fuse/ui/win32/win32ui.c vendor/fuse-emulator/current/fuse/ui.c vendor/fuse-emulator/current/fuse/ula.c vendor/fuse-emulator/current/fuse/utils.c vendor/fuse-emulator/current/fuse/utils.h vendor/fuse-emulator/current/fuse/z80/coretest.c vendor/fuse-emulator/current/fuse/z80/z80.c vendor/fuse-emulator/current/fuse/z80/z80_ops.c vendor/fuse-emulator/current/fuse-utils/ChangeLog vendor/fuse-emulator/current/fuse-utils/Makefile.am vendor/fuse-emulator/current/fuse-utils/README vendor/fuse-emulator/current/fuse-utils/audio2tape.cc vendor/fuse-emulator/current/fuse-utils/configure.in vendor/fuse-emulator/current/fuse-utils/converter/romloader.cc vendor/fuse-emulator/current/fuse-utils/converter/romloaderstate.h vendor/fuse-emulator/current/fuse-utils/hacking/ChangeLog vendor/fuse-emulator/current/fuse-utils/hacking/cvs-tags vendor/fuse-emulator/current/fuse-utils/importer/interpolator.h vendor/fuse-emulator/current/fuse-utils/importer/soundfile.cc vendor/fuse-emulator/current/fuse-utils/man/audio2tape.1 vendor/fuse-emulator/current/fuse-utils/man/createhdf.1 vendor/fuse-emulator/current/fuse-utils/man/fuse-utils.1 vendor/fuse-emulator/current/fuse-utils/man/listbasic.1 vendor/fuse-emulator/current/fuse-utils/man/profile2map.1 vendor/fuse-emulator/current/fuse-utils/man/raw2hdf.1 vendor/fuse-emulator/current/fuse-utils/man/rzxcheck.1 vendor/fuse-emulator/current/fuse-utils/man/rzxdump.1 vendor/fuse-emulator/current/fuse-utils/man/rzxtool.1 vendor/fuse-emulator/current/fuse-utils/man/scl2trd.1 vendor/fuse-emulator/current/fuse-utils/man/snap2tzx.1 vendor/fuse-emulator/current/fuse-utils/man/snapconv.1 vendor/fuse-emulator/current/fuse-utils/man/tape2wav.1 vendor/fuse-emulator/current/fuse-utils/man/tapeconv.1 vendor/fuse-emulator/current/fuse-utils/man/tzxlist.1 vendor/fuse-emulator/current/fuse-utils/tape2wav.c vendor/fuse-emulator/current/fusetest/Makefile vendor/fuse-emulator/current/fusetest/README vendor/fuse-emulator/current/fusetest/contention.asm vendor/fuse-emulator/current/fusetest/first.asm vendor/fuse-emulator/current/fusetest/framelength.asm vendor/fuse-emulator/current/fusetest/fusetest.asm vendor/fuse-emulator/current/fusetest/guessmachine.asm vendor/fuse-emulator/current/fusetest/sync.asm vendor/fuse-emulator/current/fusetest/tests.asm vendor/fuse-emulator/current/gdos-tools/configure.in vendor/fuse-emulator/current/gdos-tools/hacking/ChangeLog vendor/fuse-emulator/current/libgdos/configure.in vendor/fuse-emulator/current/libgdos/hacking/ChangeLog vendor/fuse-emulator/current/libspectrum/AUTHORS 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/cvs-tags 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/libspectrum.c vendor/fuse-emulator/current/libspectrum/libspectrum.h.in vendor/fuse-emulator/current/libspectrum/make-perl.c vendor/fuse-emulator/current/libspectrum/myglib/gslist.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/tape.c vendor/fuse-emulator/current/libspectrum/tape_block.c vendor/fuse-emulator/current/libspectrum/test/Makefile.am vendor/fuse-emulator/current/libspectrum/timings.c vendor/fuse-emulator/current/libspectrum/tzx_write.c vendor/fuse-emulator/current/libspectrum/warajevo_read.c vendor/fuse-emulator/current/libspectrum/z80.c vendor/fuse-emulator/current/website/fuse.php vendor/fuse-emulator/current/website/libspectrum.php Added Paths: ----------- vendor/fuse-emulator/current/fuse/compat/unix/dir.c vendor/fuse-emulator/current/fuse/compat/wii/dir.c vendor/fuse-emulator/current/fuse/compat/wii/osname.c vendor/fuse-emulator/current/fuse/compat/wii/paths.c vendor/fuse-emulator/current/fuse/compat/wii/timer.c vendor/fuse-emulator/current/fuse/fuller.c vendor/fuse-emulator/current/fuse/fuller.h vendor/fuse-emulator/current/fuse/ide/Makefile.am vendor/fuse-emulator/current/fuse/melodik.c vendor/fuse-emulator/current/fuse/melodik.h vendor/fuse-emulator/current/fuse/sound/Blip_Buffer.cpp vendor/fuse-emulator/current/fuse/sound/Blip_Buffer.h vendor/fuse-emulator/current/fuse/sound/wiisound.c vendor/fuse-emulator/current/fuse/timer/native.c vendor/fuse-emulator/current/fuse/ui/wii/ vendor/fuse-emulator/current/fuse/ui/wii/Makefile.am vendor/fuse-emulator/current/fuse/ui/wii/wiidisplay.c vendor/fuse-emulator/current/fuse/ui/wii/wiidisplay.h vendor/fuse-emulator/current/fuse/ui/wii/wiijoystick.c vendor/fuse-emulator/current/fuse/ui/wii/wiikeyboard.c vendor/fuse-emulator/current/fuse/ui/wii/wiikeyboard.h vendor/fuse-emulator/current/fuse/ui/wii/wiikeysyms.h vendor/fuse-emulator/current/fuse/ui/wii/wiimouse.c vendor/fuse-emulator/current/fuse/ui/wii/wiimouse.h vendor/fuse-emulator/current/fuse/ui/wii/wiiui.c vendor/fuse-emulator/current/fuse/ui/win32/installer/ vendor/fuse-emulator/current/fuse/ui/win32/installer/Makefile.am vendor/fuse-emulator/current/fuse/ui/win32/installer/fuse.nsi vendor/fuse-emulator/current/fuse-utils/converter/romloaderstate.cc vendor/fuse-emulator/current/fusetest/findcontention.asm vendor/fuse-emulator/current/fusetest/findcontention.dot vendor/fuse-emulator/current/fusetest/testcontention.asm Removed Paths: ------------- vendor/fuse-emulator/current/debian/lib765/ vendor/fuse-emulator/current/debian/libdsk/ vendor/fuse-emulator/current/fuse/compat/wii/file.c Modified: vendor/fuse-emulator/current/fuse/AUTHORS =================================================================== --- vendor/fuse-emulator/current/fuse/AUTHORS 2009-06-27 12:33:22 UTC (rev 598) +++ vendor/fuse-emulator/current/fuse/AUTHORS 2009-06-27 12:46:44 UTC (rev 599) @@ -41,6 +41,8 @@ * Gergely Szasz: Interface I/microdrive emulation, the 'movie' code and the ao sound driver. +* Bjoern Giesler: the original Wii port. + * Philip Kendall: everything else. -$Id: AUTHORS 2433 2004-11-28 21:58:44Z pak21 $ +$Id: AUTHORS 3944 2009-01-10 18:17:04Z pak21 $ Modified: vendor/fuse-emulator/current/fuse/ChangeLog =================================================================== --- vendor/fuse-emulator/current/fuse/ChangeLog 2009-06-27 12:33:22 UTC (rev 598) +++ vendor/fuse-emulator/current/fuse/ChangeLog 2009-06-27 12:46:44 UTC (rev 599) @@ -1,5 +1,15 @@ -2008-11-?? Philip Kendall <phi...@sh...> +2008-12-10 Philip Kendall <phi...@sh...> + * Fuse 0.10.0.1 released + + * Writing files would not truncate the file at the correct point, + leading to corrupt files when overwriting an existing file + (Philip Kendall; thanks, Matthew Westcott). + + * Distribute ui/fb/fbmouse.h (Fredrick Meunier; thanks, rkd77). + +2008-12-03 Philip Kendall <phi...@sh...> + * Fuse 0.10.0 released * New upd765 FDC emulation; all known +3 DSK images now work (Gergely @@ -16,6 +26,8 @@ * Reading from the 128K's memory control port causes that byte to be written back to the port (Philip Kendall; thanks, Marat Fayzullin). + * Reading the AY data port on the +2A/+3 is the same as reading + the register port (Philip Kendall; thanks, Mark Woodmass). * NMI causes Z80 to unHALT (Philip Kendall; thanks, Simon Owen). * Emulate C, H and P/V flags on repeated IO instructions (Philip Kendall). @@ -929,4 +941,4 @@ * Version 0.1.0 released. -$Id: ChangeLog 3787 2008-10-22 19:10:25Z pak21 $ +$Id: ChangeLog 3900 2008-12-10 19:31:31Z pak21 $ Modified: vendor/fuse-emulator/current/fuse/Makefile.am =================================================================== --- vendor/fuse-emulator/current/fuse/Makefile.am 2009-06-27 12:33:22 UTC (rev 598) +++ vendor/fuse-emulator/current/fuse/Makefile.am 2009-06-27 12:46:44 UTC (rev 599) @@ -1,7 +1,7 @@ # Process this file with automake to produce Makefile.in -## Copyright (c) 1999-2008 Philip Kendall +## Copyright (c) 1999-2009 Philip Kendall -## $Id: Makefile.am 3617 2008-05-17 08:09:47Z pak21 $ +## $Id: Makefile.am 4032 2009-06-10 11:09:44Z 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 @@ -29,6 +29,7 @@ debugger \ disk \ hacking \ + ide \ lib \ machines \ man \ @@ -44,6 +45,7 @@ DIST_SUBDIRS = debugger \ disk \ hacking \ + ide \ lib \ machines \ man \ @@ -59,10 +61,9 @@ fuse_SOURCES = ay.c \ dck.c \ display.c \ - divide.c \ event.c \ + fuller.c \ fuse.c \ - ide.c \ if1.c \ if2.c \ input.c \ @@ -71,6 +72,7 @@ keyboard.c \ loader.c \ machine.c \ + melodik.c \ memory.c \ mempool.c \ menu.c \ @@ -83,19 +85,16 @@ scld.c \ screenshot.c \ settings.c \ - simpleide.c \ slt.c \ snapshot.c \ - sound.c \ + sound.cpp \ spectrum.c \ tape.c \ ui.c \ uidisplay.c \ ula.c \ utils.c \ - windres.rc \ - zxatasp.c \ - zxcf.c + windres.rc if COMPAT_DIRNAME fuse_SOURCES += compat/dirname.c @@ -113,36 +112,42 @@ fuse_LDADD = debugger/libdebugger.a \ @UI_LIBS@ \ +debugger/libdebugger.a \ +disk/libdisk.a \ +ide/libide.a \ machines/libmachines.a \ -disk/libdisk.a \ pokefinder/libpokefinder.a \ sound/libsound.a \ +timer/libtimer.a \ ui/scaler/libscaler.a \ unittests/libunittests.a \ -debugger/libdebugger.a \ -timer/libtimer.a \ z80/libz80.a \ @LIBSPEC_LIBS@ \ @GLIB_LIBS@ \ @PNG_LIBS@ \ @SOUND_LIBS@ \ -@SAMPLERATE_LIBS@ \ @SDL_LIBS@ \ @X_LIBS@ \ @XML_LIBS@ \ compat/@COMPAT_OSNAME@/libcompatos.a \ @WINDRES_OBJ@ -fuse_DEPENDENCIES = @UI_LIBS@ \ - disk/libdisk.a \ - debugger/libdebugger.a \ - machines/libmachines.a \ - sound/libsound.a \ - unittests/libunittests.a\ - z80/libz80.a \ - @WINDRES_OBJ@ +fuse_DEPENDENCIES = debugger/libdebugger.a \ +@UI_LIBS@ \ +debugger/libdebugger.a \ +disk/libdisk.a \ +ide/libide.a \ +machines/libmachines.a \ +pokefinder/libpokefinder.a \ +sound/libsound.a \ +timer/libtimer.a \ +ui/scaler/libscaler.a \ +unittests/libunittests.a \ +z80/libz80.a \ +compat/@COMPAT_OSNAME@/libcompatos.a \ +@WINDRES_OBJ@ -BUILT_SOURCES = settings.c settings.h +BUILT_SOURCES = options.h settings.c settings.h windres.o: windres.rc winfuse.ico @WINDRES@ -I$(srcdir) -I. $(srcdir)/windres.rc windres.o @@ -153,18 +158,25 @@ settings.h: settings-header.pl settings.dat @PERL@ -I$(srcdir)/perl $(srcdir)/settings-header.pl $(srcdir)/settings.dat > $@.tmp && mv $@.tmp $@ +if WIDGET +options.h: $(srcdir)/perl/cpp-perl.pl config.h $(srcdir)/ui/@WIDGET@/options-header.pl $(srcdir)/ui/options.dat $(srcdir)/perl/Fuse.pm $(srcdir)/perl/Fuse/Dialog.pm + @PERL@ $(srcdir)/perl/cpp-perl.pl config.h $(srcdir)/ui/options.dat | @PERL@ -I$(srcdir)/perl $(srcdir)/ui/@WIDGET@/options-header.pl - public > $@.tmp && mv $@.tmp $@ +else +options.h: $(srcdir)/perl/cpp-perl.pl config.h $(srcdir)/ui/@UI@/options-header.pl $(srcdir)/ui/options.dat $(srcdir)/perl/Fuse.pm $(srcdir)/perl/Fuse/Dialog.pm + @PERL@ $(srcdir)/perl/cpp-perl.pl config.h $(srcdir)/ui/options.dat | @PERL@ -I$(srcdir)/perl $(srcdir)/ui/@UI@/options-header.pl - public > $@.tmp && mv $@.tmp $@ +endif + INCLUDES = @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@ \ -@XML_CFLAGS@ @SAMPLERATE_CFLAGS@ -DFUSEDATADIR="\"${pkgdatadir}\"" @SDL_CFLAGS@ +@XML_CFLAGS@ -DFUSEDATADIR="\"${pkgdatadir}\"" @SDL_CFLAGS@ noinst_HEADERS = ay.h \ bitmap.h \ compat.h \ dck.h \ display.h \ - divide.h \ event.h \ + fuller.h \ fuse.h \ - ide.h \ if1.h \ if2.h \ input.h \ @@ -172,7 +184,9 @@ kempmouse.h \ loader.h \ machine.h \ + melodik.h \ memory.h \ + mempool.h \ menu.h \ module.h \ periph.h \ @@ -180,7 +194,6 @@ rzx.h \ screenshot.h \ settings.h \ - simpleide.h \ slt.h \ snapshot.h \ sound.h \ @@ -188,12 +201,11 @@ tape.h \ utils.h \ joystick.h \ + options.h \ printer.h \ profile.h \ scld.h \ - ula.h \ - zxatasp.h \ - zxcf.h + ula.h EXTRA_DIST = AUTHORS \ README \ @@ -207,7 +219,8 @@ settings.dat \ winfuse.ico -CLEANFILES = settings.c \ +CLEANFILES = options.h \ + settings.c \ settings.h AM_CPPFLAGS = Modified: vendor/fuse-emulator/current/fuse/README =================================================================== --- vendor/fuse-emulator/current/fuse/README 2009-06-27 12:33:22 UTC (rev 598) +++ vendor/fuse-emulator/current/fuse/README 2009-06-27 12:46:44 UTC (rev 599) @@ -1,5 +1,5 @@ -The Free Unix Spectrum Emulator (Fuse) 0.9.0 -============================================ +The Free Unix Spectrum Emulator (Fuse) 0.10.0.1 +=============================================== Fuse (the Free Unix Spectrum Emulator) was originally, and somewhat unsurprisingly, an emulator of the ZX Spectrum (a popular 1980s home @@ -55,8 +55,6 @@ * libpng: the ability to save screenshots * libxml2: the ability to load and save Fuse's current configuration * zlib: support for compressed RZX files - * samplerate: support for better beeper sound quality; get it from - http://www.mega-nerd.com/SRC/ If you've used Fuse prior to version 0.5.0, note that the external utilities (tzxlist, etc) are now available separately from Fuse @@ -123,6 +121,36 @@ The native Cocoa port by Fredrick Meunier <fr...@sp...> comes as a set of Xcode projects for libgcrypt, libspectrum and Fuse itself. +Building the Wii version of Fuse +-------------------------------- + +You'll need to have the standard Wii homebrew toolchain installed; see +eg <http://wiibrew.org/wiki/DevkitPro> for some information on setting +this up. + +After that, make sure the dev tools are in your path (export +PATH=$PATH:$DEVKITPPC/bin) and that a Wii version of libspectrum has been +built and installed. + +Then, use this configure line: + +./configure --target=powerpc-gekko --host=powerpc-gekko \ + --with-wii \ + --without-libxml2 --without-libiconv --without-gpm \ + --without-x --without-glib \ + CFLAGS="-g -I$DEVKITPPC/include -I$DEVKITPRO/libogc/include" \ + LDFLAGS="-g -mrvl -mcpu=750 -meabi -mhard-float \ + -Wl,-Map,fuse.elf.map -L$DEVKITPPC/lib \ + -L$DEVKITPRO/libogc/lib/wii" \ + LIBS="-lfat -lwiiuse -lbte -logc -lm" + +Finally, to build, use this line: + +EXEEXT=".elf" make -e + +This should build fuse.elf, which you can run on your Wii via the usual +methods. + Closing comments ---------------- @@ -150,6 +178,6 @@ ( http://www.worldofspectrum.org/faq/index.html ) first! Philip Kendall <phi...@sh...> -5 January 2008 +10 December 2008 -$Id: README 3801 2008-10-31 16:22:13Z pak21 $ +$Id: README 4021 2009-05-29 13:39:51Z fredm $ Modified: vendor/fuse-emulator/current/fuse/ay.c =================================================================== --- vendor/fuse-emulator/current/fuse/ay.c 2009-06-27 12:33:22 UTC (rev 598) +++ vendor/fuse-emulator/current/fuse/ay.c 2009-06-27 12:46:44 UTC (rev 599) @@ -1,7 +1,7 @@ /* ay.c: AY-8-3912 routines - Copyright (c) 1999-2004 Philip Kendall + Copyright (c) 1999-2009 Philip Kendall - $Id: ay.c 3494 2008-01-15 16:37:50Z pak21 $ + $Id: ay.c 4030 2009-06-07 14:38:38Z fredm $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -131,22 +131,26 @@ if( current == 14 ) printer_serial_write( b ); } -static void -ay_from_snapshot( libspectrum_snap *snap ) +void +ay_state_from_snapshot( libspectrum_snap *snap ) { size_t i; - if( machine_current->capabilities & LIBSPECTRUM_MACHINE_CAPABILITY_AY ) { + ay_registerport_write( 0xfffd, + libspectrum_snap_out_ay_registerport( snap ) ); - ay_registerport_write( 0xfffd, - libspectrum_snap_out_ay_registerport( snap ) ); + for( i = 0; i < AY_REGISTERS; i++ ) { + machine_current->ay.registers[i] = + libspectrum_snap_ay_registers( snap, i ); + sound_ay_write( i, machine_current->ay.registers[i], 0 ); + } +} - for( i = 0; i < AY_REGISTERS; i++ ) { - machine_current->ay.registers[i] = - libspectrum_snap_ay_registers( snap, i ); - sound_ay_write( i, machine_current->ay.registers[i], 0 ); - } - +static void +ay_from_snapshot( libspectrum_snap *snap ) +{ + if( machine_current->capabilities & LIBSPECTRUM_MACHINE_CAPABILITY_AY ) { + ay_state_from_snapshot( snap ); } } Modified: vendor/fuse-emulator/current/fuse/ay.h =================================================================== --- vendor/fuse-emulator/current/fuse/ay.h 2009-06-27 12:33:22 UTC (rev 598) +++ vendor/fuse-emulator/current/fuse/ay.h 2009-06-27 12:46:44 UTC (rev 599) @@ -1,7 +1,7 @@ /* ay.h: AY-8-3912 routines - Copyright (c) 1999-2004 Philip Kendall + Copyright (c) 1999-2009 Philip Kendall - $Id: ay.h 2993 2007-06-17 13:54:49Z pak21 $ + $Id: ay.h 4030 2009-06-07 14:38:38Z fredm $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -42,4 +42,6 @@ void ay_dataport_write( libspectrum_word port, libspectrum_byte b ); +void ay_state_from_snapshot( libspectrum_snap *snap ); + #endif /* #ifndef FUSE_AY_H */ Modified: vendor/fuse-emulator/current/fuse/compat/Makefile.am =================================================================== --- vendor/fuse-emulator/current/fuse/compat/Makefile.am 2009-06-27 12:33:22 UTC (rev 598) +++ vendor/fuse-emulator/current/fuse/compat/Makefile.am 2009-06-27 12:46:44 UTC (rev 599) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2003-2007 Philip Kendall -## $Id: Makefile.am 3283 2007-11-09 12:21:06Z fredm $ +## $Id: Makefile.am 3944 2009-01-10 18:17:04Z 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,7 @@ DIST_SUBDIRS += compat/amiga \ compat/morphos \ compat/unix \ + compat/wii \ compat/win32 EXTRA_fuse_SOURCES += compat/dirname.c \ Modified: vendor/fuse-emulator/current/fuse/compat/amiga/Makefile.am =================================================================== --- vendor/fuse-emulator/current/fuse/compat/amiga/Makefile.am 2009-06-27 12:33:22 UTC (rev 598) +++ vendor/fuse-emulator/current/fuse/compat/amiga/Makefile.am 2009-06-27 12:46:44 UTC (rev 599) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2007-2008 Philip Kendall -## $Id: Makefile.am 3687 2008-06-23 11:55:23Z pak21 $ +## $Id: Makefile.am 3935 2009-01-07 12:55:13Z 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,8 +27,10 @@ noinst_LIBRARIES = libcompatos.a -libcompatos_a_SOURCES = ../unix/file.c \ +libcompatos_a_SOURCES = ../unix/dir.c \ + ../unix/file.c \ osname.c \ - paths.c + paths.c \ + ../unix/timer.c INCLUDES = @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@ Modified: vendor/fuse-emulator/current/fuse/compat/amiga/paths.c =================================================================== --- vendor/fuse-emulator/current/fuse/compat/amiga/paths.c 2009-06-27 12:33:22 UTC (rev 598) +++ vendor/fuse-emulator/current/fuse/compat/amiga/paths.c 2009-06-27 12:46:44 UTC (rev 599) @@ -1,7 +1,7 @@ /* paths.c: Path-related compatibility routines Copyright (c) 1999-2007 Philip Kendall - $Id: paths.c 3578 2008-03-22 20:51:36Z zubzero $ + $Id: paths.c 3843 2008-11-19 21:27:03Z 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 @@ -42,6 +42,5 @@ int compat_is_absolute_path( const char *path ) { - /* Is this correct? */ - return path[0] == '/'; + return strchr(path,':'); } Modified: vendor/fuse-emulator/current/fuse/compat/morphos/Makefile.am =================================================================== --- vendor/fuse-emulator/current/fuse/compat/morphos/Makefile.am 2009-06-27 12:33:22 UTC (rev 598) +++ vendor/fuse-emulator/current/fuse/compat/morphos/Makefile.am 2009-06-27 12:46:44 UTC (rev 599) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2007-2008 Philip Kendall -## $Id: Makefile.am 3687 2008-06-23 11:55:23Z pak21 $ +## $Id: Makefile.am 3935 2009-01-07 12:55:13Z 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,8 +27,10 @@ noinst_LIBRARIES = libcompatos.a -libcompatos_a_SOURCES = ../unix/file.c \ +libcompatos_a_SOURCES = ../unix/dir.c \ + ../unix/file.c \ osname.c \ - ../amiga/paths.c + ../amiga/paths.c \ + ../unix/timer.c INCLUDES = @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@ Modified: vendor/fuse-emulator/current/fuse/compat/morphos/osname.c =================================================================== --- vendor/fuse-emulator/current/fuse/compat/morphos/osname.c 2009-06-27 12:33:22 UTC (rev 598) +++ vendor/fuse-emulator/current/fuse/compat/morphos/osname.c 2009-06-27 12:46:44 UTC (rev 599) @@ -1,7 +1,7 @@ /* osname.c: Get a representation of the OS we're running on Copyright (c) 1999-2007 Philip Kendall - $Id: osname.c 3139 2007-09-03 10:27:57Z fredm $ + $Id: osname.c 3922 2008-12-31 19:01:31Z 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/unix/Makefile.am =================================================================== --- vendor/fuse-emulator/current/fuse/compat/unix/Makefile.am 2009-06-27 12:33:22 UTC (rev 598) +++ vendor/fuse-emulator/current/fuse/compat/unix/Makefile.am 2009-06-27 12:46:44 UTC (rev 599) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2007-2008 Philip Kendall -## $Id: Makefile.am 3687 2008-06-23 11:55:23Z pak21 $ +## $Id: Makefile.am 3935 2009-01-07 12:55:13Z 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,8 +27,10 @@ noinst_LIBRARIES = libcompatos.a -libcompatos_a_SOURCES = file.c \ +libcompatos_a_SOURCES = dir.c \ + file.c \ osname.c \ - paths.c + paths.c \ + timer.c INCLUDES = @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@ Added: vendor/fuse-emulator/current/fuse/compat/unix/dir.c =================================================================== --- vendor/fuse-emulator/current/fuse/compat/unix/dir.c (rev 0) +++ vendor/fuse-emulator/current/fuse/compat/unix/dir.c 2009-06-27 12:46:44 UTC (rev 599) @@ -0,0 +1,63 @@ +/* dir.c: Directory-related compatibility routines + Copyright (c) 2009 Philip Kendall + + $Id: dir.c 3945 2009-01-10 18:44:42Z 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 + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + Author contact information: + + E-mail: phi...@sh... + +*/ + +#include <config.h> + +#include <errno.h> +#include <string.h> + +#include "compat.h" + +compat_dir +compat_opendir( const char *path ) +{ + return opendir( path ); +} + +compat_dir_result_t +compat_readdir( compat_dir directory, char *name, size_t length ) +{ + compat_dir_result_t r; + struct dirent *dirent; + + errno = 0; + dirent = readdir( directory ); + + if( dirent ) { + r = COMPAT_DIR_RESULT_OK; + strncpy( name, dirent->d_name, length ); + name[ length - 1 ] = 0; + } else { + r = ( errno == 0 ? COMPAT_DIR_RESULT_END : COMPAT_DIR_RESULT_ERROR ); + } + + return r; +} + +int +compat_closedir( compat_dir directory ) +{ + return closedir( directory ); +} Modified: vendor/fuse-emulator/current/fuse/compat/unix/file.c =================================================================== --- vendor/fuse-emulator/current/fuse/compat/unix/file.c 2009-06-27 12:33:22 UTC (rev 598) +++ vendor/fuse-emulator/current/fuse/compat/unix/file.c 2009-06-27 12:46:44 UTC (rev 599) @@ -1,7 +1,7 @@ /* file.c: File-related compatibility routines Copyright (c) 2008 Philip Kendall - $Id: file.c 3776 2008-10-06 00:49:45Z fredm $ + $Id: file.c 4040 2009-06-27 09:32:42Z fredm $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -33,22 +33,15 @@ #include <unistd.h> #include "compat.h" +#include "utils.h" #include "ui/ui.h" -/* Certain brain damaged operating systems (DOS/Windows) treat text - and binary files different in open(2) and need to be given the - O_BINARY flag to tell them it's a binary file */ -#ifndef O_BINARY -#define O_BINARY 0 -#endif /* #ifndef O_BINARY */ +const compat_fd COMPAT_FILE_OPEN_FAILED = NULL; -const compat_fd COMPAT_FILE_OPEN_FAILED = -1; - compat_fd compat_file_open( const char *path, int write ) { - int flags = write ? O_WRONLY | O_CREAT | O_BINARY : O_RDONLY | O_BINARY; - return open( path, flags, 0666 ); + return fopen( path, write ? "w" : "r" ); } off_t @@ -56,7 +49,7 @@ { struct stat file_info; - if( fstat( fd, &file_info ) ) { + if( fstat( fileno( fd ), &file_info ) ) { ui_error( UI_ERROR_ERROR, "couldn't stat file: %s", strerror( errno ) ); return -1; } @@ -67,15 +60,11 @@ int compat_file_read( compat_fd fd, utils_file *file ) { - ssize_t bytes = read( fd, file->buffer, file->length ); + size_t bytes = fread( file->buffer, 1, file->length, fd ); if( bytes != file->length ) { - if( bytes == -1 ) { - ui_error( UI_ERROR_ERROR, "error reading file: %s", strerror( errno ) ); - } else { - ui_error( UI_ERROR_ERROR, - "error reading file: expected %ld bytes, but read only %ld", - (unsigned long)file->length, (unsigned long)bytes ); - } + ui_error( UI_ERROR_ERROR, + "error reading file: expected %lu bytes, but read only %lu", + file->length, bytes ); return 1; } @@ -85,15 +74,11 @@ int compat_file_write( compat_fd fd, const unsigned char *buffer, size_t length ) { - ssize_t bytes = write( fd, buffer, length ); + size_t bytes = fwrite( buffer, 1, length, fd ); if( bytes != length ) { - if( bytes == -1 ) { - ui_error( UI_ERROR_ERROR, "error writing file: %s", strerror( errno ) ); - } else { - ui_error( UI_ERROR_ERROR, - "error writing file: expected %ld bytes, but wrote only %ld", - (unsigned long)length, (unsigned long)bytes ); - } + ui_error( UI_ERROR_ERROR, + "error writing file: expected %lu bytes, but wrote only %lu", + length, bytes ); return 1; } @@ -103,5 +88,5 @@ int compat_file_close( compat_fd fd ) { - return close( fd ); + return fclose( fd ); } Modified: vendor/fuse-emulator/current/fuse/compat/unix/osname.c =================================================================== --- vendor/fuse-emulator/current/fuse/compat/unix/osname.c 2009-06-27 12:33:22 UTC (rev 598) +++ vendor/fuse-emulator/current/fuse/compat/unix/osname.c 2009-06-27 12:46:44 UTC (rev 599) @@ -1,7 +1,7 @@ /* osname.c: Get a representation of the OS we're running on Copyright (c) 1999-2007 Philip Kendall - $Id: osname.c 3626 2008-05-23 10:30:30Z pak21 $ + $Id: osname.c 3922 2008-12-31 19:01:31Z 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/unix/paths.c =================================================================== --- vendor/fuse-emulator/current/fuse/compat/unix/paths.c 2009-06-27 12:33:22 UTC (rev 598) +++ vendor/fuse-emulator/current/fuse/compat/unix/paths.c 2009-06-27 12:46:44 UTC (rev 599) @@ -1,7 +1,7 @@ /* paths.c: Path-related compatibility routines Copyright (c) 1999-2007 Philip Kendall - $Id: paths.c 3253 2007-10-26 02:02:17Z zubzero $ + $Id: paths.c 3922 2008-12-31 19:01:31Z 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/unix/timer.c =================================================================== --- vendor/fuse-emulator/current/fuse/compat/unix/timer.c 2009-06-27 12:33:22 UTC (rev 598) +++ vendor/fuse-emulator/current/fuse/compat/unix/timer.c 2009-06-27 12:46:44 UTC (rev 599) @@ -1,7 +1,7 @@ -/* unix.c: UNIX speed routines for Fuse - Copyright (c) 1999-2007 Philip Kendall, Marek Januszewski, Fredrick Meunier +/* timer.c: UNIX speed routines for Fuse + Copyright (c) 1999-2008 Philip Kendall, Marek Januszewski, Fredrick Meunier - $Id: unix.c 3115 2007-08-19 02:49:14Z fredm $ + $Id: timer.c 3982 2009-02-11 12:00:22Z fredm $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -27,46 +27,29 @@ #include <errno.h> #include <string.h> +#include <sys/time.h> #include <unistd.h> -#include "timer.h" +#include "compat.h" #include "ui/ui.h" -int -timer_get_real_time( timer_type *real_time ) +double +compat_timer_get_time( void ) { + struct timeval tv; int error; - error = gettimeofday( real_time, NULL ); + error = gettimeofday( &tv, NULL ); if( error ) { - ui_error( UI_ERROR_ERROR, "error getting time: %s", strerror( errno ) ); - return 1; + ui_error( UI_ERROR_ERROR, "%s: error getting time: %s", __func__, strerror( errno ) ); + return -1; } - return 0; + return tv.tv_sec + tv.tv_usec / 1000000.0; } -float -timer_get_time_difference( timer_type *a, timer_type *b ) -{ - return ( a->tv_sec - b->tv_sec ) + ( a->tv_usec - b->tv_usec ) / 1000000.0; -} - void -timer_add_time_difference( timer_type *a, long msec ) +compat_timer_sleep( int ms ) { - a->tv_usec += msec * 1000; - if( a->tv_usec >= 1000000 ) { - a->tv_usec -= 1000000; - a->tv_sec += 1; - } else if( a->tv_usec < 0 ) { - a->tv_usec += 1000000; - a->tv_sec -= 1; - } -} - -void -timer_sleep_ms( int ms ) -{ usleep( ms * 1000 ); } Modified: vendor/fuse-emulator/current/fuse/compat/wii/Makefile.am =================================================================== --- vendor/fuse-emulator/current/fuse/compat/wii/Makefile.am 2009-06-27 12:33:22 UTC (rev 598) +++ vendor/fuse-emulator/current/fuse/compat/wii/Makefile.am 2009-06-27 12:46:44 UTC (rev 599) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2007-2008 Philip Kendall -## $Id: Makefile.am 3687 2008-06-23 11:55:23Z pak21 $ +## $Id: Makefile.am 4040 2009-06-27 09:32:42Z fredm $ ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -27,8 +27,10 @@ noinst_LIBRARIES = libcompatos.a -libcompatos_a_SOURCES = file.c \ +libcompatos_a_SOURCES = dir.c \ + ../unix/file.c \ osname.c \ - paths.c + paths.c \ + timer.c INCLUDES = @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@ Added: vendor/fuse-emulator/current/fuse/compat/wii/dir.c =================================================================== --- vendor/fuse-emulator/current/fuse/compat/wii/dir.c (rev 0) +++ vendor/fuse-emulator/current/fuse/compat/wii/dir.c 2009-06-27 12:46:44 UTC (rev 599) @@ -0,0 +1,50 @@ +/* dir.c: Directory-related compatibility routines + Copyright (c) 2009 Philip Kendall + + $Id: dir.c 3945 2009-01-10 18:44:42Z 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 + 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 "compat.h" + +compat_dir +compat_opendir( const char *path ) +{ + return diropen( path ); +} + +compat_dir_result_t +compat_readdir( compat_dir directory, char *path, size_t length ) +{ + struct stat fstat; + + int done = dirnext( directory, path, &fstat ); + + return done ? COMPAT_DIR_RESULT_END : COMPAT_DIR_RESULT_OK; +} + +int +compat_closedir( compat_dir directory ) +{ + return dirclose( directory ); +} Deleted: vendor/fuse-emulator/current/fuse/compat/wii/file.c =================================================================== --- vendor/fuse-emulator/current/fuse/compat/wii/file.c 2009-06-27 12:33:22 UTC (rev 598) +++ vendor/fuse-emulator/current/fuse/compat/wii/file.c 2009-06-27 12:46:44 UTC (rev 599) @@ -1,90 +0,0 @@ -/* file.c: File-related compatibility routines - Copyright (c) 2008 Philip Kendall - - $Id: file.c 3688 2008-06-23 18:17:56Z 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 <errno.h> -#include <fcntl.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <unistd.h> - -#include "compat.h" -#include "ui/ui.h" - -const compat_fd COMPAT_FILE_OPEN_FAILED = NULL; - -compat_fd -compat_file_open( const char *path, int write ) -{ - return fopen( path, write ? "w" : "r" ); -} - -off_t -compat_file_get_length( compat_fd fd ) -{ - struct stat file_info; - - if( fstat( fileno( fd ), &file_info ) ) { - ui_error( UI_ERROR_ERROR, "couldn't stat file: %s", strerror( errno ) ); - return -1; - } - - return file_info.st_size; -} - -int -compat_file_read( compat_fd fd, utils_file *file ) -{ - size_t bytes = fread( file->buffer, 1, file->length, fd ); - if( bytes != file->length ) { - ui_error( UI_ERROR_ERROR, - "error reading file: expected %d bytes, but read only %d", - file->length, bytes ); - return 1; - } - - return 0; -} - -int -compat_file_write( compat_fd fd, const unsigned char *buffer, size_t length ) -{ - size_t bytes = fwrite( buffer, 1, length, fd ); - if( bytes != length ) { - ui_error( UI_ERROR_ERROR, - "error writing file: expected %d bytes, but wrote only %d", - length, bytes ); - return 1; - } - - return 0; -} - -int -compat_file_close( compat_fd fd ) -{ - return fclose( fd ); -} Added: vendor/fuse-emulator/current/fuse/compat/wii/osname.c =================================================================== --- vendor/fuse-emulator/current/fuse/compat/wii/osname.c (rev 0) +++ vendor/fuse-emulator/current/fuse/compat/wii/osname.c 2009-06-27 12:46:44 UTC (rev 599) @@ -0,0 +1,39 @@ +/* osname.c: Get a representation of the OS we're running on + Copyright (c) 1999-2009 Philip Kendall, Bjoern Giesler + + $Id: osname.c 3945 2009-01-10 18:44:42Z 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 + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + Author contact information: + + E-mail: phi...@sh... + +*/ + +#include <config.h> + +#include <errno.h> +#include <stdlib.h> +#include <string.h> + +#include "ui/ui.h" + +int +compat_osname( char *buffer, size_t length ) +{ + snprintf(buffer, length, "Wii"); + return 0; +} Added: vendor/fuse-emulator/current/fuse/compat/wii/paths.c =================================================================== --- vendor/fuse-emulator/current/fuse/compat/wii/paths.c (rev 0) +++ vendor/fuse-emulator/current/fuse/compat/wii/paths.c 2009-06-27 12:46:44 UTC (rev 599) @@ -0,0 +1,54 @@ +/* paths.c: Path-related compatibility routines + Copyright (c) 1999-2009 Philip Kendall, Bjoern Giesler + + $Id: paths.c 3970 2009-01-19 03:47:02Z specu $ + + 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 <stdlib.h> +#include <string.h> + +#include "compat.h" + +const char* +compat_get_temp_path( void ) +{ + return "/tmp"; +} + +const char* +compat_get_home_path( void ) +{ + return "sd:/apps/fuse"; +} + +int +compat_is_absolute_path( const char *path ) +{ + if(strlen(path) >= 1 && path[0] == '/') + return 1; + if(strlen(path) >= strlen("fat:/") && + strncmp(path, "fat:/", strlen("fat:/")) == 0) + return 1; + return 0; +} Added: vendor/fuse-emulator/current/fuse/compat/wii/timer.c =================================================================== --- vendor/fuse-emulator/current/fuse/compat/wii/timer.c (rev 0) +++ vendor/fuse-emulator/current/fuse/compat/wii/timer.c 2009-06-27 12:46:44 UTC (rev 599) @@ -0,0 +1,57 @@ +/* unix.c: UNIX speed routines for Fuse + Copyright (c) 1999-2007 Philip Kendall, Marek Januszewski, Fredrick Meunier + + $Id: timer.c 3944 2009-01-10 18:17:04Z 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 <errno.h> +#include <string.h> +#include <unistd.h> + +#include "compat.h" +#include "ui/ui.h" + +/* FIXME: where should we get this prototype from? */ +extern int clock_gettime(struct timespec *tp); + +double +compat_timer_get_time( void ) +{ + int error; + struct timespec tp; + + error = clock_gettime(&tp); + if( error ) { + ui_error( UI_ERROR_ERROR, "%s: error getting time: %s", __func__, strerror( errno ) ); + return -1; + } + + return tp.tv_sec + tp.tv_nsec / 1000000000.0; +} + +void +compat_timer_sleep( int ms ) +{ + usleep( ms * 1000 ); +} Modified: vendor/fuse-emulator/current/fuse/compat/win32/Makefile.am =================================================================== --- vendor/fuse-emulator/current/fuse/compat/win32/Makefile.am 2009-06-27 12:33:22 UTC (rev 598) +++ vendor/fuse-emulator/current/fuse/compat/win32/Makefile.am 2009-06-27 12:46:44 UTC (rev 599) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2007-2008 Philip Kendall -## $Id: Makefile.am 3687 2008-06-23 11:55:23Z pak21 $ +## $Id: Makefile.am 3935 2009-01-07 12:55:13Z 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,8 +27,10 @@ noinst_LIBRARIES = libcompatos.a -libcompatos_a_SOURCES = ../unix/file.c \ +libcompatos_a_SOURCES = ../unix/dir.c \ + ../unix/file.c \ osname.c \ - paths.c + paths.c \ + timer.c INCLUDES = @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@ Modified: vendor/fuse-emulator/current/fuse/compat/win32/osname.c =================================================================== --- vendor/fuse-emulator/current/fuse/compat/win32/osname.c 2009-06-27 12:33:22 UTC (rev 598) +++ vendor/fuse-emulator/current/fuse/compat/win32/osname.c 2009-06-27 12:46:44 UTC (rev 599) @@ -1,7 +1,7 @@ /* osname.c: Get a representation of the OS we're running on Copyright (c) 1999-2007 Philip Kendall - $Id: osname.c 3315 2007-11-20 03:01:59Z zubzero $ + $Id: osname.c 3922 2008-12-31 19:01:31Z 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/win32/paths.c =================================================================== --- vendor/fuse-emulator/current/fuse/compat/win32/paths.c 2009-06-27 12:33:22 UTC (rev 598) +++ vendor/fuse-emulator/current/fuse/compat/win32/paths.c 2009-06-27 12:46:44 UTC (rev 599) @@ -1,7 +1,7 @@ /* paths.c: Path-related compatibility routines Copyright (c) 1999-2007 Philip Kendall - $Id: paths.c 3253 2007-10-26 02:02:17Z zubzero $ + $Id: paths.c 3922 2008-12-31 19:01:31Z 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/win32/timer.c =================================================================== --- vendor/fuse-emulator/current/fuse/compat/win32/timer.c 2009-06-27 12:33:22 UTC (rev 598) +++ vendor/fuse-emulator/current/fuse/compat/win32/timer.c 2009-06-27 12:46:44 UTC (rev 599) @@ -1,7 +1,7 @@ -/* win32.c: Win32 speed routines for Fuse - Copyright (c) 1999-2007 Philip Kendall, Marek Januszewski, Fredrick Meunier +/* timer.c: Win32 speed routines for Fuse + Copyright (c) 1999-2008 Philip Kendall, Marek Januszewski, Fredrick Meunier - $Id: win32.c 3087 2007-07-31 19:08:50Z zubzero $ + $Id: timer.c 3951 2009-01-12 18:09:42Z specu $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,30 +25,18 @@ #include <config.h> -#include "timer.h" +#include <windows.h> -int -timer_get_real_time( timer_type *real_time ) -{ - *real_time = GetTickCount(); +#include "compat.h" - return 0; -} - -float -timer_get_time_difference( timer_type *a, timer_type *b ) +double +compat_timer_get_time( void ) { - return ( (long)*a - (long)*b ) / 1000.0; + return GetTickCount() / 1000.0; } void -timer_add_time_difference( timer_type *a, long msec ) +compat_timer_sleep( int ms ) { - *a += msec; -} - -void -timer_sleep_ms( int ms ) -{ Sleep( ms ); } Modified: vendor/fuse-emulator/current/fuse/compat.h =================================================================== --- vendor/fuse-emulator/current/fuse/compat.h 2009-06-27 12:33:22 UTC (rev 598) +++ vendor/fuse-emulator/current/fuse/compat.h 2009-06-27 12:46:44 UTC (rev 599) @@ -1,7 +1,7 @@ /* compat.h: various compatibility bits Copyright (c) 2003-2008 Philip Kendall - $Id: compat.h 3687 2008-06-23 11:55:23Z pak21 $ + $Id: compat.h 4040 2009-06-27 09:32:42Z fredm $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -26,10 +26,11 @@ #ifndef FUSE_COMPAT_H #define FUSE_COMPAT_H +#include <stdio.h> +#include <dirent.h> #include <stdlib.h> +#include <sys/types.h> -#include <utils.h> - /* Remove the gcc-specific incantations if we're not using gcc */ #ifdef __GNUC__ @@ -54,7 +55,7 @@ #endif /* #ifndef HAVE_GETOPT_LONG */ #ifndef HAVE_MKSTEMP -int mkstemp( char *template ); +int mkstemp( char *templ ); #endif /* #ifndef HAVE_MKSTEMP */ /* That which separates components in a path name */ @@ -66,24 +67,52 @@ #define FUSE_DIR_SEP_STR "/" #endif +#ifndef PATH_MAX +#define PATH_MAX 1024 +#endif + int compat_osname( char *buffer, size_t length ); const char* compat_get_temp_path( void ); const char* compat_get_home_path( void ); int compat_is_absolute_path( const char *path ); +typedef FILE* compat_fd; + #ifndef UI_WII -typedef int compat_fd; +typedef DIR* compat_dir; #else /* #ifndef UI_WII */ -typedef FILE* compat_fd; +typedef DIR_ITER* compat_dir; #endif /* #ifndef UI_WII */ extern const compat_fd COMPAT_FILE_OPEN_FAILED; +/* File handling */ + +struct utils_file; + compat_fd compat_file_open( const char *path, int write ); off_t compat_file_get_length( compat_fd fd ); -int compat_file_read( compat_fd fd, utils_file *file ); +int compat_file_read( compat_fd fd, struct utils_file *file ); int compat_file_write( compat_fd fd, const unsigned char *buffer, size_t length ); int compat_file_close( compat_fd fd ); +/* Directory handling */ + +typedef enum compat_dir_result_t { + COMPAT_DIR_RESULT_OK, + COMPAT_DIR_RESULT_END, + COMPAT_DIR_RESULT_ERROR, +} compat_dir_result_t; + +compat_dir compat_opendir( const char *path ); +compat_dir_result_t compat_readdir( compat_dir directory, char *name, + size_t length ); +int compat_closedir( compat_dir directory ); + +/* Timing routines */ + +double compat_timer_get_time( void ); +void compat_timer_sleep( int ms ); + #endif /* #ifndef FUSE_COMPAT_H */ Modified: vendor/fuse-emulator/current/fuse/configure.in =================================================================== --- vendor/fuse-emulator/current/fuse/configure.in 2009-06-27 12:33:22 UTC (rev 598) +++ vendor/fuse-emulator/current/fuse/configure.in 2009-06-27 12:46:44 UTC (rev 599) @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -dnl $Id: configure.in 3796 2008-10-28 20:44:45Z specu $ +dnl $Id: configure.in 4028 2009-05-31 13:15:52Z fredm $ dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by @@ -24,10 +24,11 @@ AC_CANONICAL_SYSTEM dnl Use automake to produce `Makefile.in' -AM_INIT_AUTOMAKE(fuse, 0.9.0) +AM_INIT_AUTOMAKE(fuse, 0.10.0.1) dnl Checks for programs. AC_PROG_CC +AC_PROG_CXX AC_PROG_RANLIB AC_PATH_PROG(PERL, perl) AC_SUBST(PERL) @@ -92,7 +93,7 @@ AC_MSG_RESULT($win32) if test "$win32" = yes; then AC_CHECK_HEADER(windows.h, - LIBS="$LIBS -mwindows -lcomctl32"; + LIBS="$LIBS -mwindows -lcomctl32 -lwinmm"; 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]) @@ -148,6 +149,38 @@ fi fi +dnl Look for Wii interface (default = 0) +if test -z "$UI"; then + AC_MSG_CHECKING(whether Wii UI requested) + AC_ARG_WITH(wii, + [ --with-wii use Wii FB for user interface], + if test "$withval" = no; then wii=no; else wii=yes; fi, + wii=no) + AC_MSG_RESULT($wii) + if test "$wii" = yes; then + AC_DEFINE([UI_WII], 1, [Defined if Wii UI in use]) + AC_DEFINE([USE_WIDGET], 1, [Defined if we're using a widget-based UI]) + AC_DEFINE([USE_JOYSTICK], 1, [Defined if we're using hardware joysticks]) + UI=wii; WIDGET=widget; + UI_LIBS="ui/wii/libuiwii.a ui/widget/libwidget.a" + target_os=wii + dnl Look for libgpm (default=yes) + AC_MSG_CHECKING(whether gpm requested) + AC_ARG_WITH(gpm, + [ --without-gpm don't use libgpm for e.g. Kempston mouse], + if test "$withval" = no; then gpm=no; else gpm=yes; fi, + gpm=yes) + AC_MSG_RESULT($gpm) + dnl Note: we use libdl to get libgpm at runtime + if test "$gpm" = yes; then + AC_CHECK_HEADER(gpm.h, + UI_LIBS="$UI_LIBS -ldl"; + AC_DEFINE([HAVE_GPM_H], 1, [Defined if gpm in use]), + AC_MSG_ERROR([libgpm not found])) + fi + fi +fi + dnl Look for SDL (default=no) if test -z "$UI"; then AC_MSG_CHECKING(whether SDL UI requested) @@ -227,6 +260,7 @@ AC_SUBST(UI) AC_SUBST(UI_LIBS) AC_SUBST(WIDGET) +AM_CONDITIONAL(WIDGET, test x$WIDGET != x) # If we're not using GTK+, must either find glib or use the replacement... [truncated message content] |
From: <fr...@us...> - 2009-06-24 09:53:13
|
Revision: 597 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=597&view=rev Author: fredm Date: 2009-06-24 09:52:27 +0000 (Wed, 24 Jun 2009) Log Message: ----------- Correct check for Beta128 being enabled in disk open dialog. Modified Paths: -------------- trunk/fuse/fusepb/controllers/FuseController.m Modified: trunk/fuse/fusepb/controllers/FuseController.m =================================================================== --- trunk/fuse/fusepb/controllers/FuseController.m 2009-06-13 13:22:52 UTC (rev 596) +++ trunk/fuse/fusepb/controllers/FuseController.m 2009-06-24 09:52:27 UTC (rev 597) @@ -1617,7 +1617,7 @@ if( machine_current->machine == LIBSPECTRUM_MACHINE_PLUS3 ) { [[DisplayOpenGLView instance] specplus3DiskInsertNew:drive]; - } else if( beta_active ) { + } else if( periph_beta128_active ) { [[DisplayOpenGLView instance] betaDiskInsertNew:drive]; } else { [[DisplayOpenGLView instance] plusdDiskInsertNew:drive]; @@ -1636,13 +1636,13 @@ if( machine_current->machine == LIBSPECTRUM_MACHINE_PLUS3 ) { fileTypes = plus3FileTypes; - } else if( beta_active ) { + } else if( periph_beta128_active ) { fileTypes = betaFileTypes; } else { fileTypes = plusdFileTypes; } - if( machine_current->machine == LIBSPECTRUM_MACHINE_PLUS3 || beta_active ) { + if( machine_current->machine == LIBSPECTRUM_MACHINE_PLUS3 || periph_beta128_active ) { message = ( drive == SPECPLUS3_DRIVE_A ? @"Insert disk into drive A:" : @"Insert disk into drive B:" ); } else { @@ -1658,7 +1658,7 @@ if( machine_current->machine == LIBSPECTRUM_MACHINE_PLUS3 ) { [[DisplayOpenGLView instance] specplus3DiskInsert:filename inDrive:drive]; - } else if( beta_active ) { + } else if( periph_beta128_active ) { [[DisplayOpenGLView instance] betaDiskInsert:filename inDrive:drive]; } else { [[DisplayOpenGLView instance] plusdDiskInsert:filename inDrive:drive]; @@ -2099,7 +2099,7 @@ [[DisplayOpenGLView instance] pause]; if( machine_current->machine == LIBSPECTRUM_MACHINE_PLUS3 ) { [[DisplayOpenGLView instance] specplus3DiskEject:drive saveFirst:write]; - } else if( beta_active ) { + } else if( periph_beta128_active ) { [[DisplayOpenGLView instance] betaDiskEject:drive saveFirst:write]; } else { [[DisplayOpenGLView instance] plusdDiskEject:drive saveFirst:write]; @@ -2113,7 +2113,7 @@ [[DisplayOpenGLView instance] pause]; if( machine_current->machine == LIBSPECTRUM_MACHINE_PLUS3 ) { [[DisplayOpenGLView instance] specplus3DiskWriteProtect:drive protect:wrprot]; - } else if( beta_active ) { + } else if( periph_beta128_active ) { [[DisplayOpenGLView instance] betaDiskWriteProtect:drive protect:wrprot]; } else { [[DisplayOpenGLView instance] plusdDiskWriteProtect:drive protect:wrprot]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2009-06-13 13:22:56
|
Revision: 596 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=596&view=rev Author: fredm Date: 2009-06-13 13:22:52 +0000 (Sat, 13 Jun 2009) Log Message: ----------- Fix mass storage preference setting. Modified Paths: -------------- trunk/fuse/fusepb/controllers/PreferencesController.m trunk/fuse/fusepb/nibs/Preferences.nib/designable.nib trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib Modified: trunk/fuse/fusepb/controllers/PreferencesController.m =================================================================== --- trunk/fuse/fusepb/controllers/PreferencesController.m 2009-03-15 11:34:01 UTC (rev 595) +++ trunk/fuse/fusepb/controllers/PreferencesController.m 2009-06-13 13:22:52 UTC (rev 596) @@ -336,6 +336,7 @@ settings_current.zxcf_active = 0; settings_current.divide_enabled = 0; settings_current.plusd = 0; + settings_current.beta128 = 0; // Read mass storage type box and set text boxes appropriately switch( [[massStorageType selectedCell] tag] ) { @@ -372,6 +373,9 @@ [currentValues setObject:[NSNumber numberWithBool:settings_current.zxcf_active ? YES : NO] forKey:@"zxcf"]; [currentValues setObject:[NSNumber numberWithBool:settings_current.divide_enabled ? YES : NO] forKey:@"divide"]; [currentValues setObject:[NSNumber numberWithBool:settings_current.plusd ? YES : NO] forKey:@"plusd"]; + [currentValues setObject:[NSNumber numberWithBool:settings_current.beta128 ? YES : NO] forKey:@"beta128"]; + + [currentValues synchronize]; } - (IBAction)selectPrefPanel:(id)item Modified: trunk/fuse/fusepb/nibs/Preferences.nib/designable.nib =================================================================== --- trunk/fuse/fusepb/nibs/Preferences.nib/designable.nib 2009-03-15 11:34:01 UTC (rev 595) +++ trunk/fuse/fusepb/nibs/Preferences.nib/designable.nib 2009-06-13 13:22:52 UTC (rev 596) @@ -2,15 +2,14 @@ <archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.02"> <data> <int key="IBDocument.SystemTarget">1050</int> - <string key="IBDocument.SystemVersion">9G55</string> + <string key="IBDocument.SystemVersion">9J61</string> <string key="IBDocument.InterfaceBuilderVersion">672</string> - <string key="IBDocument.AppKitVersion">949.43</string> + <string key="IBDocument.AppKitVersion">949.46</string> <string key="IBDocument.HIToolboxVersion">353.00</string> <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> <bool key="EncodedWithXMLCoder">YES</bool> <integer value="6"/> - <integer value="1634"/> - <integer value="1686"/> + <integer value="1434"/> </object> <object class="NSArray" key="IBDocument.PluginDependencies"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -498,7 +497,7 @@ <string>-#,##0.00</string> <integer value="3" id="11"/> <string>#,##0%</string> - <integer value="1" id="5"/> + <integer value="1"/> </object> </object> <string key="NS.positiveformat">#,##0%</string> @@ -924,7 +923,7 @@ <string key="NSClassName">NSView</string> </object> <object class="NSCustomView" id="649138232"> - <nil key="NSNextResponder"/> + <reference key="NSNextResponder"/> <int key="NSvFlags">268</int> <object class="NSMutableArray" key="NSSubviews"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -1012,7 +1011,7 @@ <object class="NSMutableArray" key="NSCells"> <bool key="EncodedWithXMLCoder">YES</bool> <object class="NSButtonCell" id="949804708"> - <int key="NSCellFlags">-2080244224</int> + <int key="NSCellFlags">67239424</int> <int key="NSCellFlags2">0</int> <string key="NSContents">None</string> <reference key="NSSupport" ref="447006373"/> @@ -1316,7 +1315,7 @@ <int key="NSPeriodicInterval">75</int> </object> <object class="NSButtonCell" id="1012887743"> - <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags">-2080244224</int> <int key="NSCellFlags2">0</int> <string key="NSContents">+D</string> <reference key="NSSupport" ref="447006373"/> @@ -1348,7 +1347,7 @@ </object> <string key="NSCellSize">{138, 18}</string> <string key="NSIntercellSpacing">{4, 2}</string> - <int key="NSMatrixFlags">1076363264</int> + <int key="NSMatrixFlags">1076371456</int> <string key="NSCellClass">NSActionCell</string> <object class="NSButtonCell" key="NSProtoCell" id="339918975"> <int key="NSCellFlags">67239424</int> @@ -1467,7 +1466,8 @@ <int key="NSPeriodicDelay">400</int> <int key="NSPeriodicInterval">75</int> </object> - <reference key="NSSelectedCell" ref="949804708"/> + <int key="NSSelectedRow">6</int> + <reference key="NSSelectedCell" ref="1012887743"/> <reference key="NSBackgroundColor" ref="519317542"/> <reference key="NSCellBackgroundColor" ref="70288484"/> <reference key="NSFont" ref="447006373"/> @@ -1857,6 +1857,7 @@ </object> </object> <string key="NSFrameSize">{627, 357}</string> + <reference key="NSSuperview"/> <string key="NSClassName">NSView</string> </object> <object class="NSCustomView" id="76952719"> @@ -2610,7 +2611,7 @@ <string key="NSClassName">NSView</string> </object> <object class="NSCustomView" id="754180095"> - <reference key="NSNextResponder"/> + <nil key="NSNextResponder"/> <int key="NSvFlags">268</int> <object class="NSMutableArray" key="NSSubviews"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -2895,7 +2896,6 @@ </object> <string key="NSFrame">{{1, 17}, {135, 285}}</string> <reference key="NSSuperview" ref="566011316"/> - <reference key="NSNextKeyView" ref="943696205"/> <reference key="NSDocView" ref="943696205"/> <object class="NSColor" key="NSBGColor" id="737258101"> <int key="NSColorSpace">6</int> @@ -2933,7 +2933,6 @@ </object> <string key="NSFrame">{{1, 0}, {135, 17}}</string> <reference key="NSSuperview" ref="566011316"/> - <reference key="NSNextKeyView" ref="553095130"/> <reference key="NSDocView" ref="553095130"/> <reference key="NSBGColor" ref="737258101"/> <int key="NScvFlags">4</int> @@ -2942,7 +2941,6 @@ </object> <string key="NSFrame">{{-149, 171}, {137, 303}}</string> <reference key="NSSuperview" ref="754180095"/> - <reference key="NSNextKeyView" ref="282183276"/> <int key="NSsFlags">530</int> <reference key="NSVScroller" ref="21276403"/> <reference key="NSHScroller" ref="566456437"/> @@ -3309,7 +3307,6 @@ </object> <string key="NSFrame">{{1, 17}, {135, 285}}</string> <reference key="NSSuperview" ref="213294653"/> - <reference key="NSNextKeyView" ref="968324611"/> <reference key="NSDocView" ref="968324611"/> <reference key="NSBGColor" ref="737258101"/> <int key="NScvFlags">4</int> @@ -3342,7 +3339,6 @@ </object> <string key="NSFrame">{{1, 0}, {135, 17}}</string> <reference key="NSSuperview" ref="213294653"/> - <reference key="NSNextKeyView" ref="124993651"/> <reference key="NSDocView" ref="124993651"/> <reference key="NSBGColor" ref="737258101"/> <int key="NScvFlags">4</int> @@ -3351,7 +3347,6 @@ </object> <string key="NSFrame">{{20, 20}, {137, 303}}</string> <reference key="NSSuperview" ref="754180095"/> - <reference key="NSNextKeyView" ref="213905161"/> <int key="NSsFlags">530</int> <reference key="NSVScroller" ref="206422628"/> <reference key="NSHScroller" ref="805562937"/> @@ -3460,11 +3455,10 @@ </object> </object> <string key="NSFrameSize">{627, 343}</string> - <reference key="NSSuperview"/> <string key="NSClassName">NSView</string> </object> <object class="NSCustomView" id="453171511"> - <reference key="NSNextResponder"/> + <nil key="NSNextResponder"/> <int key="NSvFlags">268</int> <object class="NSMutableArray" key="NSSubviews"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -4003,7 +3997,6 @@ </object> </object> <string key="NSFrameSize">{627, 338}</string> - <reference key="NSSuperview"/> <string key="NSClassName">NSView</string> </object> <object class="NSCustomView" id="462167203"> @@ -4977,14 +4970,6 @@ <int key="connectionID">1431</int> </object> <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">massStorageTypeClicked:</string> - <reference key="source" ref="363526684"/> - <reference key="destination" ref="264588948"/> - </object> - <int key="connectionID">1473</int> - </object> - <object class="IBConnectionRecord"> <object class="IBBindingConnection" key="connection"> <string key="label">value: values.zxataspupload</string> <reference key="source" ref="239128066"/> @@ -6480,13 +6465,77 @@ <string key="NSKeyPath">arrangedObjects.machine.machineName</string> <object class="NSDictionary" key="NSOptions"> <string key="NS.key.0">NSConditionallySetsEditable</string> - <reference key="NS.object.0" ref="5"/> + <reference key="NS.object.0" ref="9"/> </object> <int key="NSNibBindingConnectorVersion">2</int> </object> </object> <int key="connectionID">1822</int> </object> + <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">massStorageTypeClicked:</string> + <reference key="source" ref="363526684"/> + <reference key="destination" ref="949804708"/> + </object> + <int key="connectionID">1823</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">massStorageTypeClicked:</string> + <reference key="source" ref="363526684"/> + <reference key="destination" ref="1035080357"/> + </object> + <int key="connectionID">1824</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">massStorageTypeClicked:</string> + <reference key="source" ref="363526684"/> + <reference key="destination" ref="225396391"/> + </object> + <int key="connectionID">1825</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">massStorageTypeClicked:</string> + <reference key="source" ref="363526684"/> + <reference key="destination" ref="264588948"/> + </object> + <int key="connectionID">1826</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">massStorageTypeClicked:</string> + <reference key="source" ref="363526684"/> + <reference key="destination" ref="644631450"/> + </object> + <int key="connectionID">1827</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">massStorageTypeClicked:</string> + <reference key="source" ref="363526684"/> + <reference key="destination" ref="501269470"/> + </object> + <int key="connectionID">1828</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">massStorageTypeClicked:</string> + <reference key="source" ref="363526684"/> + <reference key="destination" ref="1012887743"/> + </object> + <int key="connectionID">1829</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">massStorageTypeClicked:</string> + <reference key="source" ref="363526684"/> + <reference key="destination" ref="1030817909"/> + </object> + <int key="connectionID">1830</int> + </object> </object> <object class="IBMutableOrderedSet" key="objectRecords"> <object class="NSArray" key="orderedObjects"> @@ -9254,7 +9303,7 @@ </object> </object> <nil key="sourceID"/> - <int key="maxID">1822</int> + <int key="maxID">1830</int> </object> <object class="IBClassDescriber" key="IBDocument.Classes"> <object class="NSMutableArray" key="referencedPartialClassDescriptions"> Modified: trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib =================================================================== --- trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib 2009-03-15 11:34:01 UTC (rev 595) +++ trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib 2009-06-13 13:22:52 UTC (rev 596) @@ -1,294 +1,452 @@ bplist00\xD4 |
From: <fr...@us...> - 2009-03-15 11:34:04
|
Revision: 595 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=595&view=rev Author: fredm Date: 2009-03-15 11:34:01 +0000 (Sun, 15 Mar 2009) Log Message: ----------- Fix Joystick configurator dialog. Modified Paths: -------------- trunk/fuse/fusepb/controllers/JoystickConfigurationController.m Modified: trunk/fuse/fusepb/controllers/JoystickConfigurationController.m =================================================================== --- trunk/fuse/fusepb/controllers/JoystickConfigurationController.m 2009-02-04 11:40:57 UTC (rev 594) +++ trunk/fuse/fusepb/controllers/JoystickConfigurationController.m 2009-03-15 11:34:01 UTC (rev 595) @@ -105,34 +105,36 @@ - (IBAction)apply:(id)sender; { + NSUserDefaults *currentValues = [NSUserDefaults standardUserDefaults]; + switch(joyNum) { case 1: - settings_current.joystick_1_fire_1 = [[joyFire1 selectedItem] tag]; - settings_current.joystick_1_fire_2 = [[joyFire2 selectedItem] tag]; - settings_current.joystick_1_fire_3 = [[joyFire3 selectedItem] tag]; - settings_current.joystick_1_fire_4 = [[joyFire4 selectedItem] tag]; - settings_current.joystick_1_fire_5 = [[joyFire5 selectedItem] tag]; - settings_current.joystick_1_fire_6 = [[joyFire6 selectedItem] tag]; - settings_current.joystick_1_fire_7 = [[joyFire7 selectedItem] tag]; - settings_current.joystick_1_fire_8 = [[joyFire8 selectedItem] tag]; - settings_current.joystick_1_fire_9 = [[joyFire9 selectedItem] tag]; - settings_current.joystick_1_fire_10 = [[joyFire10 selectedItem] tag]; - settings_current.joy1_xaxis = [[joyXAxis selectedItem] tag]; - settings_current.joy1_yaxis = [[joyYAxis selectedItem] tag]; + [currentValues setObject:[NSNumber numberWithInteger:[[joyFire1 selectedItem] tag]] forKey:@"joystick1fire1"]; + [currentValues setObject:[NSNumber numberWithInteger:[[joyFire2 selectedItem] tag]] forKey:@"joystick1fire2"]; + [currentValues setObject:[NSNumber numberWithInteger:[[joyFire3 selectedItem] tag]] forKey:@"joystick1fire3"]; + [currentValues setObject:[NSNumber numberWithInteger:[[joyFire4 selectedItem] tag]] forKey:@"joystick1fire4"]; + [currentValues setObject:[NSNumber numberWithInteger:[[joyFire5 selectedItem] tag]] forKey:@"joystick1fire5"]; + [currentValues setObject:[NSNumber numberWithInteger:[[joyFire6 selectedItem] tag]] forKey:@"joystick1fire6"]; + [currentValues setObject:[NSNumber numberWithInteger:[[joyFire7 selectedItem] tag]] forKey:@"joystick1fire7"]; + [currentValues setObject:[NSNumber numberWithInteger:[[joyFire8 selectedItem] tag]] forKey:@"joystick1fire8"]; + [currentValues setObject:[NSNumber numberWithInteger:[[joyFire9 selectedItem] tag]] forKey:@"joystick1fire9"]; + [currentValues setObject:[NSNumber numberWithInteger:[[joyFire10 selectedItem] tag]] forKey:@"joystick1fire10"]; + [currentValues setObject:[NSNumber numberWithInteger:[[joyXAxis selectedItem] tag]] forKey:@"joy1x"]; + [currentValues setObject:[NSNumber numberWithInteger:[[joyYAxis selectedItem] tag]] forKey:@"joy1y"]; break; case 2: - settings_current.joystick_2_fire_1 = [[joyFire1 selectedItem] tag]; - settings_current.joystick_2_fire_2 = [[joyFire2 selectedItem] tag]; - settings_current.joystick_2_fire_3 = [[joyFire3 selectedItem] tag]; - settings_current.joystick_2_fire_4 = [[joyFire4 selectedItem] tag]; - settings_current.joystick_2_fire_5 = [[joyFire5 selectedItem] tag]; - settings_current.joystick_2_fire_6 = [[joyFire6 selectedItem] tag]; - settings_current.joystick_2_fire_7 = [[joyFire7 selectedItem] tag]; - settings_current.joystick_2_fire_8 = [[joyFire8 selectedItem] tag]; - settings_current.joystick_2_fire_9 = [[joyFire9 selectedItem] tag]; - settings_current.joystick_2_fire_10 = [[joyFire10 selectedItem] tag]; - settings_current.joy2_xaxis = [[joyXAxis selectedItem] tag]; - settings_current.joy2_yaxis = [[joyYAxis selectedItem] tag]; + [currentValues setObject:[NSNumber numberWithInteger:[[joyFire1 selectedItem] tag]] forKey:@"joystick2fire1"]; + [currentValues setObject:[NSNumber numberWithInteger:[[joyFire2 selectedItem] tag]] forKey:@"joystick2fire2"]; + [currentValues setObject:[NSNumber numberWithInteger:[[joyFire3 selectedItem] tag]] forKey:@"joystick2fire3"]; + [currentValues setObject:[NSNumber numberWithInteger:[[joyFire4 selectedItem] tag]] forKey:@"joystick2fire4"]; + [currentValues setObject:[NSNumber numberWithInteger:[[joyFire5 selectedItem] tag]] forKey:@"joystick2fire5"]; + [currentValues setObject:[NSNumber numberWithInteger:[[joyFire6 selectedItem] tag]] forKey:@"joystick2fire6"]; + [currentValues setObject:[NSNumber numberWithInteger:[[joyFire7 selectedItem] tag]] forKey:@"joystick2fire7"]; + [currentValues setObject:[NSNumber numberWithInteger:[[joyFire8 selectedItem] tag]] forKey:@"joystick2fire8"]; + [currentValues setObject:[NSNumber numberWithInteger:[[joyFire9 selectedItem] tag]] forKey:@"joystick2fire9"]; + [currentValues setObject:[NSNumber numberWithInteger:[[joyFire10 selectedItem] tag]] forKey:@"joystick2fire10"]; + [currentValues setObject:[NSNumber numberWithInteger:[[joyXAxis selectedItem] tag]] forKey:@"joy2x"]; + [currentValues setObject:[NSNumber numberWithInteger:[[joyYAxis selectedItem] tag]] forKey:@"joy2y"]; break; default: assert(0); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2009-02-04 12:14:20
|
Revision: 594 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=594&view=rev Author: fredm Date: 2009-02-04 11:40:57 +0000 (Wed, 04 Feb 2009) Log Message: ----------- Add pause menu option. Modified Paths: -------------- trunk/fuse/fusepb/controllers/FuseController.h trunk/fuse/fusepb/controllers/FuseController.m trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib Modified: trunk/fuse/fusepb/controllers/FuseController.h =================================================================== --- trunk/fuse/fusepb/controllers/FuseController.h 2009-01-18 01:44:51 UTC (rev 593) +++ trunk/fuse/fusepb/controllers/FuseController.h 2009-02-04 11:40:57 UTC (rev 594) @@ -66,6 +66,7 @@ IBOutlet NSMenuItem *simple8Bit; IBOutlet NSMenuItem *zxatasp; IBOutlet NSMenuItem *zxcf; + IBOutlet NSMenuItem *pause; IBOutlet NSMenuItem *tapePlay; IBOutlet NSMenuItem *tapeRecord; IBOutlet NSMenu *recentSnaps; @@ -115,6 +116,7 @@ - (IBAction)nmi:(id)sender; - (IBAction)open:(id)sender; - (IBAction)open_screen:(id)sender; +- (IBAction)pause:(id)sender; - (IBAction)profiler_start:(id)sender; - (IBAction)profiler_stop:(id)sender; - (IBAction)psg_start:(id)sender; @@ -226,6 +228,7 @@ - (void)setDiskState:(NSNumber*)state; - (void)setTapeState:(NSNumber*)state; - (void)setMdrState:(NSNumber*)state; +- (void)setPauseState; - (void)showAlertPanel:(NSString*)message; - (void)showCriticalAlertPanel:(NSString*)message; Modified: trunk/fuse/fusepb/controllers/FuseController.m =================================================================== --- trunk/fuse/fusepb/controllers/FuseController.m 2009-01-18 01:44:51 UTC (rev 593) +++ trunk/fuse/fusepb/controllers/FuseController.m 2009-02-04 11:40:57 UTC (rev 594) @@ -30,6 +30,7 @@ #include <string.h> #include <ctype.h> +#import "DebuggerController.h" #import "FuseController.h" #import "KeyboardController.h" #import "LoadBinaryController.h" @@ -42,6 +43,7 @@ #import "DisplayOpenGLView.h" +#include "debugger/debugger.h" #include "event.h" #include "fuse.h" #include "if1.h" @@ -52,6 +54,7 @@ #include "settings_cocoa.h" #include "snapshot.h" #include "tape.h" +#include "timer.h" #include "ui.h" #include "uidisplay.h" #include "utils.h" @@ -99,6 +102,9 @@ static int profileStop = 0; static int playTape = 1; +/* True if we were paused via the Machine/Pause menu item */ +static int paused = 0; + static NSMutableArray *allFileTypes = nil; static NSMutableArray *dckFileTypes = nil; static NSMutableArray *ideFileTypes = nil; @@ -670,6 +676,31 @@ [[DisplayOpenGLView instance] unpause]; } +- (IBAction)pause:(id)sender +{ + int error; + + if( paused ) { + paused = 0; + ui_statusbar_update( UI_STATUSBAR_ITEM_PAUSED, + UI_STATUSBAR_STATE_INACTIVE ); + timer_estimate_reset(); + [[DisplayOpenGLView instance] unpause]; + } else { + [[DisplayOpenGLView instance] pause]; + + /* Stop recording any competition mode RZX file */ + if( rzx_recording && rzx_competition_mode ) { + ui_error( UI_ERROR_INFO, "Stopping competition mode RZX recording" ); + error = rzx_stop_recording(); if( error ) return; + } + + paused = 1; + ui_statusbar_update( UI_STATUSBAR_ITEM_PAUSED, UI_STATUSBAR_STATE_ACTIVE ); + } + [self setPauseState]; +} + - (IBAction)profiler_start:(id)sender { [[DisplayOpenGLView instance] profileStart]; @@ -821,7 +852,14 @@ - (IBAction)cocoa_break:(id)sender { - [[DisplayOpenGLView instance] cocoaBreak]; + if ( paused ) { + debugger_mode = DEBUGGER_MODE_HALTED; + paused = 0; + [[DebuggerController singleton] debugger_activate:nil]; + } else { + [[DisplayOpenGLView instance] cocoaBreak]; + } + [self setPauseState]; } - (IBAction)showRollbackPane:(id)sender @@ -1644,6 +1682,11 @@ { } +- (void)setPauseState +{ + [pause setTitle:paused ? @"Resume" : @"Pause"]; +} + - (void)showAlertPanel:(NSString*)message { NSRunAlertPanel(@"Fuse - Info", message, nil, nil, nil); Modified: trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib =================================================================== --- trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib 2009-01-18 01:44:51 UTC (rev 593) +++ trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib 2009-02-04 11:40:57 UTC (rev 594) @@ -1,125 +1,246 @@ -{ - IBClasses = ( - { - ACTIONS = { - fullscreen = id; - zoom = id; - }; - CLASS = DisplayOpenGLView; - LANGUAGE = ObjC; - SUPERCLASS = NSOpenGLView; - }, - { - CLASS = FirstResponder; - LANGUAGE = ObjC; - SUPERCLASS = NSObject; - }, - { - ACTIONS = { - "cocoa_break" = id; - "disk_eject_a" = id; - "disk_eject_b" = id; - "disk_eject_write_a" = id; - "disk_eject_write_b" = id; - "disk_new_a" = id; - "disk_new_b" = id; - "disk_open_a" = id; - "disk_open_b" = id; - "disk_write_protect_a" = id; - "disk_write_protect_b" = id; - "dock_eject" = id; - "dock_open" = id; - "export_screen" = id; - fullscreen = id; - "hard_reset" = id; - help = id; - hide = id; - "ide_commit" = id; - "ide_eject" = id; - "ide_insert" = id; - "if2_eject" = id; - "if2_open" = id; - "joystick_keyboard" = id; - "mdr_eject" = id; - "mdr_eject_write" = id; - "mdr_insert" = id; - "mdr_insert_new" = id; - "mdr_writep" = id; - nmi = id; - open = id; - openRecent = id; - "open_screen" = id; - "profiler_start" = id; - "profiler_stop" = id; - "psg_start" = id; - "psg_stop" = id; - quit = id; - reset = id; - resetUserDefaults = id; - "rzx_insert_snap" = id; - "rzx_play" = id; - "rzx_rollback" = id; - "rzx_start" = id; - "rzx_start_snap" = id; - "rzx_stop" = id; - saveFileTypeClicked = id; - "save_as" = id; - "save_options" = id; - "save_screen" = id; - showKeyboardPane = id; - showLoadBinaryPane = id; - showMemoryBrowserPane = id; - showPokeFinderPane = id; - showPreferencesPane = id; - showRollbackPane = id; - showSaveBinaryPane = id; - showTapeBrowserPane = id; - "tape_clear" = id; - "tape_open" = id; - "tape_play" = id; - "tape_record" = id; - "tape_rewind" = id; - "tape_write" = id; - }; - CLASS = FuseController; - LANGUAGE = ObjC; - OUTLETS = { - cart = NSMenuItem; - disk = NSMenuItem; - diskPlus3 = NSMenuItem; - diskPlus3WpA = NSMenuItem; - diskPlus3WpB = NSMenuItem; - diskPlusD = NSMenuItem; - diskPlusDWpA = NSMenuItem; - diskPlusDWpB = NSMenuItem; - diskTrDos = NSMenuItem; - diskTrDosWpA = NSMenuItem; - diskTrDosWpB = NSMenuItem; - divide = NSMenuItem; - dock = NSMenuItem; - ide = NSMenuItem; - if1 = NSMenuItem; - if1Wp1 = NSMenuItem; - if1Wp2 = NSMenuItem; - if1Wp3 = NSMenuItem; - if1Wp4 = NSMenuItem; - if1Wp5 = NSMenuItem; - if1Wp6 = NSMenuItem; - if1Wp7 = NSMenuItem; - if1Wp8 = NSMenuItem; - if2 = NSMenuItem; - recentSnaps = NSMenu; - saveFileType = NSPopUpButton; - savePanelAccessoryView = id; - simple8Bit = NSMenuItem; - tapePlay = NSMenuItem; - tapeRecord = NSMenuItem; - window = NSWindow; - zxatasp = NSMenuItem; - zxcf = NSMenuItem; - }; - SUPERCLASS = NSObject; - } - ); - IBVersion = 1; -} \ No newline at end of file +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>IBClasses</key> + <array> + <dict> + <key>ACTIONS</key> + <dict> + <key>fullscreen</key> + <string>id</string> + <key>zoom</key> + <string>id</string> + </dict> + <key>CLASS</key> + <string>DisplayOpenGLView</string> + <key>LANGUAGE</key> + <string>ObjC</string> + <key>SUPERCLASS</key> + <string>NSOpenGLView</string> + </dict> + <dict> + <key>CLASS</key> + <string>FirstResponder</string> + <key>LANGUAGE</key> + <string>ObjC</string> + <key>SUPERCLASS</key> + <string>NSObject</string> + </dict> + <dict> + <key>ACTIONS</key> + <dict> + <key>cocoa_break</key> + <string>id</string> + <key>disk_eject_a</key> + <string>id</string> + <key>disk_eject_b</key> + <string>id</string> + <key>disk_eject_write_a</key> + <string>id</string> + <key>disk_eject_write_b</key> + <string>id</string> + <key>disk_new_a</key> + <string>id</string> + <key>disk_new_b</key> + <string>id</string> + <key>disk_open_a</key> + <string>id</string> + <key>disk_open_b</key> + <string>id</string> + <key>disk_write_protect_a</key> + <string>id</string> + <key>disk_write_protect_b</key> + <string>id</string> + <key>dock_eject</key> + <string>id</string> + <key>dock_open</key> + <string>id</string> + <key>export_screen</key> + <string>id</string> + <key>fullscreen</key> + <string>id</string> + <key>hard_reset</key> + <string>id</string> + <key>help</key> + <string>id</string> + <key>hide</key> + <string>id</string> + <key>ide_commit</key> + <string>id</string> + <key>ide_eject</key> + <string>id</string> + <key>ide_insert</key> + <string>id</string> + <key>if2_eject</key> + <string>id</string> + <key>if2_open</key> + <string>id</string> + <key>joystick_keyboard</key> + <string>id</string> + <key>mdr_eject</key> + <string>id</string> + <key>mdr_eject_write</key> + <string>id</string> + <key>mdr_insert</key> + <string>id</string> + <key>mdr_insert_new</key> + <string>id</string> + <key>mdr_writep</key> + <string>id</string> + <key>nmi</key> + <string>id</string> + <key>open</key> + <string>id</string> + <key>openRecent</key> + <string>id</string> + <key>open_screen</key> + <string>id</string> + <key>pause</key> + <string>id</string> + <key>profiler_start</key> + <string>id</string> + <key>profiler_stop</key> + <string>id</string> + <key>psg_start</key> + <string>id</string> + <key>psg_stop</key> + <string>id</string> + <key>quit</key> + <string>id</string> + <key>reset</key> + <string>id</string> + <key>resetUserDefaults</key> + <string>id</string> + <key>rzx_insert_snap</key> + <string>id</string> + <key>rzx_play</key> + <string>id</string> + <key>rzx_rollback</key> + <string>id</string> + <key>rzx_start</key> + <string>id</string> + <key>rzx_start_snap</key> + <string>id</string> + <key>rzx_stop</key> + <string>id</string> + <key>saveFileTypeClicked</key> + <string>id</string> + <key>save_as</key> + <string>id</string> + <key>save_options</key> + <string>id</string> + <key>save_screen</key> + <string>id</string> + <key>showKeyboardPane</key> + <string>id</string> + <key>showLoadBinaryPane</key> + <string>id</string> + <key>showMemoryBrowserPane</key> + <string>id</string> + <key>showPokeFinderPane</key> + <string>id</string> + <key>showPreferencesPane</key> + <string>id</string> + <key>showRollbackPane</key> + <string>id</string> + <key>showSaveBinaryPane</key> + <string>id</string> + <key>showTapeBrowserPane</key> + <string>id</string> + <key>tape_clear</key> + <string>id</string> + <key>tape_open</key> + <string>id</string> + <key>tape_play</key> + <string>id</string> + <key>tape_record</key> + <string>id</string> + <key>tape_rewind</key> + <string>id</string> + <key>tape_write</key> + <string>id</string> + </dict> + <key>CLASS</key> + <string>FuseController</string> + <key>LANGUAGE</key> + <string>ObjC</string> + <key>OUTLETS</key> + <dict> + <key>cart</key> + <string>NSMenuItem</string> + <key>disk</key> + <string>NSMenuItem</string> + <key>diskPlus3</key> + <string>NSMenuItem</string> + <key>diskPlus3WpA</key> + <string>NSMenuItem</string> + <key>diskPlus3WpB</key> + <string>NSMenuItem</string> + <key>diskPlusD</key> + <string>NSMenuItem</string> + <key>diskPlusDWpA</key> + <string>NSMenuItem</string> + <key>diskPlusDWpB</key> + <string>NSMenuItem</string> + <key>diskTrDos</key> + <string>NSMenuItem</string> + <key>diskTrDosWpA</key> + <string>NSMenuItem</string> + <key>diskTrDosWpB</key> + <string>NSMenuItem</string> + <key>divide</key> + <string>NSMenuItem</string> + <key>dock</key> + <string>NSMenuItem</string> + <key>ide</key> + <string>NSMenuItem</string> + <key>if1</key> + <string>NSMenuItem</string> + <key>if1Wp1</key> + <string>NSMenuItem</string> + <key>if1Wp2</key> + <string>NSMenuItem</string> + <key>if1Wp3</key> + <string>NSMenuItem</string> + <key>if1Wp4</key> + <string>NSMenuItem</string> + <key>if1Wp5</key> + <string>NSMenuItem</string> + <key>if1Wp6</key> + <string>NSMenuItem</string> + <key>if1Wp7</key> + <string>NSMenuItem</string> + <key>if1Wp8</key> + <string>NSMenuItem</string> + <key>if2</key> + <string>NSMenuItem</string> + <key>pause</key> + <string>NSMenuItem</string> + <key>recentSnaps</key> + <string>NSMenu</string> + <key>saveFileType</key> + <string>NSPopUpButton</string> + <key>savePanelAccessoryView</key> + <string>id</string> + <key>simple8Bit</key> + <string>NSMenuItem</string> + <key>tapePlay</key> + <string>NSMenuItem</string> + <key>tapeRecord</key> + <string>NSMenuItem</string> + <key>window</key> + <string>NSWindow</string> + <key>zxatasp</key> + <string>NSMenuItem</string> + <key>zxcf</key> + <string>NSMenuItem</string> + </dict> + <key>SUPERCLASS</key> + <string>NSObject</string> + </dict> + </array> + <key>IBVersion</key> + <string>1</string> +</dict> +</plist> Modified: trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib =================================================================== --- trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib 2009-01-18 01:44:51 UTC (rev 593) +++ trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib 2009-02-04 11:40:57 UTC (rev 594) @@ -2,21 +2,20 @@ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> - <key>IBDocumentLocation</key> - <string>998 637 356 240 0 0 1440 878 </string> - <key>IBEditorPositions</key> - <dict> - <key>29</key> - <string>201 691 392 44 0 0 1440 878 </string> - </dict> <key>IBFramework Version</key> - <string>489.0</string> + <string>672</string> + <key>IBLastKnownRelativeProjectPath</key> + <string>../Fuse.xcodeproj</string> + <key>IBOldestOS</key> + <integer>5</integer> <key>IBOpenObjects</key> <array> <integer>877</integer> - <integer>29</integer> + <integer>323</integer> </array> <key>IBSystem Version</key> - <string>9C7010</string> + <string>9G55</string> + <key>targetFramework</key> + <string>IBCocoaFramework</string> </dict> </plist> Modified: trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2009-01-18 03:22:24
|
Revision: 593 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=593&view=rev Author: fredm Date: 2009-01-18 01:44:51 +0000 (Sun, 18 Jan 2009) Log Message: ----------- Make the TapeBrowser a NSPanel to stop it preventing Fuse from quitting if it was open at the time. Modified Paths: -------------- trunk/fuse/fusepb/nibs/TapeBrowser.nib/classes.nib trunk/fuse/fusepb/nibs/TapeBrowser.nib/info.nib trunk/fuse/fusepb/nibs/TapeBrowser.nib/keyedobjects.nib Modified: trunk/fuse/fusepb/nibs/TapeBrowser.nib/classes.nib =================================================================== --- trunk/fuse/fusepb/nibs/TapeBrowser.nib/classes.nib 2009-01-18 01:35:29 UTC (rev 592) +++ trunk/fuse/fusepb/nibs/TapeBrowser.nib/classes.nib 2009-01-18 01:44:51 UTC (rev 593) @@ -1,17 +1,43 @@ -{ - IBClasses = ( - {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, - { - ACTIONS = {apply = id; showWindow = id; }; - CLASS = TapeBrowserController; - LANGUAGE = ObjC; - OUTLETS = { - infoController = NSArrayController; - tapeBrowser = NSTableView; - tapeController = NSArrayController; - }; - SUPERCLASS = NSWindowController; - } - ); - IBVersion = 1; -} \ No newline at end of file +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>IBClasses</key> + <array> + <dict> + <key>ACTIONS</key> + <dict> + <key>apply</key> + <string>id</string> + <key>showWindow</key> + <string>id</string> + </dict> + <key>CLASS</key> + <string>TapeBrowserController</string> + <key>LANGUAGE</key> + <string>ObjC</string> + <key>OUTLETS</key> + <dict> + <key>infoController</key> + <string>NSArrayController</string> + <key>tapeBrowser</key> + <string>NSTableView</string> + <key>tapeController</key> + <string>NSArrayController</string> + </dict> + <key>SUPERCLASS</key> + <string>NSWindowController</string> + </dict> + <dict> + <key>CLASS</key> + <string>FirstResponder</string> + <key>LANGUAGE</key> + <string>ObjC</string> + <key>SUPERCLASS</key> + <string>NSObject</string> + </dict> + </array> + <key>IBVersion</key> + <string>1</string> +</dict> +</plist> Modified: trunk/fuse/fusepb/nibs/TapeBrowser.nib/info.nib =================================================================== --- trunk/fuse/fusepb/nibs/TapeBrowser.nib/info.nib 2009-01-18 01:35:29 UTC (rev 592) +++ trunk/fuse/fusepb/nibs/TapeBrowser.nib/info.nib 2009-01-18 01:44:51 UTC (rev 593) @@ -1,22 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> - <key>IBDocumentLocation</key> - <string>10 449 356 240 0 0 1024 746 </string> - <key>IBEditorPositions</key> - <dict> - <key>63</key> - <string>362 329 300 339 0 0 1024 746 </string> - </dict> <key>IBFramework Version</key> - <string>439.0</string> + <string>672</string> + <key>IBOldestOS</key> + <integer>5</integer> <key>IBOpenObjects</key> <array> <integer>61</integer> <integer>63</integer> </array> <key>IBSystem Version</key> - <string>8C46</string> + <string>9G55</string> + <key>targetFramework</key> + <string>IBCocoaFramework</string> </dict> </plist> Modified: trunk/fuse/fusepb/nibs/TapeBrowser.nib/keyedobjects.nib =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2009-01-18 03:22:20
|
Revision: 592 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=592&view=rev Author: fredm Date: 2009-01-18 01:35:29 +0000 (Sun, 18 Jan 2009) Log Message: ----------- Change the keyboard viewer to a panel rather than a window so it doesn't block Fuse from closing when quitting the emulator. Also make it resizable. Modified Paths: -------------- trunk/fuse/fusepb/controllers/KeyboardController.m trunk/fuse/fusepb/nibs/Keyboard.nib/classes.nib trunk/fuse/fusepb/nibs/Keyboard.nib/info.nib trunk/fuse/fusepb/nibs/Keyboard.nib/keyedobjects.nib Modified: trunk/fuse/fusepb/controllers/KeyboardController.m =================================================================== --- trunk/fuse/fusepb/controllers/KeyboardController.m 2009-01-15 20:42:25 UTC (rev 591) +++ trunk/fuse/fusepb/controllers/KeyboardController.m 2009-01-18 01:35:29 UTC (rev 592) @@ -62,6 +62,12 @@ [super dealloc]; } +-(void) awakeFromNib +{ + /* keep the window in the standard aspect ratio if the user resizes */ + [[self window] setContentAspectRatio:NSMakeSize(541.0,201.0)]; +} + - (void)showWindow:(id)sender { [super showWindow:sender]; Modified: trunk/fuse/fusepb/nibs/Keyboard.nib/classes.nib =================================================================== --- trunk/fuse/fusepb/nibs/Keyboard.nib/classes.nib 2009-01-15 20:42:25 UTC (rev 591) +++ trunk/fuse/fusepb/nibs/Keyboard.nib/classes.nib 2009-01-18 01:35:29 UTC (rev 592) @@ -1,12 +1,39 @@ -{ - IBClasses = ( - {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, - { - CLASS = KeyboardController; - LANGUAGE = ObjC; - OUTLETS = {keyboardView = NSImageView; }; - SUPERCLASS = NSWindowController; - } - ); - IBVersion = 1; -} \ No newline at end of file +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>IBClasses</key> + <array> + <dict> + <key>CLASS</key> + <string>FirstResponder</string> + <key>LANGUAGE</key> + <string>ObjC</string> + <key>SUPERCLASS</key> + <string>NSObject</string> + </dict> + <dict> + <key>ACTIONS</key> + <dict> + <key>showCloseWindow</key> + <string>id</string> + <key>showWindow</key> + <string>id</string> + </dict> + <key>CLASS</key> + <string>KeyboardController</string> + <key>LANGUAGE</key> + <string>ObjC</string> + <key>OUTLETS</key> + <dict> + <key>keyboardView</key> + <string>NSImageView</string> + </dict> + <key>SUPERCLASS</key> + <string>NSWindowController</string> + </dict> + </array> + <key>IBVersion</key> + <string>1</string> +</dict> +</plist> Modified: trunk/fuse/fusepb/nibs/Keyboard.nib/info.nib =================================================================== --- trunk/fuse/fusepb/nibs/Keyboard.nib/info.nib 2009-01-15 20:42:25 UTC (rev 591) +++ trunk/fuse/fusepb/nibs/Keyboard.nib/info.nib 2009-01-18 01:35:29 UTC (rev 592) @@ -1,16 +1,20 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> - <key>IBDocumentLocation</key> - <string>153 73 356 240 0 0 1152 746 </string> <key>IBFramework Version</key> - <string>349.0</string> + <string>672</string> + <key>IBLastKnownRelativeProjectPath</key> + <string>../Fuse.xcodeproj</string> + <key>IBOldestOS</key> + <integer>5</integer> <key>IBOpenObjects</key> <array> - <integer>5</integer> + <integer>15</integer> </array> <key>IBSystem Version</key> - <string>7D24</string> + <string>9G55</string> + <key>targetFramework</key> + <string>IBCocoaFramework</string> </dict> </plist> Modified: trunk/fuse/fusepb/nibs/Keyboard.nib/keyedobjects.nib =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2009-01-15 20:42:52
|
Revision: 591 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=591&view=rev Author: fredm Date: 2009-01-15 20:42:25 +0000 (Thu, 15 Jan 2009) Log Message: ----------- Add GNU style changelog. Added Paths: ----------- tags/Release-0_10_0_2/ChangeLog Added: tags/Release-0_10_0_2/ChangeLog =================================================================== --- tags/Release-0_10_0_2/ChangeLog (rev 0) +++ tags/Release-0_10_0_2/ChangeLog 2009-01-15 20:42:25 UTC (rev 591) @@ -0,0 +1,7357 @@ +2009-01-15 20:31 fredm + + * .: Tag 0.10.0.2 release. + +2009-01-15 11:54 fredm + + * branches/Release-0_10_0-branch/fuse/ChangeLog, + branches/Release-0_10_0-branch/fuse/README, + branches/Release-0_10_0-branch/fuse/disk/disk.c, + branches/Release-0_10_0-branch/fuse/disk/fdd.c, + branches/Release-0_10_0-branch/fuse/disk/plusd.c, + branches/Release-0_10_0-branch/fuse/event.c, + branches/Release-0_10_0-branch/fuse/event.h, + branches/Release-0_10_0-branch/fuse/fuse.c, + branches/Release-0_10_0-branch/fuse/fusepb/Info-Fuse.plist, + branches/Release-0_10_0-branch/fuse/fusepb/config.h, + branches/Release-0_10_0-branch/fuse/fusepb/resources/Fuse + Help/html/changelog.html, + branches/Release-0_10_0-branch/fuse/hacking/ChangeLog, + branches/Release-0_10_0-branch/fuse/hacking/cvs-tags, + branches/Release-0_10_0-branch/fuse/loader.c, + branches/Release-0_10_0-branch/fuse/man/fuse.1, + branches/Release-0_10_0-branch/fuse/ui/widget/options-header.pl, + branches/Release-0_10_0-branch/fuse/ui/widget/query.c, + branches/Release-0_10_0-branch/libspectrum/config.h, + branches/Release-0_10_0-branch/libspectrum/libspectrum/ChangeLog, + branches/Release-0_10_0-branch/libspectrum/libspectrum/README, + branches/Release-0_10_0-branch/libspectrum/libspectrum/configure.in, + branches/Release-0_10_0-branch/libspectrum/libspectrum/doc/libspectrum.3, + branches/Release-0_10_0-branch/libspectrum/libspectrum/hacking/ChangeLog, + branches/Release-0_10_0-branch/libspectrum/libspectrum/libspectrum.c, + branches/Release-0_10_0-branch/libspectrum/libspectrum/tap.c: + Merge in vendor 0.10.0.2 changes. + +2009-01-09 23:23 fredm + + * branches/Release-0_10_0-branch, + branches/Release-0_10_0-branch/fuse, + branches/Release-0_10_0-branch/fuse/fusepb/resources/Fuse + Help/html/changelog.html, + branches/Release-0_10_0-branch/fuse/fusepb/resources/Fuse + Help/html/menus.html, + branches/Release-0_10_0-branch/libspectrum/libspectrum: Update + changelog and tape menu entries in manual. + +2009-01-09 23:20 fredm + + * branches/Release-0_10_0-branch/fuse/fusepb/views/DisplayOpenGLView.h, + branches/Release-0_10_0-branch/fuse/fusepb/views/DisplayOpenGLView.m: + Merge r577: also update the statusbar if nothing has changed on + the Speccy screen. + +2009-01-09 23:16 fredm + + * branches/Release-0_10_0-branch/fuse/fusepb/views/DisplayOpenGLView.h, + branches/Release-0_10_0-branch/fuse/fusepb/views/DisplayOpenGLView.m: + Merge r576: decouple texture updating and drawing and only update + texture when there are changes (Roine Gustafsson). + +2009-01-09 23:10 fredm + + * branches/Release-0_10_0-branch/fuse/fusepb/views/DisplayOpenGLView.m: + Merge r575: stop displayLink when quitting from emulator before + stopping emulator thread. + +2009-01-09 23:04 fredm + + * branches/Release-0_10_0-branch/fuse/fusepb/views/DisplayOpenGLView.m: + Merge r574 from trunk: fix colours in minimised toolbar icon on + GMA950 card (Roine Gustafsson). + +2009-01-09 22:46 fredm + + * branches/Release-0_10_0-branch, + branches/Release-0_10_0-branch/fuse, + branches/Release-0_10_0-branch/fuse/fusepb/English.lproj/InfoPlist.strings, + branches/Release-0_10_0-branch/fuse/fusepb/Fuse.xcodeproj/project.pbxproj, + branches/Release-0_10_0-branch/fuse/fusepb/models/Emulator.h, + branches/Release-0_10_0-branch/fuse/fusepb/models/Emulator.m, + branches/Release-0_10_0-branch/fuse/fusepb/timer, + branches/Release-0_10_0-branch/fuse/fusepb/timer/timer.c, + branches/Release-0_10_0-branch/fuse/spectrum.c, + branches/Release-0_10_0-branch/libspectrum/libspectrum: Merge + r578 from trunk to fix running with sound disabled. + +2008-12-12 12:28 fredm + + * branches/Release-0_10_0-branch/fuse/fusepb/English.lproj/InfoPlist.strings, + branches/Release-0_10_0-branch/fuse/fusepb/Info-Fuse.plist, + branches/Release-0_10_0-branch/fuse/fusepb/config.h: Bump version + strings etc. to 0.10.0.1. + +2008-12-12 12:14 fredm + + * branches/Release-0_10_0-branch/fuse/ChangeLog, + branches/Release-0_10_0-branch/fuse/Makefile.am, + branches/Release-0_10_0-branch/fuse/README, + branches/Release-0_10_0-branch/fuse/compat/unix/file.c, + branches/Release-0_10_0-branch/fuse/configure.in, + branches/Release-0_10_0-branch/fuse/hacking/ChangeLog, + branches/Release-0_10_0-branch/fuse/hacking/cvs-tags, + branches/Release-0_10_0-branch/fuse/man/fuse.1, + branches/Release-0_10_0-branch/fuse/ui/fb/Makefile.am: Merge in + vendor 0.10.0.1 release changes. + +2008-12-12 12:00 fredm + + * branches/Release-0_10_0-branch: Make a branch for 0.10.0 releases + (hopefully just the one). + +2008-12-04 20:04 fredm + + * tags/Release-0_10_0: Add correct release tag. + +2008-12-04 11:41 fredm + + * trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html: Add + extra information to changelog. + +2008-12-04 11:37 fredm + + * trunk/FuseGenerator/config.h, trunk/FuseImporter/config.h, + trunk/fuse, trunk/fuse/README, trunk/fuse/compat/amiga/paths.c, + trunk/fuse/configure.in, trunk/fuse/disk/disk.c, + trunk/fuse/disk/upd_fdc.c, trunk/fuse/fuse.c, + trunk/fuse/fusepb/English.lproj/InfoPlist.strings, + trunk/fuse/fusepb/Info-Fuse.plist, trunk/fuse/fusepb/config.h, + trunk/fuse/hacking/ChangeLog, trunk/fuse/man/fuse.1, + trunk/fuse/rzx.c, trunk/fuse/scld.c, trunk/fuse/utils.c, + trunk/libspectrum/Info.plist, trunk/libspectrum/config.h, + trunk/libspectrum/libspectrum, + trunk/libspectrum/libspectrum.xcodeproj/project.pbxproj, + trunk/libspectrum/libspectrum/ChangeLog, + trunk/libspectrum/libspectrum/Makefile.am, + trunk/libspectrum/libspectrum/README, + trunk/libspectrum/libspectrum/configure.in, + trunk/libspectrum/libspectrum/doc/libspectrum.3, + trunk/libspectrum/libspectrum/doc/libspectrum.txt, + trunk/libspectrum/libspectrum/hacking/ChangeLog, + trunk/libspectrum/libspectrum/test/Makefile.am, + trunk/libspectrum/libspectrum/timings.c: Merge in changes from + vendor 0.10.0 release. + +2008-11-30 01:19 fredm + + * trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html: Add + user-visible libspectrum updates to changelog. + +2008-11-27 01:53 fredm + + * trunk/FuseGenerator/JWSpectrumScreen/JWSpectrumScreen.m, + trunk/FuseGenerator/JWSpectrumScreen/JWSpectrumScreenConstants.h, + trunk/FuseGenerator/LibspectrumSCRExtractor.m: Mask off + irrelevant bits from Timex DEC port. + +2008-11-23 06:56 fredm + + * trunk/fuse/fusepb/views/DisplayOpenGLView.m: Stop display link + when fiddling with windowed and fullscreen mode. + +2008-11-19 03:14 fredm + + * trunk/fuse/fusepb/config.h: Bump version number to 0.10.0-pre1. + +2008-11-18 12:21 fredm + + * trunk/fuse/fusepb/Credits.html: Add some additional credits from + the Fuse version of the file. + +2008-11-18 12:05 fredm + + * trunk/FuseGenerator/libspectrum.h, + trunk/FuseImporter/libspectrum.h, trunk/fuse, + trunk/fuse/ChangeLog, trunk/fuse/Makefile.am, + trunk/fuse/configure.in, trunk/fuse/disk/disk.c, + trunk/fuse/fuse.c, + trunk/fuse/fusepb/English.lproj/InfoPlist.strings, + trunk/fuse/fusepb/Info-Fuse.plist, + trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html, + trunk/fuse/fusepb/resources/Fuse Help/html/monitor.html, + trunk/fuse/hacking/ChangeLog, trunk/fuse/hacking/Makefile.am, + trunk/fuse/hacking/cvs-tags, trunk/fuse/machines/specplus2a.c, + trunk/fuse/machines/specplus3.c, trunk/fuse/man/fuse.1, + trunk/fuse/ui/win32/Makefile.am, trunk/fuse/utils.c, + trunk/libspectrum/Info.plist, trunk/libspectrum/libspectrum, + trunk/libspectrum/libspectrum.h, + trunk/libspectrum/libspectrum.xcodeproj/project.pbxproj, + trunk/libspectrum/libspectrum/configure.in, + trunk/libspectrum/libspectrum/doc/cvs-tags, + trunk/libspectrum/libspectrum/doc/libspectrum.txt, + trunk/libspectrum/libspectrum/hacking/ChangeLog, + trunk/libspectrum/libspectrum/libspectrum.c, + trunk/libspectrum/libspectrum/libspectrum.h.in: Merge up to + vendor 0.10.0-pre1 release. + +2008-11-07 12:14 fredm + + * trunk/FuseGenerator/LibspectrumSCRExtractor.m, + trunk/FuseImporter/LibspectrumMetadataImporter.m: Correct + reporting of unknown classes, log name of tape being scanned for + metadata. + +2008-11-05 11:41 fredm + + * trunk/README: Remove old reference to lib765. + +2008-11-05 11:38 fredm + + * trunk/fuse/TODO, trunk/fuse/fusepb/resources/Fuse + Help/html/changelog.html, trunk/fuse/fusepb/resources/Fuse + Help/html/compressed.html, trunk/fuse/fusepb/resources/Fuse + Help/html/formats.html, trunk/fuse/fusepb/resources/Fuse + Help/html/monitor.html, trunk/fuse/fusepb/resources/Fuse + Help/html/preferences.html: Update manual for changes from + vendor. + +2008-11-05 11:33 fredm + + * trunk/fuse/debugger/commandl.l: Remove exit command as it causes + a ruckus when the main thread doesn't know that the emulator + thread is gone. + +2008-11-05 11:32 fredm + + * trunk/fuse/fusepb/nibs/Preferences.nib/info.nib, + trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib: Add + setting for create autosaves in RZX dialog. + +2008-11-03 12:27 fredm + + * trunk/FuseGenerator/libspectrum.h, + trunk/FuseImporter/libspectrum.h, trunk/fuse, + trunk/fuse/ChangeLog, trunk/fuse/README, + trunk/fuse/compat/unix/file.c, trunk/fuse/configure.in, + trunk/fuse/disk/fdd.c, trunk/fuse/disk/upd_fdc.c, + trunk/fuse/fuse.c, + trunk/fuse/fusepb/English.lproj/InfoPlist.strings, + trunk/fuse/fusepb/Info-Fuse.plist, + trunk/fuse/fusepb/models/Emulator.m, + trunk/fuse/hacking/ChangeLog, trunk/fuse/man/fuse.1, + trunk/fuse/menu.c, trunk/fuse/rzx.c, trunk/fuse/settings.dat, + trunk/fuse/ui/options.dat, trunk/fuse/ui/win32/win32internals.h, + trunk/fuse/ui/win32/win32joystick.c, + trunk/fuse/ui/win32/win32joystick.h, + trunk/fuse/ui/win32/win32ui.c, trunk/fuse/z80/tests/README, + trunk/libspectrum/libspectrum, trunk/libspectrum/libspectrum.h, + trunk/libspectrum/libspectrum/ChangeLog, + trunk/libspectrum/libspectrum/README, + trunk/libspectrum/libspectrum/doc/libspectrum.txt, + trunk/libspectrum/libspectrum/hacking/ChangeLog, + trunk/libspectrum/libspectrum/libspectrum.h.in, + trunk/libspectrum/libspectrum/rzx.c, + trunk/libspectrum/libspectrum/sna.c, + trunk/libspectrum/libspectrum/tap.c, + trunk/libspectrum/libspectrum/tape_block.c, + trunk/libspectrum/libspectrum/test/empty.z80, + trunk/libspectrum/libspectrum/test/test.c, + trunk/libspectrum/libspectrum/tzx_read.c, + trunk/libspectrum/libspectrum/tzx_write.c, + trunk/libspectrum/libspectrum/warajevo_read.c, + trunk/libspectrum/libspectrum/z80.c: Merge up to vendor revision + 3804. + +2008-10-28 13:18 fredm + + * trunk/fuse/fuse.c: Don't deallocate memory and similar arrays + 'till we've had a chance to use them when writing settings back + to the prefs database. + +2008-10-28 11:37 fredm + + * trunk/FuseImporter/LibspectrumMetadataImporter.m: Log filename + that causes an error. + +2008-10-21 12:05 fredm + + * trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj, + trunk/FuseGenerator/LibspectrumSCRExtractor.m, + trunk/FuseGenerator/generate.pl, + trunk/FuseGenerator/libspectrum.h, + trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj, + trunk/FuseImporter/LibspectrumMetadataImporter.m, + trunk/FuseImporter/generate.pl, trunk/FuseImporter/libspectrum.h, + trunk/fuse, trunk/fuse/Makefile.am, trunk/fuse/PORTING, + trunk/fuse/README, trunk/fuse/compat.h, + trunk/fuse/compat/amiga/Makefile.am, + trunk/fuse/compat/morphos/Makefile.am, + trunk/fuse/compat/unix/Makefile.am, + trunk/fuse/compat/unix/file.c, trunk/fuse/compat/unix/osname.c, + trunk/fuse/compat/wii, trunk/fuse/compat/wii/Makefile.am, + trunk/fuse/compat/wii/file.c, + trunk/fuse/compat/win32/Makefile.am, trunk/fuse/configure.in, + trunk/fuse/dck.c, trunk/fuse/debugger/Makefile.am, + trunk/fuse/debugger/breakpoint.c, + trunk/fuse/debugger/breakpoint.h, trunk/fuse/debugger/command.c, + trunk/fuse/debugger/commandl.l, trunk/fuse/debugger/commandy.y, + trunk/fuse/debugger/debugger.c, trunk/fuse/debugger/debugger.h, + trunk/fuse/debugger/debugger_internals.h, + trunk/fuse/debugger/event.c, trunk/fuse/debugger/expression.c, + trunk/fuse/debugger/variable.c, trunk/fuse/disk/beta.c, + trunk/fuse/disk/beta.h, trunk/fuse/disk/disk.c, + trunk/fuse/disk/fdd.c, trunk/fuse/disk/fdd.h, + trunk/fuse/disk/plusd.c, trunk/fuse/disk/plusd.h, + trunk/fuse/disk/upd_fdc.c, trunk/fuse/disk/upd_fdc.h, + trunk/fuse/disk/wd_fdc.c, trunk/fuse/disk/wd_fdc.h, + trunk/fuse/divide.c, trunk/fuse/event.c, trunk/fuse/event.h, + trunk/fuse/fuse.c, + trunk/fuse/fusepb/English.lproj/InfoPlist.strings, + trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj, + trunk/fuse/fusepb/Info-Fuse.plist, + trunk/fuse/fusepb/controllers/DebuggerController.m, + trunk/fuse/fusepb/models/Emulator.m, + trunk/fuse/hacking/ChangeLog, trunk/fuse/if1.c, + trunk/fuse/input.c, trunk/fuse/input.h, trunk/fuse/keysyms.pl, + trunk/fuse/loader.c, trunk/fuse/machine.c, + trunk/fuse/machines/specplus3.h, trunk/fuse/memory.c, + trunk/fuse/mempool.c, trunk/fuse/mempool.h, trunk/fuse/menu.c, + trunk/fuse/menu.h, trunk/fuse/menu_data.dat, + trunk/fuse/menu_data.pl, trunk/fuse/periph.c, + trunk/fuse/periph.h, trunk/fuse/profile.c, trunk/fuse/rzx.c, + trunk/fuse/rzx.h, trunk/fuse/screenshot.c, + trunk/fuse/settings.dat, trunk/fuse/simpleide.c, + trunk/fuse/snapshot.c, trunk/fuse/sound/alsasound.c, + trunk/fuse/sound/dxsound.c, trunk/fuse/sound/win32sound.c, + trunk/fuse/spectrum.c, trunk/fuse/spectrum.h, trunk/fuse/tape.c, + trunk/fuse/tape.h, trunk/fuse/timer/timer.c, + trunk/fuse/timer/timer.h, trunk/fuse/ui/cocoa/cocoajoystick.c, + trunk/fuse/ui/fb/fbdisplay.c, trunk/fuse/ui/gtk/debugger.c, + trunk/fuse/ui/gtk/gtkjoystick.c, trunk/fuse/ui/gtk/gtkkeyboard.c, + trunk/fuse/ui/gtk/gtkui.c, trunk/fuse/ui/options.dat, + trunk/fuse/ui/scaler/scalers.c, trunk/fuse/ui/sdl/sdldisplay.c, + trunk/fuse/ui/sdl/sdljoystick.c, + trunk/fuse/ui/svga/svgadisplay.c, + trunk/fuse/ui/svga/svgajoystick.c, trunk/fuse/ui/uidisplay.h, + trunk/fuse/ui/uijoystick.c, trunk/fuse/ui/widget/Makefile.am, + trunk/fuse/ui/widget/browse.c, trunk/fuse/ui/widget/debugger.c, + trunk/fuse/ui/widget/error.c, trunk/fuse/ui/widget/filesel.c, + trunk/fuse/ui/widget/memory.c, trunk/fuse/ui/widget/menu.c, + trunk/fuse/ui/widget/options.pl, trunk/fuse/ui/widget/picture.c, + trunk/fuse/ui/widget/pokefinder.c, trunk/fuse/ui/widget/query.c, + trunk/fuse/ui/widget/roms.c, trunk/fuse/ui/widget/select.c, + trunk/fuse/ui/widget/text.c, trunk/fuse/ui/widget/widget.c, + trunk/fuse/ui/widget/widget.h, + trunk/fuse/ui/widget/widget_internals.h, + trunk/fuse/ui/win32/Makefile.am, trunk/fuse/ui/win32/binary.c, + trunk/fuse/ui/win32/binary.rc, trunk/fuse/ui/win32/browse.c, + trunk/fuse/ui/win32/browse.h, trunk/fuse/ui/win32/browse.rc, + trunk/fuse/ui/win32/confirm.c, trunk/fuse/ui/win32/debugger.c, + trunk/fuse/ui/win32/debugger.h, trunk/fuse/ui/win32/debugger.rc, + trunk/fuse/ui/win32/error.c, trunk/fuse/ui/win32/fileselector.c, + trunk/fuse/ui/win32/memorybrowser.c, + trunk/fuse/ui/win32/memorybrowser.h, + trunk/fuse/ui/win32/memorybrowser.rc, + trunk/fuse/ui/win32/options-header.pl, + trunk/fuse/ui/win32/options-resource.pl, + trunk/fuse/ui/win32/options.pl, trunk/fuse/ui/win32/picture.c, + trunk/fuse/ui/win32/picture.h, trunk/fuse/ui/win32/picture.rc, + trunk/fuse/ui/win32/pokefinder.c, + trunk/fuse/ui/win32/pokefinder.h, + trunk/fuse/ui/win32/pokefinder.rc, + trunk/fuse/ui/win32/rollback.c, trunk/fuse/ui/win32/rollback.rc, + trunk/fuse/ui/win32/roms.c, trunk/fuse/ui/win32/roms.rc, + trunk/fuse/ui/win32/select_template.rc, + trunk/fuse/ui/win32/statusbar.c, + trunk/fuse/ui/win32/win32display.c, + trunk/fuse/ui/win32/win32display.h, + trunk/fuse/ui/win32/win32internals.h, + trunk/fuse/ui/win32/win32joystick.c, + trunk/fuse/ui/win32/win32joystick.rc, + trunk/fuse/ui/win32/win32keyboard.c, + trunk/fuse/ui/win32/win32keyboard.h, + trunk/fuse/ui/win32/win32ui.c, trunk/fuse/ui/xlib/xdisplay.c, + trunk/fuse/ui/xlib/xui.c, trunk/fuse/unittests/unittests.c, + trunk/fuse/utils.c, trunk/fuse/z80/coretest.c, + trunk/fuse/z80/tests/tests.expected, + trunk/fuse/z80/tests/tests.in, trunk/fuse/z80/z80.c, + trunk/fuse/z80/z80.h, trunk/fuse/z80/z80.pl, + trunk/fuse/z80/z80_ops.c, trunk/fuse/zxatasp.c, + trunk/fuse/zxcf.c, trunk/libspectrum/generate.pl, + trunk/libspectrum/libspectrum, trunk/libspectrum/libspectrum.h, + trunk/libspectrum/libspectrum.xcodeproj/project.pbxproj, + trunk/libspectrum/libspectrum/Makefile.am, + trunk/libspectrum/libspectrum/accessor.pl, + trunk/libspectrum/libspectrum/bzip2.c, + trunk/libspectrum/libspectrum/configure.in, + trunk/libspectrum/libspectrum/creator.c, + trunk/libspectrum/libspectrum/crypto.c, + trunk/libspectrum/libspectrum/csw.c, + trunk/libspectrum/libspectrum/dck.c, + trunk/libspectrum/libspectrum/hacking/ChangeLog, + trunk/libspectrum/libspectrum/ide.c, + trunk/libspectrum/libspectrum/internals.h, + trunk/libspectrum/libspectrum/libspectrum.c, + trunk/libspectrum/libspectrum/libspectrum.h.in, + trunk/libspectrum/libspectrum/make-perl.c, + trunk/libspectrum/libspectrum/memory.c, + trunk/libspectrum/libspectrum/microdrive.c, + trunk/libspectrum/libspectrum/myglib/Makefile.am, + trunk/libspectrum/libspectrum/myglib/garray.c, + trunk/libspectrum/libspectrum/myglib/ghash.c, + trunk/libspectrum/libspectrum/myglib/gslist.c, + trunk/libspectrum/libspectrum/plusd.c, + trunk/libspectrum/libspectrum/rzx.c, + trunk/libspectrum/libspectrum/sna.c, + trunk/libspectrum/libspectrum/snapshot.c, + trunk/libspectrum/libspectrum/sp.c, + trunk/libspectrum/libspectrum/szx.c, + trunk/libspectrum/libspectrum/tap.c, + trunk/libspectrum/libspectrum/tape.c, + trunk/libspectrum/libspectrum/tape_block.c, + trunk/libspectrum/libspectrum/tape_block.h, + trunk/libspectrum/libspectrum/test/Makefile.am, + trunk/libspectrum/libspectrum/test/edges.c, + trunk/libspectrum/libspectrum/test/test.c, + trunk/libspectrum/libspectrum/test/test.h, + trunk/libspectrum/libspectrum/test/test15.c, + trunk/libspectrum/libspectrum/test/writeprotected.mdr, + trunk/libspectrum/libspectrum/tzx_read.c, + trunk/libspectrum/libspectrum/tzx_write.c, + trunk/libspectrum/libspectrum/warajevo_read.c, + trunk/libspectrum/libspectrum/wav.c, + trunk/libspectrum/libspectrum/z80.c, + trunk/libspectrum/libspectrum/z80em.c, + trunk/libspectrum/libspectrum/zlib.c, + trunk/libspectrum/libspectrum/zxs.c: Merge up to vendor revision + 3775. + +2008-05-10 23:53 fredm + + * trunk/FuseGenerator/libspectrum.h, + trunk/FuseImporter/libspectrum.h, trunk/README, + trunk/fuse/ChangeLog, trunk/fuse/Makefile.am, trunk/fuse/README, + trunk/fuse/ay.c, trunk/fuse/compat/amiga/Makefile.am, + trunk/fuse/compat/amiga/osname.c, + trunk/fuse/compat/amiga/paths.c, trunk/fuse/configure.in, + trunk/fuse/dck.c, trunk/fuse/debugger/commandl.l, + trunk/fuse/debugger/commandy.y, trunk/fuse/debugger/debugger.c, + trunk/fuse/debugger/debugger_internals.h, + trunk/fuse/disk/Makefile.am, trunk/fuse/disk/beta.c, + trunk/fuse/disk/disk.c, trunk/fuse/disk/disk.h, + trunk/fuse/disk/fdd.c, trunk/fuse/disk/fdd.h, + trunk/fuse/disk/plusd.c, trunk/fuse/disk/upd_fdc.c, + trunk/fuse/disk/upd_fdc.h, trunk/fuse/disk/wd_fdc.c, + trunk/fuse/disk/wd_fdc.h, trunk/fuse/display.c, + trunk/fuse/divide.c, trunk/fuse/event.c, trunk/fuse/event.h, + trunk/fuse/fuse.c, trunk/fuse/fuse.cpp, trunk/fuse/fuse.h, + trunk/fuse/fusepb/English.lproj/InfoPlist.strings, + trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj, + trunk/fuse/fusepb/Info-Fuse.plist, + trunk/fuse/fusepb/controllers/FuseController.h, + trunk/fuse/fusepb/controllers/FuseController.m, + trunk/fuse/fusepb/main.m, trunk/fuse/fusepb/main.mm, + trunk/fuse/fusepb/models/Emulator.h, + trunk/fuse/fusepb/models/Emulator.m, + trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib, + trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib, + trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib, + trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib, + trunk/fuse/fusepb/scaler/hq2x.cpp, + trunk/fuse/fusepb/scaler/hq2x.h, + trunk/fuse/fusepb/scaler/hq3x.cpp, + trunk/fuse/fusepb/scaler/hq3x.h, + trunk/fuse/fusepb/scaler/intern.h, + trunk/fuse/fusepb/scaler/scalers16.c, + trunk/fuse/fusepb/scaler/scalers16.cpp, + trunk/fuse/fusepb/views/DisplayOpenGLView.h, + trunk/fuse/fusepb/views/DisplayOpenGLView.m, + trunk/fuse/hacking/ChangeLog, trunk/fuse/hacking/cvs-tags, + trunk/fuse/hacking/win32_todo.txt, trunk/fuse/if1.c, + trunk/fuse/input.c, trunk/fuse/kempmouse.c, + trunk/fuse/kempmouse.h, trunk/fuse/keysyms.pl, + trunk/fuse/loader.c, trunk/fuse/loader.h, trunk/fuse/machine.c, + trunk/fuse/machine.h, trunk/fuse/machines/pentagon.c, + trunk/fuse/machines/pentagon.h, + trunk/fuse/machines/pentagon1024.c, + trunk/fuse/machines/pentagon512.c, + trunk/fuse/machines/scorpion.c, trunk/fuse/machines/spec128.c, + trunk/fuse/machines/spec128.h, trunk/fuse/machines/spec16.c, + trunk/fuse/machines/spec48.c, trunk/fuse/machines/spec48.h, + trunk/fuse/machines/spec_se.c, trunk/fuse/machines/specplus2.c, + trunk/fuse/machines/specplus2a.c, + trunk/fuse/machines/specplus3.c, trunk/fuse/machines/specplus3.h, + trunk/fuse/machines/specplus3e.c, trunk/fuse/machines/tc2048.c, + trunk/fuse/machines/tc2068.c, trunk/fuse/machines/tc2068.h, + trunk/fuse/machines/ts2068.c, trunk/fuse/man/fuse.1, + trunk/fuse/memory.c, trunk/fuse/memory.h, trunk/fuse/menu.c, + trunk/fuse/menu_data.dat, trunk/fuse/periph.c, + trunk/fuse/roms/plus3e-0.rom, trunk/fuse/roms/plus3e-1.rom, + trunk/fuse/roms/plus3e-2.rom, trunk/fuse/settings.dat, + trunk/fuse/settings.pl, trunk/fuse/simpleide.c, + trunk/fuse/sound/Makefile.am, trunk/fuse/sound/aosound.c, + trunk/fuse/sound/win32sound.c, trunk/fuse/spectrum.c, + trunk/fuse/spectrum.h, trunk/fuse/tape.c, trunk/fuse/tape.h, + trunk/fuse/timer/Makefile.am, trunk/fuse/ui.c, + trunk/fuse/ui/Makefile.am, trunk/fuse/ui/fb/fbkeyboard.c, + trunk/fuse/ui/gtk/Makefile.am, trunk/fuse/ui/gtk/fileselector.c, + trunk/fuse/ui/gtk/gtkdisplay.c, trunk/fuse/ui/options.dat, + trunk/fuse/ui/scaler/Makefile.am, trunk/fuse/ui/scaler/scaler.c, + trunk/fuse/ui/scaler/scaler.h, + trunk/fuse/ui/scaler/scaler_hq2x.c, + trunk/fuse/ui/scaler/scaler_hq3x.c, + trunk/fuse/ui/scaler/scaler_internals.h, + trunk/fuse/ui/scaler/scalers.c, trunk/fuse/ui/scaler/scalers.cpp, + trunk/fuse/ui/sdl/Makefile.am, trunk/fuse/ui/sdl/sdldisplay.c, + trunk/fuse/ui/sdl/sdlkeyboard.c, + trunk/fuse/ui/svga/svgakeyboard.c, trunk/fuse/ui/ui.h, + trunk/fuse/ui/widget, trunk/fuse/ui/widget/Makefile.am, + trunk/fuse/ui/widget/browse.c, trunk/fuse/ui/widget/debugger.c, + trunk/fuse/ui/widget/error.c, trunk/fuse/ui/widget/filesel.c, + trunk/fuse/ui/widget/fuse.font.sbf, + trunk/fuse/ui/widget/memory.c, trunk/fuse/ui/widget/menu.c, + trunk/fuse/ui/widget/mkfusefont.pl, + trunk/fuse/ui/widget/options-header.pl, + trunk/fuse/ui/widget/options.pl, trunk/fuse/ui/widget/picture.c, + trunk/fuse/ui/widget/pokefinder.c, trunk/fuse/ui/widget/query.c, + trunk/fuse/ui/widget/roms.c, trunk/fuse/ui/widget/select.c, + trunk/fuse/ui/widget/text.c, trunk/fuse/ui/widget/widget.c, + trunk/fuse/ui/widget/widget.h, + trunk/fuse/ui/widget/widget_internals.h, + trunk/fuse/ui/win32/Makefile.am, trunk/fuse/ui/win32/binary.c, + trunk/fuse/ui/win32/binary.h, trunk/fuse/ui/win32/binary.rc, + trunk/fuse/ui/win32/browse.c, trunk/fuse/ui/win32/browse.h, + trunk/fuse/ui/win32/browse.rc, trunk/fuse/ui/win32/debugger.c, + trunk/fuse/ui/win32/debugger.h, trunk/fuse/ui/win32/debugger.rc, + trunk/fuse/ui/win32/del_o.bat, trunk/fuse/ui/win32/error.c, + trunk/fuse/ui/win32/icons/Makefile.am, + trunk/fuse/ui/win32/icons/mdr_active.bmp, + trunk/fuse/ui/win32/icons/mdr_inactive.bmp, + trunk/fuse/ui/win32/icons/mouse_active.bmp, + trunk/fuse/ui/win32/icons/mouse_inactive.bmp, + trunk/fuse/ui/win32/icons/tape_marker_mask.bmp, + trunk/fuse/ui/win32/memorybrowser.c, + trunk/fuse/ui/win32/memorybrowser.h, + trunk/fuse/ui/win32/memorybrowser.rc, + trunk/fuse/ui/win32/menu_data.c, trunk/fuse/ui/win32/menu_data.h, + trunk/fuse/ui/win32/menu_data.rc, + trunk/fuse/ui/win32/options-header.pl, + trunk/fuse/ui/win32/options-resource.pl, + trunk/fuse/ui/win32/options.pl, trunk/fuse/ui/win32/picture.c, + trunk/fuse/ui/win32/picture.h, trunk/fuse/ui/win32/picture.rc, + trunk/fuse/ui/win32/pokefinder.c, + trunk/fuse/ui/win32/pokefinder.h, + trunk/fuse/ui/win32/pokefinder.rc, + trunk/fuse/ui/win32/rollback.c, trunk/fuse/ui/win32/rollback.h, + trunk/fuse/ui/win32/rollback.rc, trunk/fuse/ui/win32/roms.c, + trunk/fuse/ui/win32/roms.h, trunk/fuse/ui/win32/roms.rc, + trunk/fuse/ui/win32/select_template.h, + trunk/fuse/ui/win32/select_template.rc, + trunk/fuse/ui/win32/statusbar.c, + trunk/fuse/ui/win32/statusbar.rc, + trunk/fuse/ui/win32/win32display.c, + trunk/fuse/ui/win32/win32display.h, + trunk/fuse/ui/win32/win32internals.h, + trunk/fuse/ui/win32/win32joystick.c, + trunk/fuse/ui/win32/win32joystick.h, + trunk/fuse/ui/win32/win32joystick.rc, + trunk/fuse/ui/win32/win32keyboard.h, + trunk/fuse/ui/win32/win32mouse.c, trunk/fuse/ui/win32/win32ui.c, + trunk/fuse/ui/win32/win32ui.rc, trunk/fuse/ui/xlib/xdisplay.c, + trunk/fuse/ui/xlib/xerror.c, trunk/fuse/ui/xlib/xkeyboard.c, + trunk/fuse/ula.c, trunk/fuse/unittests, + trunk/fuse/unittests/Makefile.am, + trunk/fuse/unittests/unittests.c, + trunk/fuse/unittests/unittests.h, trunk/fuse/utils.c, + trunk/fuse/widget, trunk/fuse/windres.rc, trunk/fuse/winfuse.ico, + trunk/fuse/z80/z80.c, trunk/fuse/z80/z80_ops.c, trunk/lib765, + trunk/libspectrum/config.h, trunk/libspectrum/libspectrum.h, + trunk/libspectrum/libspectrum/ChangeLog, + trunk/libspectrum/libspectrum/README, + trunk/libspectrum/libspectrum/TODO, + trunk/libspectrum/libspectrum/accessor.pl, + trunk/libspectrum/libspectrum/configure.in, + trunk/libspectrum/libspectrum/doc/libspectrum.txt, + trunk/libspectrum/libspectrum/hacking/ChangeLog, + trunk/libspectrum/libspectrum/ide.c, + trunk/libspectrum/libspectrum/internals.h, + trunk/libspectrum/libspectrum/libspectrum.c, + trunk/libspectrum/libspectrum/libspectrum.h.in, + trunk/libspectrum/libspectrum/sna.c, + trunk/libspectrum/libspectrum/snap_accessors.txt, + trunk/libspectrum/libspectrum/snapshot.c, + trunk/libspectrum/libspectrum/szx.c, + trunk/libspectrum/libspectrum/tape.c, + trunk/libspectrum/libspectrum/test/Makefile.am, + trunk/libspectrum/libspectrum/test/edges.c, + trunk/libspectrum/libspectrum/test/test.h, + trunk/libspectrum/libspectrum/test/test15.c, + trunk/libspectrum/libspectrum/z80.c: Merge up to vendor revision + 3612. + +2008-05-07 11:35 fredm + + * trunk/fuse/TODO: Update TODO. + +2008-05-04 10:38 fredm + + * trunk/FuseGenerator/LibspectrumSCRExtractor.m: Have inlay images + take priority over loading screens. + +2008-05-04 09:11 fredm + + * trunk/FuseGenerator/GeneratePreviewForURL.m, + trunk/FuseGenerator/GenerateThumbnailForURL.m, + trunk/FuseGenerator/LibspectrumSCRExtractor.h, + trunk/FuseGenerator/LibspectrumSCRExtractor.m, trunk/fuse/TODO: + Add support for TZX custom screenshot and tape inlay blocks. + +2008-04-29 12:59 fredm + + * trunk/fuse/fusepb/English.lproj/InfoPlist.strings: Bump version + to 0.9.0.2. + +2008-04-29 12:44 fredm + + * trunk/fuse/fusepb/controllers/FuseController.m: Fix betaFileTypes + declaration. + +2008-04-29 12:24 fredm + + * trunk/fuse/TODO, trunk/fuse/fusepb/controllers/FuseController.m, + trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html: Add UI + support for .udi, .fdi and .scl files for Beta disk images. + +2008-04-28 13:55 fredm + + * trunk/FuseGenerator/GeneratePreviewForURL.m: Generate previews + for all docs, not just screenshots. + +2008-04-28 13:21 fredm + + * trunk/FuseImporter/COPYING, trunk/FuseImporter/Howto build.rtf, + trunk/FuseImporter/README.rtf: Remove obsolete files. + +2008-04-28 13:15 fredm + + * trunk/fuse/fusepb/resources/Fuse Help/Fuse Help idx, + trunk/fuse/fusepb/resources/Fuse Help/Fuse Help.helpindex, + trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html, + trunk/fuse/fusepb/resources/Fuse Help/html/quicklook.html, + trunk/fuse/fusepb/resources/Fuse Help/html/tocstart.html: Add + Quick Look generator documentation, update index. + +2008-04-28 13:14 fredm + + * trunk/fuse/settings.dat: Change thumbnail icon generation default + to be off as it is superceded by Quick Look on Mac OS X 10.5 and + up. + +2008-04-28 11:32 fredm + + * trunk/FuseImporter/English.lproj/InfoPlist.strings, + trunk/FuseImporter/Info.plist: Bump version to 1.1, add + references for img, mgt and raw file formats. + +2008-04-28 10:45 fredm + + * trunk/fuse/TODO: Update TODO list. + +2008-04-28 10:42 fredm + + * trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj: Distribute + QuickLook generator. + +2008-04-28 10:17 fredm + + * trunk/FuseImporter/LibspectrumMetadataImporter.h: Add declaration + of process_tape. + +2008-04-28 10:14 fredm + + * trunk/FuseImporter/English.lproj/schema.strings: Add display name + for graphics mode. + +2008-04-09 21:13 fredm + + * trunk/fuse/ui/cocoa/SDL_joystick/SDL_sysjoystick.c: Don't report + errors back to the user when we fail to open a joystick device + that already has exclusive access given to someone else (e.g. a + Wacom tablet and it's associated driver) (James Weatherley). + +2008-04-08 13:38 fredm + + * trunk/fuse/ui/cocoa/cocoadisplay.m: Move lock allocation and + initialisation to DisplayOpenGLView. + +2008-04-08 13:36 fredm + + * trunk/fuse/fusepb/English.lproj/InfoPlist.strings: Update version + strings to 0.9.0.1. + +2008-04-08 13:34 fredm + + * trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html, + trunk/fuse/fusepb/resources/Fuse Help/html/menus.html: Add + references for new menu options, update ChangeLog for recent + changes. + +2008-04-08 13:31 fredm + + * trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib, + trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib, + trunk/fuse/fusepb/views/DisplayOpenGLView.m: Add 4x and 5x zoom + options for those with big screens. + +2008-04-08 12:08 fredm + + * trunk/fuse/ui/cocoa/SDL_joystick/SDL_sysjoystick.c: Merge up to + revision 3524 of SDL_sysjoystick.c, in hope of fixing errors + starting Fuse with a Wacom graphics tablet attached. + +2008-03-31 12:46 fredm + + * trunk/fuse/TODO, trunk/fuse/fusepb/controllers/FuseController.h, + trunk/fuse/fusepb/controllers/FuseController.m, + trunk/fuse/fusepb/models/Emulator.h, + trunk/fuse/fusepb/models/Emulator.m, + trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib, + trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib, + trunk/fuse/fusepb/views/DisplayOpenGLView.h, + trunk/fuse/fusepb/views/DisplayOpenGLView.m: Add +D and Beta disk + insert menu entries. Allow +D to save .img images. + +2008-03-31 11:51 fredm + + * trunk/fuse/TODO, trunk/fuse/fusepb/controllers/FuseController.m: + Allow .img files to be opened as +D images. + +2008-03-29 03:19 fredm + + * trunk/fuse/fusepb/controllers/PreferencesController.m, + trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib: Add + preferences support for Beta 128 interface. + +2008-03-29 03:18 fredm + + * trunk/fuse/fusepb/English.lproj/InfoPlist.strings: Change + additional copyright date to 2008. + +2008-03-28 13:01 fredm + + * trunk/fuse/fusepb/English.lproj/InfoPlist.strings, + trunk/fuse/fusepb/Info-Fuse.plist, trunk/fuse/fusepb/config.h, + trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html: Move + version to Fuse for Mac OS X 0.9.0. + +2008-03-27 12:04 fredm + + * trunk/fuse/fusepb/controllers/FuseController.h, + trunk/fuse/fusepb/controllers/FuseController.m, + trunk/fuse/fusepb/models/Emulator.h, + trunk/fuse/fusepb/models/Emulator.m, + trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib, + trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib, + trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib, + trunk/fuse/fusepb/views/DisplayOpenGLView.h, + trunk/fuse/fusepb/views/DisplayOpenGLView.m: Add +D and Beta disk + write protect support. Fix Microdrive cartridge menus. Add + command key release for keyboard joystick binding shortcut. + +2008-03-27 12:03 fredm + + * trunk/fuse/fusepb/Info-Fuse.plist: Fix mdr type info, round out + mgt and img type exports. + +2008-03-26 10:36 fredm + + * trunk/fuse/TODO, trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib, + trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib, + trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib, + trunk/fuse/fusepb/resources/Fuse Help/html/menus.html, + trunk/fuse/fusepb/resources/Fuse Help/html/preferences.html: Move + Emulate keyboard joystick option to to Bind Keys to Joystick + option in Machine menu + +2008-03-26 08:46 fredm + + * trunk/fuse/fusepb/nibs/Preferences.nib/info.nib, + trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib: Fix + keyboard joystick enabled preference binding. + +2008-02-18 09:48 fredm + + * trunk/README: Remove reference to bzip2 framework. + +2008-02-18 08:45 fredm + + * trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj, + trunk/fuse/fusepb/FuseMenus.m: Don't use standard Fuse menu.c, + move only function we use (menu_select_roms_with_title) to + FuseMenus.m. + +2008-02-18 07:25 fredm + + * trunk/fuse/fusepb/controllers/FuseController.m: Ignore any + shortcuts that raise dialogs in fullscreen mode. + +2008-02-18 07:20 fredm + + * trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj: Remove + pentagon.h from distribution binaries and remove references to + obsolete SDL and bzip2 frameworks. + +2008-02-18 04:00 fredm + + * trunk/libgcrypt/Info-gcrypt.plist, + trunk/libgcrypt/libgcrypt.xcodeproj/project.pbxproj, + trunk/libgcrypt/libgcrypt/AUTHORS, + trunk/libgcrypt/libgcrypt/ChangeLog, + trunk/libgcrypt/libgcrypt/INSTALL, + trunk/libgcrypt/libgcrypt/Makefile.am, + trunk/libgcrypt/libgcrypt/Makefile.in, + trunk/libgcrypt/libgcrypt/NEWS, trunk/libgcrypt/libgcrypt/README, + trunk/libgcrypt/libgcrypt/README.CVS, + trunk/libgcrypt/libgcrypt/README.SVN, + trunk/libgcrypt/libgcrypt/THANKS, trunk/libgcrypt/libgcrypt/TODO, + trunk/libgcrypt/libgcrypt/VERSION, + trunk/libgcrypt/libgcrypt/acinclude.m4, + trunk/libgcrypt/libgcrypt/aclocal.m4, + trunk/libgcrypt/libgcrypt/autogen.sh, + trunk/libgcrypt/libgcrypt/cipher/ChangeLog, + trunk/libgcrypt/libgcrypt/cipher/Makefile.in, + trunk/libgcrypt/libgcrypt/cipher/ac.c, + trunk/libgcrypt/libgcrypt/cipher/blowfish.c, + trunk/libgcrypt/libgcrypt/cipher/cast5.c, + trunk/libgcrypt/libgcrypt/cipher/cipher.c, + trunk/libgcrypt/libgcrypt/cipher/crc.c, + trunk/libgcrypt/libgcrypt/cipher/des.c, + trunk/libgcrypt/libgcrypt/cipher/dsa.c, + trunk/libgcrypt/libgcrypt/cipher/elgamal.c, + trunk/libgcrypt/libgcrypt/cipher/md.c, + trunk/libgcrypt/libgcrypt/cipher/primegen.c, + trunk/libgcrypt/libgcrypt/cipher/pubkey.c, + trunk/libgcrypt/libgcrypt/cipher/random.c, + trunk/libgcrypt/libgcrypt/cipher/random.h, + trunk/libgcrypt/libgcrypt/cipher/rfc2268.c, + trunk/libgcrypt/libgcrypt/cipher/rijndael.c, + trunk/libgcrypt/libgcrypt/cipher/rmd160.c, + trunk/libgcrypt/libgcrypt/cipher/rndlinux.c, + trunk/libgcrypt/libgcrypt/cipher/rndw32.c, + trunk/libgcrypt/libgcrypt/cipher/rsa.c, + trunk/libgcrypt/libgcrypt/cipher/serpent.c, + trunk/libgcrypt/libgcrypt/cipher/sha256.c, + trunk/libgcrypt/libgcrypt/cipher/sha512.c, + trunk/libgcrypt/libgcrypt/cipher/tiger.c, + trunk/libgcrypt/libgcrypt/cipher/twofish.c, + trunk/libgcrypt/libgcrypt/compile, + trunk/libgcrypt/libgcrypt/config.guess, + trunk/libgcrypt/libgcrypt/config.h.in, + trunk/libgcrypt/libgcrypt/config.sub, + trunk/libgcrypt/libgcrypt/configure, + trunk/libgcrypt/libgcrypt/configure.ac, + trunk/libgcrypt/libgcrypt/depcomp, + trunk/libgcrypt/libgcrypt/doc/ChangeLog, + trunk/libgcrypt/libgcrypt/doc/Makefile.in, + trunk/libgcrypt/libgcrypt/doc/gcrypt.info, + trunk/libgcrypt/libgcrypt/doc/gcrypt.texi, + trunk/libgcrypt/libgcrypt/doc/mdate-sh, + trunk/libgcrypt/libgcrypt/doc/stamp-vti, + trunk/libgcrypt/libgcrypt/doc/texinfo.tex, + trunk/libgcrypt/libgcrypt/doc/version.texi, + trunk/libgcrypt/libgcrypt/install-sh, + trunk/libgcrypt/libgcrypt/ltmain.sh, + trunk/libgcrypt/libgcrypt/m4, + trunk/libgcrypt/libgcrypt/m4/ChangeLog, + trunk/libgcrypt/libgcrypt/m4/Makefile.am, + trunk/libgcrypt/libgcrypt/m4/Makefile.in, + trunk/libgcrypt/libgcrypt/m4/libtool.m4, + trunk/libgcrypt/libgcrypt/m4/onceonly.m4, + trunk/libgcrypt/libgcrypt/m4/socklen.m4, + trunk/libgcrypt/libgcrypt/m4/sys_socket_h.m4, + trunk/libgcrypt/libgcrypt/missing, + trunk/libgcrypt/libgcrypt/mkinstalldirs, + trunk/libgcrypt/libgcrypt/mpi/ChangeLog, + trunk/libgcrypt/libgcrypt/mpi/Makefile.am, + trunk/libgcrypt/libgcrypt/mpi/Makefile.in, + trunk/libgcrypt/libgcrypt/mpi/config.links, + trunk/libgcrypt/libgcrypt/mpi/hppa1.1/udiv-qrnnd.S, + trunk/libgcrypt/libgcrypt/mpi/mpi-bit.c, + trunk/libgcrypt/libgcrypt/mpi/mpi-pow.c, + trunk/libgcrypt/libgcrypt/mpi/mpicoder.c, + trunk/libgcrypt/libgcrypt/mpi/mpiutil.c, + trunk/libgcrypt/libgcrypt/src/ChangeLog, + trunk/libgcrypt/libgcrypt/src/Makefile.am, + trunk/libgcrypt/libgcrypt/src/Makefile.in, + trunk/libgcrypt/libgcrypt/src/ath.c, + trunk/libgcrypt/libgcrypt/src/ath.h, + trunk/libgcrypt/libgcrypt/src/g10lib.h, + trunk/libgcrypt/libgcrypt/src/gcrypt-module.h, + trunk/libgcrypt/libgcrypt/src/gcrypt.h, + trunk/libgcrypt/libgcrypt/src/gcrypt.h.in, + trunk/libgcrypt/libgcrypt/src/global.c, + trunk/libgcrypt/libgcrypt/src/libgcrypt.m4, + trunk/libgcrypt/libgcrypt/src/missing-string.c, + trunk/libgcrypt/libgcrypt/src/secmem.c, + trunk/libgcrypt/libgcrypt/src/secmem.h, + trunk/libgcrypt/libgcrypt/src/sexp.c, + trunk/libgcrypt/libgcrypt/src/types.h, + trunk/libgcrypt/libgcrypt/tests/ChangeLog, + trunk/libgcrypt/libgcrypt/tests/Makefile.am, + trunk/libgcrypt/libgcrypt/tests/Makefile.in, + trunk/libgcrypt/libgcrypt/tests/ac.c, + trunk/libgcrypt/libgcrypt/tests/basic.c, + trunk/libgcrypt/libgcrypt/tests/benchmark.c, + trunk/libgcrypt/libgcrypt/tests/pubkey.c, + trunk/libgcrypt/libgcrypt/tests/random.c, + trunk/libgcrypt/libgcrypt/tests/t-mpi-bit.c, + trunk/libgcrypt/libgcrypt/tests/tsexp.c, + trunk/libgcrypt/libgcrypt/w32-dll/Makefile.in: Merge up to vendor + libgcrypt version 1.2.4. + +2008-02-17 22:06 fredm + + * trunk/FuseImporter/Info.plist, trunk/fuse/fusepb/Info-Fuse.plist, + trunk/fuse/fusepb/controllers/FuseController.m, + trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html: Add + entries for newly-supported tape and snap formats. + +2008-02-17 02:02 fredm + + * trunk/fuse/ChangeLog, trunk/fuse/Makefile.am, trunk/fuse/README, + trunk/fuse/ay.c, trunk/fuse/compat/Makefile.am, + trunk/fuse/compat/win32/osname.c, trunk/fuse/configure.in, + trunk/fuse/disk/beta.c, trunk/fuse/disk/beta.h, + trunk/fuse/disk/disk.c, trunk/fuse/disk/disk.h, + trunk/fuse/disk/fdd.c, trunk/fuse/disk/fdd.h, + trunk/fuse/disk/plusd.c, trunk/fuse/disk/plusd.h, + trunk/fuse/disk/wd_fdc.c, trunk/fuse/disk/wd_fdc.h, + trunk/fuse/display.c, trunk/fuse/divide.c, + trunk/fuse/fusepb/English.lproj/InfoPlist.strings, + trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj, + trunk/fuse/fusepb/Info-Fuse.plist, + trunk/fuse/fusepb/controllers/FuseController.h, + trunk/fuse/fusepb/controllers/FuseController.m, + trunk/fuse/fusepb/models/Emulator.h, + trunk/fuse/fusepb/models/Emulator.m, + trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib, + trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib, + trunk/fuse/fusepb/resources/Fuse Help/Fuse Help idx, + trunk/fuse/fusepb/resources/Fuse Help/Fuse Help.helpindex, + trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html, + trunk/fuse/fusepb/resources/Fuse Help/html/formats.html, + trunk/fuse/fusepb/resources/Fuse Help/html/menus.html, + trunk/fuse/fusepb/resources/Fuse Help/html/preferences.html, + trunk/fuse/fusepb/resources/Fuse Help/html/tocstart.html, + trunk/fuse/fusepb/resources/Fuse Help/html/trdos.html, + trunk/fuse/fusepb/views/DisplayOpenGLView.h, + trunk/fuse/fusepb/views/DisplayOpenGLView.m, + trunk/fuse/hacking/ChangeLog, trunk/fuse/hacking/cvs-tags, + trunk/fuse/hacking/tc2048_tech_notes.txt, trunk/fuse/if1.c, + trunk/fuse/if1.h, trunk/fuse/if2.c, trunk/fuse/input.c, + trunk/fuse/joystick.c, trunk/fuse/kempmouse.c, + trunk/fuse/keyboard.c, trunk/fuse/machine.c, + trunk/fuse/machines/Makefile.am, trunk/fuse/machines/machines.h, + trunk/fuse/machines/pentagon.c, trunk/fuse/machines/pentagon.h, + trunk/fuse/machines/pentagon1024.c, + trunk/fuse/machines/pentagon512.c, + trunk/fuse/machines/scorpion.c, trunk/fuse/machines/spec128.c, + trunk/fuse/machines/spec16.c, trunk/fuse/machines/spec48.c, + trunk/fuse/machines/spec48.h, trunk/fuse/machines/spec_se.c, + trunk/fuse/machines/specplus2.c, + trunk/fuse/machines/specplus2a.c, + trunk/fuse/machines/specplus3.c, trunk/fuse/machines/specplus3.h, + trunk/fuse/machines/specplus3e.c, trunk/fuse/machines/tc2048.c, + trunk/fuse/machines/tc2068.c, trunk/fuse/machines/ts2068.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/menu_data.pl, trunk/fuse/module.c, + trunk/fuse/module.h, trunk/fuse/periph.c, trunk/fuse/periph.h, + trunk/fuse/printer.c, trunk/fuse/profile.c, trunk/fuse/scld.c, + trunk/fuse/settings.dat, trunk/fuse/settings.pl, + trunk/fuse/simpleide.c, trunk/fuse/slt.c, trunk/fuse/snapshot.c, + trunk/fuse/sound/alsasound.c, trunk/fuse/sound/sdlsound.c, + trunk/fuse/spectrum.c, trunk/fuse/spectrum.h, trunk/fuse/tape.c, + trunk/fuse/tape.h, trunk/fuse/ui.c, + trunk/fuse/ui/cocoa/cocoaui.m, trunk/fuse/ui/fb/fbdisplay.c, + trunk/fuse/ui/fb/fbmouse.c, trunk/fuse/ui/gtk/binary.c, + trunk/fuse/ui/gtk/confirm.c, trunk/fuse/ui/gtk/fileselector.c, + trunk/fuse/ui/gtk/gtkjoystick.c, trunk/fuse/ui/gtk/gtkui.c, + trunk/fuse/ui/gtk/pokefinder.c, trunk/fuse/ui/gtk/rollback.c, + trunk/fuse/ui/gtk/roms.c, trunk/fuse/ui/options.dat, + trunk/fuse/ui/sdl/sdlui.c, trunk/fuse/ui/ui.h, + trunk/fuse/ui/win32/Makefile.am, trunk/fuse/ui/win32/error.c, + trunk/fuse/ui/win32/win32internals.h, + trunk/fuse/ui/win32/win32ui.c, trunk/fuse/ula.c, + trunk/fuse/utils.c, trunk/fuse/widget/browse.c, + trunk/fuse/widget/filesel.c, trunk/fuse/widget/menu.c, + trunk/fuse/widget/options.pl, trunk/fuse/widget/roms.c, + trunk/fuse/widget/widget.c, trunk/fuse/widget/widget.h, + trunk/fuse/widget/widget_internals.h, trunk/fuse/z80/coretest.c, + trunk/fuse/z80/tests/Makefile.am, trunk/fuse/z80/z80.c, + trunk/fuse/z80/z80.pl, trunk/fuse/z80/z80_macros.h, + trunk/fuse/z80/z80_ops.c, trunk/fuse/zxatasp.c, + trunk/fuse/zxcf.c: Merge up to vendor Fuse 0.9.0. + +2008-02-14 13:00 fredm + + * trunk/FuseGenerator/libspectrum.h, + trunk/FuseImporter/GetMetadataForFile.m, + trunk/FuseImporter/LibspectrumMetadataImporter.m, + trunk/FuseImporter/libspectrum.h, trunk/libspectrum/Info.plist, + trunk/libspectrum/libspectrum.h, + trunk/libspectrum/libspectrum.xcodeproj/project.pbxproj, + trunk/libspectrum/libspectrum/COPYING, + trunk/libspectrum/libspectrum/ChangeLog, + trunk/libspectrum/libspectrum/Makefile.am, + trunk/libspectrum/libspectrum/README, + trunk/libspectrum/libspectrum/accessor.pl, + trunk/libspectrum/libspectrum/configure.in, + trunk/libspectrum/libspectrum/csw.c, + trunk/libspectrum/libspectrum/dll.c, + trunk/libspectrum/libspectrum/doc/cvs-tags, + trunk/libspectrum/libspectrum/doc/libspectrum.3, + trunk/libspectrum/libspectrum/doc/libspectrum.txt, + trunk/libspectrum/libspectrum/hacking/ChangeLog, + trunk/libspectrum/libspectrum/internals.h, + trunk/libspectrum/libspectrum/libspectrum.c, + trunk/libspectrum/libspectrum/libspectrum.h.in, + trunk/libspectrum/libspectrum/plusd.c, + trunk/libspectrum/libspectrum/sna.c, + trunk/libspectrum/libspectrum/snap_accessors.txt, + trunk/libspectrum/libspectrum/snapshot.c, + trunk/libspectrum/libspectrum/szx.c, + trunk/libspectrum/libspectrum/tap.c, + trunk/libspectrum/libspectrum/tape.c, + trunk/libspectrum/libspectrum/tape_block.c, + trunk/libspectrum/libspectrum/test/Makefile.am, + trunk/libspectrum/libspectrum/test/empty.csw, + trunk/libspectrum/libspectrum/test/sp-2000.sna.gz, + trunk/libspectrum/libspectrum/test/sp-ffff.sna.gz, + trunk/libspectrum/libspectrum/test/test.c, + trunk/libspectrum/libspectrum/timings.c, + trunk/libspectrum/libspectrum/z80.c: Merge up to vendor version + 0.4.0. + +2008-02-13 12:54 fredm + + * trunk/fuse/fusepb/controllers/FuseController.h, + trunk/fuse/fusepb/controllers/FuseController.m, + trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib, + trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib, + trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib, + trunk/fuse/fusepb/views/DisplayOpenGLView.h, + trunk/fuse/fusepb/views/DisplayOpenGLView.m: Fix the blocked + keyboard from Command-q (quit), Command-h (hide) and Command-m + (minimise) (fixes bug #1842577). + +2008-02-11 12:16 fredm + + * trunk/fuse/fusepb/controllers/FuseController.h, + trunk/fuse/fusepb/controllers/FuseController.m, + trunk/fuse/fusepb/views/DisplayOpenGLView.m: Clear stuck shortcut + keys for Command-{0,1,2,3,f,s,z,b,o,p,period}, still need to + handle Command-q (quit), Command-h (hide) and Command-m + (minimise). + +2008-02-10 20:47 fredm + + * trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj, + trunk/fuse/fusepb/controllers/FuseController.h, + trunk/fuse/fusepb/controllers/FuseController.m, + trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib, + trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib, + trunk/fuse/fusepb/views/DisplayOpenGLView.h, + trunk/fuse/fusepb/views/DisplayOpenGLView.m: Make application + quit menu use performClose on the window, and switch exit confirm + dialog to windowShouldClose in DisplayOpenGLView (partial fix to + bug #1842576). + +2007-12-21 02:42 fredm + + * trunk/FuseGenerator/LibspectrumSCRExtractor.m: Some SCREEN$ were + saved from places other than 16384 (presumably due to art + packages and the like). + +2007-12-21 00:16 fredm + + * trunk/FuseGenerator, trunk/FuseGenerator/English.lproj, + trunk/FuseGenerator/English.lproj/InfoPlist.strings, + trunk/FuseGenerator/FuseGenerator.xcodeproj, + trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj, + trunk/FuseGenerator/GeneratePreviewForURL.m, + trunk/FuseGenerator/GenerateThumbnailForURL.m, + trunk/FuseGenerator/Info.plist, + trunk/FuseGenerator/JWSpectrumScreen, + trunk/FuseGenerator/JWSpectrumScreen/AttributeBlock.h, + trunk/FuseGenerator/JWSpectrumScreen/AttributeBlock.m, + trunk/FuseGenerator/JWSpectrumScreen/AttributeBlockIterator.h, + trunk/FuseGenerator/JWSpectrumScreen/AttributeBlockIterator.m, + trunk/FuseGenerator/JWSpectrumScreen/AttributeBlockTimex.h, + trunk/FuseGenerator/JWSpectrumScreen/AttributeBlockTimex.m, + trunk/FuseGenerator/JWSpectrumScreen/AttributeBlockTimexHiRes.h, + trunk/FuseGenerator/JWSpectrumScreen/AttributeBlockTimexHiRes.m, + trunk/FuseGenerator/JWSpectrumScreen/AttributeManager.c, + trunk/FuseGenerator/JWSpectrumScreen/AttributeManager.h, + trunk/FuseGenerator/JWSpectrumScreen/ColourMacros.c, + trunk/FuseGenerator/JWSpectrumScreen/ColourMacros.h, + trunk/FuseGenerator/JWSpectrumScreen/English.lproj, + trunk/FuseGenerator/JWSpectrumScreen/English.lproj/InfoPlist.strings, + trunk/FuseGenerator/JWSpectrumScreen/Info.plist, + trunk/FuseGenerator/JWSpectrumScreen/JWSpectrumScreen.h, + trunk/FuseGenerator/JWSpectrumScreen/JWSpectrumScreen.m, + trunk/FuseGenerator/JWSpectrumScreen/JWSpectrumScreen.xcodeproj, + trunk/FuseGenerator/JWSpectrumScreen/JWSpectrumScreen.xcodeproj/project.pbxproj, + trunk/FuseGenerator/JWSpectrumScreen/JWSpectrumScreenConstants.h, + trunk/FuseGenerator/JWSpectrumScreen/JWSpectrumScreen_Prefix.pch, + trunk/FuseGenerator/JWSpectrumScreen/PixelData.h, + trunk/FuseGenerator/JWSpectrumScreen/README, + trunk/FuseGenerator/LibspectrumSCRExtractor.h, + trunk/FuseGenerator/LibspectrumSCRExtractor.m, + trunk/FuseGenerator/config.h, trunk/FuseGenerator/generate.pl, + trunk/FuseGenerator/libspectrum, + trunk/FuseGenerator/libspectrum.h, trunk/FuseGenerator/main.c, + trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj, + trunk/README, trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj: + Add QuickLook generator for Speccy-related files, thanks to James + Weatherley for JWSpectrumScreen that makes it all possible. + +2007-12-20 11:04 fredm + + * trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj: Spotlight + importer should be in Contents/Library/Spotlight, not PlugIns + +2007-11-17 11:17 fredm + + * trunk/fuse/fusepb/resources/Fuse.icns: Add 512x512px icon for + Fuse. + +2007-11-17 07:49 fredm + + * trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html: Add + some extra change entries. + +2007-11-16 23:51 fredm + + * trunk/fuse/fusepb/Info-Fuse.plist: Increment version number to + reflect merge state. + +2007-11-16 23:49 fredm + + * trunk/FuseImporter/libspectrum.h, + trunk/audiofile/audiofile.xcodeproj/project.pbxproj, + trunk/fuse/ChangeLog, trunk/fuse/Makefile.am, trunk/fuse/ay.c, + trunk/fuse/bitmap.h, trunk/fuse/compat.h, + trunk/fuse/compat/Makefile.am, + trunk/fuse/compat/amiga/Makefile.am, + trunk/fuse/compat/amiga/paths.c, + trunk/fuse/compat/morphos/Makefile.am, + trunk/fuse/compat/morphos/osname.c, + trunk/fuse/compat/unix/Makefile.am, + trunk/fuse/compat/unix/osname.c, trunk/fuse/compat/unix/paths.c, + trunk/fuse/compat/win32/Makefile.am, + trunk/fuse/compat/win32/osname.c, + trunk/fuse/compat/win32/paths.c, trunk/fuse/configure.in, + trunk/fuse/debugger/Makefile.am, + trunk/fuse/debugger/breakpoint.c, trunk/fuse/debugger/command.c, + trunk/fuse/debugger/commandy.y, trunk/fuse/debugger/debugger.c, + trunk/fuse/debugger/debugger_internals.h, + trunk/fuse/debugger/disassemble.c, + trunk/fuse/debugger/expression.c, trunk/fuse/disk/Makefile.am, + trunk/fuse/disk/beta.c, trunk/fuse/disk/beta.h, + trunk/fuse/disk/crc.c, trunk/fuse/disk/crc.h, + trunk/fuse/disk/disk.c, trunk/fuse/disk/disk.h, + trunk/fuse/disk/fdd.c, trunk/fuse/disk/fdd.h, + trunk/fuse/disk/plusd.c, trunk/fuse/disk/plusd.h, + trunk/fuse/disk/wd1770.c, trunk/fuse/disk/wd1770.h, + trunk/fuse/disk/wd_fdc.c, trunk/fuse/disk/wd_fdc.h, + trunk/fuse/divide.c, trunk/fuse/event.c, trunk/fuse/event.h, + trunk/fuse/fuse.cpp, + trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj, + trunk/fuse/fusepb/Makefile, + trunk/fuse/fusepb/controllers/FuseController.h, + trunk/fuse/fusepb/controllers/FuseController.m, + trunk/fuse/fusepb/models/Emulator.h, + trunk/fuse/fusepb/models/Emulator.m, + trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib, + trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib, + trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib, + trunk/fuse/fusepb/nibs/Preferences.nib/classes.nib, + trunk/fuse/fusepb/nibs/Preferences.nib/info.nib, + trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib, + trunk/fuse/fusepb/views/DisplayOpenGLView.h, + trunk/fuse/fusepb/views/DisplayOpenGLView.m, + trunk/fuse/hacking/ChangeLog, trunk/fuse/hacking/cvs-tags, + trunk/fuse/if1.c, trunk/fuse/if2.c, trunk/fuse/keyboard.h, + trunk/fuse/keysyms.pl, trunk/fuse/lib/Makefile.am, + trunk/fuse/machine.c, trunk/fuse/machines/Makefile.am, + trunk/fuse/machines/machines.h, trunk/fuse/machines/pentagon.c, + trunk/fuse/machines/pentagon1024.c, + trunk/fuse/machines/pentagon512.c, + trunk/fuse/machines/scorpion.c, trunk/fuse/machines/scorpion.h, + trunk/fuse/machines/spec128.c, trunk/fuse/machines/spec128.h, + trunk/fuse/machines/spec16.c, trunk/fuse/machines/spec48.c, + trunk/fuse/machines/spec48.h, trunk/fuse/machines/spec_se.c, + trunk/fuse/machines/specplus2.c, + trunk/fuse/machines/specplus2a.c, + trunk/fuse/machines/specplus3.c, trunk/fuse/machines/specplus3.h, + trunk/fuse/machines/specplus3e.c, trunk/fuse/machines/tc2048.c, + trunk/fuse/machines/tc2068.c, trunk/fuse/machines/tc2068.h, + trunk/fuse/machines/ts2068.c, trunk/fuse/man/fuse.1, + trunk/fuse/memory.h, trunk/fuse/menu.c, trunk/fuse/menu_data.dat, + trunk/fuse/menu_data.pl, trunk/fuse/periph.c, + trunk/fuse/periph.h, trunk/fuse/pokefinder/Makefile.am, + trunk/fuse/pokefinder/pokefinder.c, trunk/fuse/printer.c, + trunk/fuse/profile.c, trunk/fuse/profile.h, + trunk/fuse/roms/Makefile.am, trunk/fuse/roms/gluck.rom, + trunk/fuse/roms/plus3e-0.rom, trunk/fuse/roms/plus3e-1.rom, + trunk/fuse/roms/plus3e-2.rom, trunk/fuse/rzx.c, + trunk/fuse/settings.dat, trunk/fuse/settings.pl, + trunk/fuse/snapshot.c, trunk/fuse/sound.c, + trunk/fuse/sound/Makefile.am, trunk/fuse/sound/alsasound.c, + trunk/fuse/sound/aosound.c, trunk/fuse/sound/dxsound.c, + trunk/fuse/sound/hpsound.c, trunk/fuse/sound/nullsound.c, + trunk/fuse/sound/osssound.c, trunk/fuse/sound/sdlsound.c, + trunk/fuse/sound/sfifo.c, trunk/fuse/sound/sunsound.c, + trunk/fuse/spectrum.h, trunk/fuse/tape.c, + trunk/fuse/timer/Makefile.am, trunk/fuse/timer/timer.c, + trunk/fuse/timer/unix.c, trunk/fuse/trdos.c, trunk/fuse/trdos.h, + trunk/fuse/ui.c, trunk/fuse/ui/Makefile.am, + trunk/fuse/ui/cocoa/cocoaui.m, trunk/fuse/ui/fb/Makefile.am, + trunk/fuse/ui/fb/fbdisplay.c, trunk/fuse/ui/fb/fbjoystick.c, + trunk/fuse/ui/fb/fbkeyboard.c, trunk/fuse/ui/fb/fbmouse.c, + trunk/fuse/ui/fb/fbui.c, trunk/fuse/ui/ggi, + trunk/fuse/ui/gtk/Makefile.am, trunk/fuse/ui/gtk/binary.c, + trunk/fuse/ui/gtk/browse.c, trunk/fuse/ui/gtk/confirm.c, + trunk/fuse/ui/gtk/debugger.c, trunk/fuse/ui/gtk/fileselector.c, + trunk/fuse/ui/gtk/gtkdisplay.c, trunk/fuse/ui/gtk/gtkjoystick.c, + trunk/fuse/ui/gtk/gtkkeyboard.c, trunk/fuse/ui/gtk/gtkmouse.c, + trunk/fuse/ui/gtk/gtkui.c, trunk/fuse/ui/gtk/memory.c, + trunk/fuse/ui/gtk/options-header.pl, + trunk/fuse/ui/gtk/options.pl, trunk/fuse/ui/gtk/picture.c, + trunk/fuse/ui/gtk/pokefinder.c, trunk/fuse/ui/gtk/rollback.c, + trunk/fuse/ui/gtk/roms.c, trunk/fuse/ui/gtk/statusbar.c, + trunk/fuse/ui/options.dat, trunk/fuse/ui/scaler/Makefile.am, + trunk/fuse/ui/scaler/scaler.c, trunk/fuse/ui/scaler/scalers.cpp, + trunk/fuse/ui/sdl/Makefile.am, trunk/fuse/ui/sdl/sdldisplay.c, + trunk/fuse/ui/sdl/sdljoystick.c, trunk/fuse/ui/sdl/sdlkeyboard.c, + trunk/fuse/ui/sdl/sdlui.c, trunk/fuse/ui/svga/Makefile.am, + trunk/fuse/ui/svga/svgadisplay.c, + trunk/fuse/ui/svga/svgajoystick.c, + trunk/fuse/ui/svga/svgakeyboard.c, trunk/fuse/ui/svga/svgaui.c, + trunk/fuse/ui/ui.h, trunk/fuse/ui/uijoystick.c, + trunk/fuse/ui/win32/Makefile.am, trunk/fuse/ui/win32/debugger.c, + trunk/fuse/ui/win32/error.c, trunk/fuse/ui/win32/menu_data.c, + trunk/fuse/ui/win32/menu_data.h, + trunk/fuse/ui/win32/menu_data.rc, + trunk/fuse/ui/win32/options-header.pl, + trunk/fuse/ui/win32/options-resource.pl, + trunk/fuse/ui/win32/options.pl, trunk/fuse/ui/win32/pokefinder.c, + trunk/fuse/ui/win32/statusbar.c, + trunk/fuse/ui/win32/win32display.c, + trunk/fuse/ui/win32/win32display.h, + trunk/fuse/ui/win32/win32internals.h, + trunk/fuse/ui/win32/win32keyboard.c, + trunk/fuse/ui/win32/win32ui.c, trunk/fuse/ui/xlib/Makefile.am, + trunk/fuse/ui/xlib/xdisplay.c, trunk/fuse/ui/xlib/xerror.c, + trunk/fuse/ui/xlib/xjoystick.c, trunk/fuse/ui/xlib/xkeyboard.c, + trunk/fuse/ui/xlib/xui.c, trunk/fuse/utils.c, trunk/fuse/utils.h, + trunk/fuse/widget/Makefile.am, trunk/fuse/widget/browse.c, + trunk/fuse/widget/debugger.c, trunk/fuse/widget/error.c, + trunk/fuse/widget/filesel.c, trunk/fuse/widget/memory.c, + trunk/fuse/widget/menu.c, trunk/fuse/widget/options.pl, + trunk/fuse/widget/picture.c, trunk/fuse/widget/pokefinder.c, + trunk/fuse/widget/query.c, trunk/fuse/widget/roms.c, + trunk/fuse/widget/select.c, trunk/fuse/widget/text.c, + trunk/fuse/widget/widget.c, trunk/fuse/widget/widget.h, + trunk/fuse/widget/widget_internals.h, trunk/fuse/z80/Makefile.am, + trunk/fuse/z80/coretest.c, trunk/fuse/z80/z80.c, + trunk/fuse/z80/z80.pl, trunk/fuse/z80/z80_checks.h, + trunk/fuse/z80/z80_ops.c, trunk/libspectrum/libspectrum.h, + trunk/libspectrum/libspectrum/ChangeLog, + trunk/libspectrum/libspectrum/Makefile.am, + trunk/libspectrum/libspectrum/configure.in, + trunk/libspectrum/libspectrum/csw.c, + trunk/libspectrum/libspectrum/doc/libspectrum.txt, + trunk/libspectrum/libspectrum/generate.pl.in, + trunk/libspectrum/libspectrum/hacking/ChangeLog, + trunk/libspectrum/libspectrum/libspectrum.c, + trunk/libspectrum/libspectrum/libspectrum.h.in, + trunk/libspectrum/libspectrum/plusd.c, + trunk/libspectrum/libspectrum/rzx.c, + trunk/libspectrum/libspectrum/sna.c, + trunk/libspectrum/libspectrum/szx.c, + trunk/libspectrum/libspectrum/tape.c, + trunk/libspectrum/libspectrum/test/Makefile.am, + trunk/libspectrum/libspectrum/test/complete-tzx.pl, + trunk/libspectrum/libspectrum/test/edges.c, + trunk/libspectrum/libspectrum/test/invalid-warajevo-blockoffset.tap, + trunk/libspectrum/libspectrum/test/jump.tzx, + trunk/libspectrum/libspectrum/test/loop2.tzx, + trunk/libspectrum/libspectrum/test/test.c, + trunk/libspectrum/libspectrum/test/test.h, + trunk/libspectrum/libspectrum/test/test15.c, + trunk/libspectrum/libspectrum/timings.c, + trunk/libspectrum/libspectrum/z80.c: Merge up to vendor r3254. + +2007-11-09 23:10 fredm + + * trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj, + trunk/audiofile/audiofile.xcodeproj/project.pbxproj, trunk/bzip2, + trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj, + trunk/lib765/lib765.xcodeproj/project.pbxproj, + trunk/libgcrypt/libgcrypt.xcodeproj/project.pbxproj, + trunk/libspectrum/libspectrum.xcodeproj/project.pbxproj: Move to + XCode 2.5 and 10.4 target for all frameworks. Link to libbz2 in + /usr/lib instead of framework. + +2007-11-09 22:38 fredm + + * trunk/fuse/TODO: Update for last few changes. + +2007-08-15 23:23 fredm + + * trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib, + trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib: Disable + Tape->Record menu item when tape traps are enabled. + +2007-08-14 14:04 fredm + + * trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib, + trunk/fuse/fusepb/views/DisplayOpenGLView.h, + trunk/fuse/fusepb/views/DisplayOpenGLView.m, + trunk/fuse/settings.dat: Refactor display link starting and + stopping and try to only stop and start the display link at + appropriate times, add support for panoramic fullscreen mode. + +2007-08-12 05:49 fredm + + * trunk/fuse/fusepb/controllers/PreferencesController.m, + trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib, + trunk/fuse/fusepb/views/DisplayOpenGLView.h, + trunk/fuse/fusepb/views/DisplayOpenGLView.m, + trunk/fuse/settings.dat, trunk/fuse/ui/cocoa/cocoadisplay.m: + Rollback revision 434 now we understand what was causing the + texture distortion. + +2007-08-12 00:30 fredm + + * trunk/fuse/fusepb/views/DisplayOpenGLView.m: Use correct offset + for emulator top right texture. + +2007-08-06 02:39 fredm + + * trunk/lib765/lib765/config.h, trunk/lib765/libdsk/config.h: Bump + version numbers in config.h head... [truncated message content] |
From: <fr...@us...> - 2009-01-15 20:31:23
|
Revision: 590 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=590&view=rev Author: fredm Date: 2009-01-15 20:31:13 +0000 (Thu, 15 Jan 2009) Log Message: ----------- Tag 0.10.0.2 release. Added Paths: ----------- tags/Release-0_10_0_2/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2009-01-15 13:01:48
|
Revision: 589 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=589&view=rev Author: fredm Date: 2009-01-15 11:54:04 +0000 (Thu, 15 Jan 2009) Log Message: ----------- Merge in vendor 0.10.0.2 changes. Modified Paths: -------------- branches/Release-0_10_0-branch/fuse/ChangeLog branches/Release-0_10_0-branch/fuse/README branches/Release-0_10_0-branch/fuse/disk/disk.c branches/Release-0_10_0-branch/fuse/disk/fdd.c branches/Release-0_10_0-branch/fuse/disk/plusd.c branches/Release-0_10_0-branch/fuse/event.c branches/Release-0_10_0-branch/fuse/event.h branches/Release-0_10_0-branch/fuse/fuse.c branches/Release-0_10_0-branch/fuse/fusepb/Info-Fuse.plist branches/Release-0_10_0-branch/fuse/fusepb/config.h branches/Release-0_10_0-branch/fuse/fusepb/resources/Fuse Help/html/changelog.html branches/Release-0_10_0-branch/fuse/hacking/ChangeLog branches/Release-0_10_0-branch/fuse/hacking/cvs-tags branches/Release-0_10_0-branch/fuse/loader.c branches/Release-0_10_0-branch/fuse/man/fuse.1 branches/Release-0_10_0-branch/fuse/ui/widget/options-header.pl branches/Release-0_10_0-branch/fuse/ui/widget/query.c branches/Release-0_10_0-branch/libspectrum/config.h branches/Release-0_10_0-branch/libspectrum/libspectrum/ChangeLog branches/Release-0_10_0-branch/libspectrum/libspectrum/README branches/Release-0_10_0-branch/libspectrum/libspectrum/configure.in branches/Release-0_10_0-branch/libspectrum/libspectrum/doc/libspectrum.3 branches/Release-0_10_0-branch/libspectrum/libspectrum/hacking/ChangeLog branches/Release-0_10_0-branch/libspectrum/libspectrum/libspectrum.c branches/Release-0_10_0-branch/libspectrum/libspectrum/tap.c Modified: branches/Release-0_10_0-branch/fuse/ChangeLog =================================================================== --- branches/Release-0_10_0-branch/fuse/ChangeLog 2009-01-09 23:23:40 UTC (rev 588) +++ branches/Release-0_10_0-branch/fuse/ChangeLog 2009-01-15 11:54:04 UTC (rev 589) @@ -1,3 +1,23 @@ +2009-01-14 Philip Kendall <phi...@sh...> + + * Fuse 0.10.0.2 released + + * Make loader acceleration work on all compilers (Philip Kendall; + thanks, Carlos Almeida, Alberto Garcia and Alexander Yurchenko). + + * Make the "Don't Save" option in the widget UI do the right thing + (Frederick Meunier). + + * Allow both +3 disk drives to be used at once (Gergely Szasz). + + * Allow both +D disk drives to be used at once (Gergely Szasz). + + * Make .dsk code handle missing newline on "Track-Info" header + (Gergely Szasz; thanks, Simon Owen). + + * Remove unnecessary 'use' directive when building widget options + header file; fixes some build issues (Frederick Meunier) + 2008-12-10 Philip Kendall <phi...@sh...> * Fuse 0.10.0.1 released @@ -941,4 +961,4 @@ * Version 0.1.0 released. -$Id: ChangeLog 3823 2008-11-16 17:32:18Z pak21 $ +$Id: ChangeLog 3957 2009-01-14 19:52:20Z pak21 $ Modified: branches/Release-0_10_0-branch/fuse/README =================================================================== --- branches/Release-0_10_0-branch/fuse/README 2009-01-09 23:23:40 UTC (rev 588) +++ branches/Release-0_10_0-branch/fuse/README 2009-01-15 11:54:04 UTC (rev 589) @@ -1,4 +1,4 @@ -The Free Unix Spectrum Emulator (Fuse) 0.10.0.1 +The Free Unix Spectrum Emulator (Fuse) 0.10.0.2 =============================================== Fuse (the Free Unix Spectrum Emulator) was originally, and somewhat @@ -150,6 +150,6 @@ ( http://www.worldofspectrum.org/faq/index.html ) first! Philip Kendall <phi...@sh...> -10 December 2008 +14 January 2009 -$Id: README 3866 2008-11-29 17:05:40Z pak21 $ +$Id: README 3957 2009-01-14 19:52:20Z pak21 $ Modified: branches/Release-0_10_0-branch/fuse/disk/disk.c =================================================================== --- branches/Release-0_10_0-branch/fuse/disk/disk.c 2009-01-09 23:23:40 UTC (rev 588) +++ branches/Release-0_10_0-branch/fuse/disk/disk.c 2009-01-15 11:54:04 UTC (rev 589) @@ -1,7 +1,7 @@ /* disk.c: Routines for handling disk images Copyright (c) 2007 Gergely Szasz - $Id: disk.c 3858 2008-11-29 11:15:22Z fredm $ + $Id: disk.c 3942 2009-01-10 14:18:46Z 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 @@ -993,7 +993,7 @@ break; } if( buffavail( buffer ) < 256 || - memcmp( buff, "Track-Info\r\n", 12 ) ) /* check track header */ + memcmp( buff, "Track-Info", 10 ) ) /* check track header */ return d->status = DISK_OPEN; gap = (unsigned char)buff[0x16] == 0xff ? GAP_MINIMAL_FM : Modified: branches/Release-0_10_0-branch/fuse/disk/fdd.c =================================================================== --- branches/Release-0_10_0-branch/fuse/disk/fdd.c 2009-01-09 23:23:40 UTC (rev 588) +++ branches/Release-0_10_0-branch/fuse/disk/fdd.c 2009-01-15 11:54:04 UTC (rev 589) @@ -1,7 +1,7 @@ /* fdd.c: Routines for emulating floppy disk drives Copyright (c) 2007 Gergely Szasz - $Id: fdd.c 3802 2008-11-02 17:06:41Z pak21 $ + $Id: fdd.c 3942 2009-01-10 14:18:46Z 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 @@ -135,7 +135,7 @@ d->fdd_heads = heads; d->fdd_cylinders = cyls; - return d->status = DISK_OK; + return d->status = FDD_OK; } void @@ -159,7 +159,7 @@ Note: Pre-ready is the state that at least one INDEX pulse has been detected after item iii) is satisfied */ - event_remove_type( motor_event ); /* remove pending motor-on event */ + event_remove_type_user_data( motor_event, d ); /* remove pending motor-on event for *this* drive */ if( on ) { event_add_with_data( tstates + 4 * /* 2 revolution: 2 * 200 / 1000 */ machine_current->timings.processor_speed / 10, @@ -222,7 +222,7 @@ fdd_head_load( d, 1 ); fdd_set_data( d, FDD_LOAD_FACT ); - return d->status = DISK_OK; + return d->status = FDD_OK; } void Modified: branches/Release-0_10_0-branch/fuse/disk/plusd.c =================================================================== --- branches/Release-0_10_0-branch/fuse/disk/plusd.c 2009-01-09 23:23:40 UTC (rev 588) +++ branches/Release-0_10_0-branch/fuse/disk/plusd.c 2009-01-15 11:54:04 UTC (rev 589) @@ -2,7 +2,7 @@ Copyright (c) 1999-2007 Stuart Brady, Fredrick Meunier, Philip Kendall, Dmitry Sanarin, Darren Salt - $Id: plusd.c 3681 2008-06-16 09:40:29Z pak21 $ + $Id: plusd.c 3942 2009-01-10 14:18:46Z 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 @@ -306,8 +306,15 @@ } fdd_select( &plusd_drives[ (!drive) ].fdd, 0 ); fdd_select( &plusd_drives[ drive ].fdd, 1 ); - plusd_fdc->current_drive = &plusd_drives[ drive ]; + if( plusd_fdc->current_drive != &plusd_drives[ drive ] ) { + if( plusd_fdc->current_drive->fdd.motoron ) { /* swap motoron */ + fdd_motoron( &plusd_drives[ (!drive) ].fdd, 0 ); + fdd_motoron( &plusd_drives[ drive ].fdd, 1 ); + } + plusd_fdc->current_drive = &plusd_drives[ drive ]; + } + printer_parallel_strobe_write( b & 0x40 ); } Modified: branches/Release-0_10_0-branch/fuse/event.c =================================================================== --- branches/Release-0_10_0-branch/fuse/event.c 2009-01-09 23:23:40 UTC (rev 588) +++ branches/Release-0_10_0-branch/fuse/event.c 2009-01-15 11:54:04 UTC (rev 589) @@ -1,7 +1,7 @@ /* event.c: Routines needed for dealing with the event list Copyright (c) 2000-2008 Philip Kendall - $Id: event.c 3682 2008-06-19 05:43:54Z pak21 $ + $Id: event.c 3942 2009-01-10 14:18:46Z 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 @@ -58,6 +58,11 @@ char *description; } event_descriptor_t; +typedef struct event_typeuser_t { + int type; + gpointer data; +} event_typeuser_t; + static GArray *registered_events; int @@ -213,6 +218,16 @@ if( ptr->type == *type ) ptr->type = event_type_null; } +static void +set_event_null_2( gpointer data, gpointer user_data ) +{ + event_t *ptr = data; + event_typeuser_t *e = user_data; + + if( ptr->type == e->type && ptr->user_data == e->data ) + ptr->type = event_type_null; +} + /* Remove all events of a specific type from the stack */ int event_remove_type( int type ) @@ -221,6 +236,18 @@ return 0; } +/* Remove all events of a specific type and user data from the stack */ +int +event_remove_type_user_data( int type, gpointer user_data ) +{ + event_typeuser_t e; + + e.type = type; + e.data = user_data; + g_slist_foreach( event_list, set_event_null_2, &e ); + return 0; +} + /* Free the memory used by a specific entry */ static void event_free_entry( gpointer data, gpointer user_data GCC_UNUSED ) Modified: branches/Release-0_10_0-branch/fuse/event.h =================================================================== --- branches/Release-0_10_0-branch/fuse/event.h 2009-01-09 23:23:40 UTC (rev 588) +++ branches/Release-0_10_0-branch/fuse/event.h 2009-01-15 11:54:04 UTC (rev 589) @@ -1,7 +1,7 @@ /* event.h: Routines needed for dealing with the event list Copyright (c) 2000-2004 Philip Kendall - $Id: event.h 3681 2008-06-16 09:40:29Z pak21 $ + $Id: event.h 3942 2009-01-10 14:18:46Z 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 @@ -82,6 +82,9 @@ /* Remove all events of a specific type from the stack */ int event_remove_type( int type ); +/* Remove all events of a specific type and user data from the stack */ +int event_remove_type_user_data( int type, gpointer user_data ); + /* Clear the event stack */ int event_reset(void); Modified: branches/Release-0_10_0-branch/fuse/fuse.c =================================================================== --- branches/Release-0_10_0-branch/fuse/fuse.c 2009-01-09 23:23:40 UTC (rev 588) +++ branches/Release-0_10_0-branch/fuse/fuse.c 2009-01-15 11:54:04 UTC (rev 589) @@ -364,7 +364,7 @@ printf( "\n" ); fuse_show_version(); printf( - "Copyright (c) 1999-2008 Philip Kendall and others; see the file\n" + "Copyright (c) 1999-2009 Philip Kendall and others; see the file\n" "'AUTHORS' for more details.\n" "\n" "For help, please mail <fus...@li...> or use\n" Modified: branches/Release-0_10_0-branch/fuse/fusepb/Info-Fuse.plist =================================================================== --- branches/Release-0_10_0-branch/fuse/fusepb/Info-Fuse.plist 2009-01-09 23:23:40 UTC (rev 588) +++ branches/Release-0_10_0-branch/fuse/fusepb/Info-Fuse.plist 2009-01-15 11:54:04 UTC (rev 589) @@ -480,7 +480,7 @@ <key>CFBundleSignature</key> <string>FUSE</string> <key>CFBundleVersion</key> - <string>0.10.0.1</string> + <string>0.10.0.2</string> <key>NSMainNibFile</key> <string>MainMenu</string> <key>NSPrincipalClass</key> Modified: branches/Release-0_10_0-branch/fuse/fusepb/config.h =================================================================== --- branches/Release-0_10_0-branch/fuse/fusepb/config.h 2009-01-09 23:23:40 UTC (rev 588) +++ branches/Release-0_10_0-branch/fuse/fusepb/config.h 2009-01-15 11:54:04 UTC (rev 589) @@ -152,7 +152,7 @@ /* #undef USE_WIDGET */ /* Version number of package */ -#define VERSION "0.10.0.1" +#define VERSION "0.10.0.2" /* Define to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel and VAX). */ Modified: branches/Release-0_10_0-branch/fuse/fusepb/resources/Fuse Help/html/changelog.html =================================================================== --- branches/Release-0_10_0-branch/fuse/fusepb/resources/Fuse Help/html/changelog.html 2009-01-09 23:23:40 UTC (rev 588) +++ branches/Release-0_10_0-branch/fuse/fusepb/resources/Fuse Help/html/changelog.html 2009-01-15 11:54:04 UTC (rev 589) @@ -18,17 +18,25 @@ <ul> <li><font face="Lucida Grande,Helvetica,Arial">Miscellaneous bugfixes:</font></li> <ul> + <li><font face="Lucida Grande,Helvetica,Arial">Allow both +3 disk +drives to be used at once (Gergely Szasz).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Allow both +D disk +drives to be used at once (Gergely Szasz).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Make .dsk code +handle missing newline on "Track-Info" header +(Gergely Szasz; thanks, Simon Owen).<br> + </font></li> <li><font face="Lucida Grande,Helvetica,Arial">Fix running with sound off and with non-default speed (Fredrick Meunier; thanks, Andrew Owen).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Fix colours in minimised toolbar icon on GMA950 card (Roine Gustafsson).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Stop displayLink + <li><font face="Lucida Grande,Helvetica,Arial">Stop DisplayLink when quitting from emulator before stopping emulator thread (Fredrick Meunier).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Decouple texture -updating and drawing and only update texture when there are<br> -changes (Roine Gustafsson).</font></li> +updating and drawing and only update texture when there are changes +(Roine Gustafsson).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Update the statusbar if nothing has changed on the Speccy screen (Fredrick Meunier).<br> </font></li> Modified: branches/Release-0_10_0-branch/fuse/hacking/ChangeLog =================================================================== --- branches/Release-0_10_0-branch/fuse/hacking/ChangeLog 2009-01-09 23:23:40 UTC (rev 588) +++ branches/Release-0_10_0-branch/fuse/hacking/ChangeLog 2009-01-15 11:54:04 UTC (rev 589) @@ -2959,3 +2959,17 @@ O_TRUNC to ensure that any old data is cleared out. Also fix a dependency problem (thanks, Matthew Westcott). 20081210 ChangeLog,configure.in,man/fuse.1,README: update for 0.10.0.1 release. +20090110 Merge changes from trunk: + * disk/disk.c: relax "Track-Info" check (Gergely Szasz; thanks, Simon + Owen). + * ui/widget/options-header.pl: remove unnecessary use directive (Fred). + * event.[ch],disk/fdd.c: fix issue with FDD motor events preventing + both +3 disk drives from being used (bug #2424700) (Gergely Szasz). + * ui/widget/query.c: make "Don't Save" return the correct enum (Fred). + * disk/plusd.c: support +D switching between the two drives when the + motor on signal is 'ON' as when copying between drives (fixes bug + #2465540) (Gergely Szasz). + * fuse.c: update copyright date. + * loader.c: don't call readbyte_internal macro with an argument that + has side effects (fixes accelerated loaders with gcc 3.x; thanks, + Carlos Almeida, Alberto Garcia and Alexander Yurchenko). Modified: branches/Release-0_10_0-branch/fuse/hacking/cvs-tags =================================================================== --- branches/Release-0_10_0-branch/fuse/hacking/cvs-tags 2009-01-09 23:23:40 UTC (rev 588) +++ branches/Release-0_10_0-branch/fuse/hacking/cvs-tags 2009-01-15 11:54:04 UTC (rev 589) @@ -1,6 +1,6 @@ CVS tags for Fuse -$Id: cvs-tags 3812 2008-11-09 11:43:44Z pak21 $ +$Id: cvs-tags 3897 2008-12-10 18:42:11Z pak21 $ | Release-0_3_1 | Release-0_3_2pre1 Modified: branches/Release-0_10_0-branch/fuse/loader.c =================================================================== --- branches/Release-0_10_0-branch/fuse/loader.c 2009-01-09 23:23:40 UTC (rev 588) +++ branches/Release-0_10_0-branch/fuse/loader.c 2009-01-15 11:54:04 UTC (rev 589) @@ -1,7 +1,7 @@ /* loader.c: loader detection Copyright (c) 2006 Philip Kendall - $Id: loader.c 3681 2008-06-16 09:40:29Z pak21 $ + $Id: loader.c 3942 2009-01-10 14:18:46Z 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 @@ -82,8 +82,8 @@ z80.bc.b.h = 0x00; } z80.af.b.l |= 0x01; - z80.pc.b.l = readbyte_internal( z80.sp.w++ ); - z80.pc.b.h = readbyte_internal( z80.sp.w++ ); + z80.pc.b.l = readbyte_internal( z80.sp.w ); z80.sp.w++; + z80.pc.b.h = readbyte_internal( z80.sp.w ); z80.sp.w++; event_remove_type( tape_edge_event ); tape_next_edge( tstates, 0, NULL ); Modified: branches/Release-0_10_0-branch/fuse/man/fuse.1 =================================================================== --- branches/Release-0_10_0-branch/fuse/man/fuse.1 2009-01-09 23:23:40 UTC (rev 588) +++ branches/Release-0_10_0-branch/fuse/man/fuse.1 2009-01-15 11:54:04 UTC (rev 589) @@ -23,7 +23,7 @@ .\" E-mail: phi...@sh... .\" .\" -.TH fuse 1 "10th December, 2008" "Version 0.10.0.1" "Emulators" +.TH fuse 1 "14th January, 2009" "Version 0.10.0.2" "Emulators" .\" .\"------------------------------------------------------------------ .\" Modified: branches/Release-0_10_0-branch/fuse/ui/widget/options-header.pl =================================================================== --- branches/Release-0_10_0-branch/fuse/ui/widget/options-header.pl 2009-01-09 23:23:40 UTC (rev 588) +++ branches/Release-0_10_0-branch/fuse/ui/widget/options-header.pl 2009-01-15 11:54:04 UTC (rev 589) @@ -3,7 +3,7 @@ # options-header.pl: generate options dialog boxes # Copyright (c) 2001-2002,2004 Philip Kendall -# $Id: options-header.pl 2889 2007-05-26 17:45:08Z zubzero $ +# $Id: options-header.pl 3942 2009-01-10 14:18:46Z 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 @@ -25,8 +25,6 @@ use strict; -use lib '../perl'; - use Fuse; use Fuse::Dialog; Modified: branches/Release-0_10_0-branch/fuse/ui/widget/query.c =================================================================== --- branches/Release-0_10_0-branch/fuse/ui/widget/query.c 2009-01-09 23:23:40 UTC (rev 588) +++ branches/Release-0_10_0-branch/fuse/ui/widget/query.c 2009-01-15 11:54:04 UTC (rev 589) @@ -1,7 +1,7 @@ /* query.c: The query widgets Copyright (c) 2004-2008 Darren Salt, Fredrick Meunier - $Id: query.c 3749 2008-08-15 12:47:44Z fredm $ + $Id: query.c 3942 2009-01-10 14:18:46Z 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 @@ -81,7 +81,7 @@ static void widget_dont_save_click( void ) { - widget_query.save = UI_CONFIRM_SAVE_CANCEL; + widget_query.save = UI_CONFIRM_SAVE_DONTSAVE; } static void Modified: branches/Release-0_10_0-branch/libspectrum/config.h =================================================================== --- branches/Release-0_10_0-branch/libspectrum/config.h 2009-01-09 23:23:40 UTC (rev 588) +++ branches/Release-0_10_0-branch/libspectrum/config.h 2009-01-15 11:54:04 UTC (rev 589) @@ -86,7 +86,7 @@ #define STDC_HEADERS 1 /* Version number of package */ -#define VERSION "0.5.0" +#define VERSION "0.5.0.1" /* Define to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel and VAX). */ Modified: branches/Release-0_10_0-branch/libspectrum/libspectrum/ChangeLog =================================================================== --- branches/Release-0_10_0-branch/libspectrum/libspectrum/ChangeLog 2009-01-09 23:23:40 UTC (rev 588) +++ branches/Release-0_10_0-branch/libspectrum/libspectrum/ChangeLog 2009-01-15 11:54:04 UTC (rev 589) @@ -1,5 +1,13 @@ -2008-11-?? Philip Kendall <phi...@sh...> +2009-01-14 Philip Kendall <phi...@sh...> + * libspectrum 0.5.0.1 released + + * Loosen signature checks for .dsk files to allow files not strictly + compliant with the specification to work (Gergely Szasz; thanks, + zx81 and Simon Owen). + +2008-12-03 Philip Kendall <phi...@sh...> + * libspectrum 0.5.0 released. * Memory management change: memory allocation functions now abort @@ -271,5 +279,5 @@ * libspectrum separated from Fuse just before the 0.5.0 release of Fuse; see Fuse's ChangeLog for changes up to this point -$Id: ChangeLog 3867 2008-11-29 23:43:28Z fredm $ +$Id: ChangeLog 3956 2009-01-14 19:50:48Z pak21 $ Modified: branches/Release-0_10_0-branch/libspectrum/libspectrum/README =================================================================== --- branches/Release-0_10_0-branch/libspectrum/libspectrum/README 2009-01-09 23:23:40 UTC (rev 588) +++ branches/Release-0_10_0-branch/libspectrum/libspectrum/README 2009-01-15 11:54:04 UTC (rev 589) @@ -1,5 +1,5 @@ -libspectrum 0.5.0 -================= +libspectrum 0.5.0.1 +=================== libspectrum is a library which is designed to make the input and output of ZX Spectrum emulator files slightly easier than it would be @@ -52,6 +52,6 @@ running 'configure' for the first time. Philip Kendall <phi...@sh...> -3 December 2008 +14 January 2008 -$Id: README 3864 2008-11-29 16:45:36Z pak21 $ +$Id: README 3956 2009-01-14 19:50:48Z pak21 $ Modified: branches/Release-0_10_0-branch/libspectrum/libspectrum/configure.in =================================================================== --- branches/Release-0_10_0-branch/libspectrum/libspectrum/configure.in 2009-01-09 23:23:40 UTC (rev 588) +++ branches/Release-0_10_0-branch/libspectrum/libspectrum/configure.in 2009-01-15 11:54:04 UTC (rev 589) @@ -1,7 +1,7 @@ dnl Process this file with autoconf to produce a configure script. dnl Copyright (c) 1999-2008 Philip Kendall -dnl $Id: configure.in 3864 2008-11-29 16:45:36Z pak21 $ +dnl $Id: configure.in 3956 2009-01-14 19:50:48Z 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 @@ -25,7 +25,7 @@ AM_CONFIG_HEADER(config.h) dnl Use automake to produce `Makefile.in' -AM_INIT_AUTOMAKE(libspectrum, 0.5.0) +AM_INIT_AUTOMAKE(libspectrum, 0.5.0.1) dnl Checks for programs. AC_PROG_CC Modified: branches/Release-0_10_0-branch/libspectrum/libspectrum/doc/libspectrum.3 =================================================================== --- branches/Release-0_10_0-branch/libspectrum/libspectrum/doc/libspectrum.3 2009-01-09 23:23:40 UTC (rev 588) +++ branches/Release-0_10_0-branch/libspectrum/libspectrum/doc/libspectrum.3 2009-01-15 11:54:04 UTC (rev 589) @@ -1,7 +1,7 @@ .\" -*- nroff -*- .\" .\" libspectrum.3: libspectrum summary -.\" Copyright (c) 2004-2008 Philip Kendall +.\" Copyright (c) 2004-2009 Philip Kendall .\" .\" 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 @@ -22,7 +22,7 @@ .\" E-mail: phi...@sh... .\" .\" -.TH libspectrum 3 "3rd December, 2008" "Version 0.5.0" "Emulators" +.TH libspectrum 3 "14th January, 2009" "Version 0.5.0.1" "Emulators" .\" .\"------------------------------------------------------------------ .\" Modified: branches/Release-0_10_0-branch/libspectrum/libspectrum/hacking/ChangeLog =================================================================== --- branches/Release-0_10_0-branch/libspectrum/libspectrum/hacking/ChangeLog 2009-01-09 23:23:40 UTC (rev 588) +++ branches/Release-0_10_0-branch/libspectrum/libspectrum/hacking/ChangeLog 2009-01-15 11:54:04 UTC (rev 589) @@ -710,3 +710,6 @@ README: final tweaks for 0.5.0 release (libspectrum_0_5_0-branch). 20081130 ChangeLog: add reference to TS2068 timing update (libspectrum_0_5_0-branch) (Fred). +20090110 Merge fix from trunk: + * libspectrum.c: loosen signature checks for .dsk files (Gergely; + thanks, zx81 and Simon Owen). Modified: branches/Release-0_10_0-branch/libspectrum/libspectrum/libspectrum.c =================================================================== --- branches/Release-0_10_0-branch/libspectrum/libspectrum/libspectrum.c 2009-01-09 23:23:40 UTC (rev 588) +++ branches/Release-0_10_0-branch/libspectrum/libspectrum/libspectrum.c 2009-01-15 11:54:04 UTC (rev 589) @@ -1,7 +1,7 @@ /* libspectrum.c: Some general routines Copyright (c) 2001-2004 Philip Kendall, Darren Salt, Fredrick Meunier - $Id: libspectrum.c 3806 2008-11-08 10:42:38Z pak21 $ + $Id: libspectrum.c 3943 2009-01-10 14:24:56Z 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 @@ -540,8 +540,8 @@ { LIBSPECTRUM_ID_DISK_IMG, "img", 3, NULL, 0, 0, 0 }, { LIBSPECTRUM_ID_DISK_UDI, "udi", 3, "UDI!", 0, 4, 4 }, - { LIBSPECTRUM_ID_DISK_ECPC, "dsk", 3, "EXTENDED CPC DSK File\r\nDisk-Info\r\n", 0, 34, 4 }, - { LIBSPECTRUM_ID_DISK_CPC, "dsk", 3, "MV - CPCEMU Disk-File\r\nDisk-Info\r\n", 0, 34, 4 }, + { LIBSPECTRUM_ID_DISK_ECPC, "dsk", 3, "EXTENDED", 0, 8, 4 }, + { LIBSPECTRUM_ID_DISK_CPC, "dsk", 3, "MV - CPC", 0, 8, 4 }, { LIBSPECTRUM_ID_DISK_FDI, "fdi", 3, "FDI", 0, 3, 4 }, { LIBSPECTRUM_ID_DISK_SAD, "sad", 3, "Aley's disk backup", 0, 18, 4 }, { LIBSPECTRUM_ID_DISK_TD0, "td0", 3, "TD", 0, 2, 4 }, Modified: branches/Release-0_10_0-branch/libspectrum/libspectrum/tap.c =================================================================== --- branches/Release-0_10_0-branch/libspectrum/libspectrum/tap.c 2009-01-09 23:23:40 UTC (rev 588) +++ branches/Release-0_10_0-branch/libspectrum/libspectrum/tap.c 2009-01-15 11:54:04 UTC (rev 589) @@ -1,4 +1,4 @@ -/* tape.c: Routines for handling .tap files +/* tap.c: Routines for handling .tap files Copyright (c) 2001-2003 Philip Kendall $Id: tap.c 3784 2008-10-22 12:36:07Z fredm $ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2009-01-09 23:23:47
|
Revision: 588 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=588&view=rev Author: fredm Date: 2009-01-09 23:23:40 +0000 (Fri, 09 Jan 2009) Log Message: ----------- Update changelog and tape menu entries in manual. Modified Paths: -------------- branches/Release-0_10_0-branch/fuse/fusepb/resources/Fuse Help/html/changelog.html branches/Release-0_10_0-branch/fuse/fusepb/resources/Fuse Help/html/menus.html Property Changed: ---------------- branches/Release-0_10_0-branch/ branches/Release-0_10_0-branch/fuse/ branches/Release-0_10_0-branch/libspectrum/libspectrum/ Property changes on: branches/Release-0_10_0-branch ___________________________________________________________________ Modified: svn:mergeinfo - /trunk:578 + /trunk:574-578,580 Property changes on: branches/Release-0_10_0-branch/fuse ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/fuse:578 /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-538 + /trunk/fuse:574-578,580 /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-538 Modified: branches/Release-0_10_0-branch/fuse/fusepb/resources/Fuse Help/html/changelog.html =================================================================== --- branches/Release-0_10_0-branch/fuse/fusepb/resources/Fuse Help/html/changelog.html 2009-01-09 23:20:25 UTC (rev 587) +++ branches/Release-0_10_0-branch/fuse/fusepb/resources/Fuse Help/html/changelog.html 2009-01-09 23:23:40 UTC (rev 588) @@ -14,6 +14,39 @@ name="What's New In Fuse?" id="What's New In Fuse?"></a><!-- AppleSegDescription="This section describes the changes for version 0.10.0 of the Fuse emulator." --></font><br> <div class="refsect1" xml:lang="en" lang="en"> <h2><font face="Lucida Grande,Helvetica,Arial">What's new in Fuse +For Mac OS X 0.10.0.2</font></h2> +<ul> + <li><font face="Lucida Grande,Helvetica,Arial">Miscellaneous bugfixes:</font></li> + <ul> + <li><font face="Lucida Grande,Helvetica,Arial">Fix running with +sound off and with non-default speed (Fredrick Meunier; thanks, Andrew +Owen).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Fix colours in +minimised toolbar icon on GMA950 card (Roine Gustafsson).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Stop displayLink +when quitting from emulator before stopping emulator thread (Fredrick +Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Decouple texture +updating and drawing and only update texture when there are<br> +changes (Roine Gustafsson).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Update the statusbar +if nothing has changed on the Speccy screen (Fredrick Meunier).<br> + </font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Minor fix to manual +entries for the tape menu (Fredrick Meunier; thanks SteveP).<br> + </font></li> + </ul> +</ul> +<h2><font face="Lucida Grande,Helvetica,Arial">What's new in Fuse +For Mac OS X 0.10.0.1</font></h2> +<ul> + <li><font face="Lucida Grande,Helvetica,Arial">Miscellaneous bugfixes:</font></li> + <ul> + <li><font face="Lucida Grande,Helvetica,Arial">Stop corruption when +overwriting an existing file (Philip Kendall; thanks, Matthew Westcott).</font></li> + </ul> +</ul> +<h2><font face="Lucida Grande,Helvetica,Arial">What's new in Fuse For Mac OS X 0.10.0</font></h2> <ul> <li><font face="Lucida Grande,Helvetica,Arial">New Modified: branches/Release-0_10_0-branch/fuse/fusepb/resources/Fuse Help/html/menus.html =================================================================== --- branches/Release-0_10_0-branch/fuse/fusepb/resources/Fuse Help/html/menus.html 2009-01-09 23:20:25 UTC (rev 587) +++ branches/Release-0_10_0-branch/fuse/fusepb/resources/Fuse Help/html/menus.html 2009-01-09 23:23:40 UTC (rev 588) @@ -239,20 +239,20 @@ <p> <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Media,</em></font></span> <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Tape, -Clear</em></font></span> -<font face="Lucida Grande,Helvetica,Arial">Clear the current -virtual tape. This is particularly useful when you want a `clean +Close</em></font></span> +<font face="Lucida Grande,Helvetica,Arial">Close the current +virtual tape file. This is particularly useful when you want a `clean slate' to add newly-saved files to, before doing -<span class="emphasis"><em>Tape, Write...</em></span></font></p> +<span class="emphasis"><em>Tape, Save As...</em></span></font></p> <p> <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Media,</em></font></span> <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Tape, -Write...</em></font></span> +Save As...</em></font></span> <font face="Lucida Grande,Helvetica,Arial">Write the current virtual-tape contents to a TZX file. The virtual-tape contents are the contents of the previously-loaded tape (if any has been loaded since you last did a <span class="emphasis"><em>Tape, -Clear</em></span>), followed by anything you've saved from the +Close</em></span>), followed by anything you've saved from the emulated machine since. These newly-saved files are <span class="emphasis"><em>not</em></span> written to any tape file until you choose this option!</font></p> Property changes on: branches/Release-0_10_0-branch/libspectrum/libspectrum ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/libspectrum/libspectrum:578 /vendor/fuse-emulator/0.10.0/libspectrum:556-557 /vendor/fuse-emulator/0.10.0-pre1/libspectrum:545-546 /vendor/fuse-emulator/current/libspectrum:530-538 + /trunk/libspectrum/libspectrum:574-578,580 /vendor/fuse-emulator/0.10.0/libspectrum:556-557 /vendor/fuse-emulator/0.10.0-pre1/libspectrum:545-546 /vendor/fuse-emulator/current/libspectrum:530-538 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |