Thread: [Fuse-for-macosx-commits] SF.net SVN: fuse-for-macosx: [330] branches/fusegl/fuse/fusepb (Page 2)
Brought to you by:
fredm
From: <fr...@us...> - 2007-04-04 10:51:39
|
Revision: 330 http://svn.sourceforge.net/fuse-for-macosx/?rev=330&view=rev Author: fredm Date: 2007-04-04 03:51:40 -0700 (Wed, 04 Apr 2007) Log Message: ----------- Move rzx start playback and insert snapshot to Emulator object. Modified Paths: -------------- branches/fusegl/fuse/fusepb/controllers/FuseController.m branches/fusegl/fuse/fusepb/models/Emulator.h branches/fusegl/fuse/fusepb/models/Emulator.m branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m Modified: branches/fusegl/fuse/fusepb/controllers/FuseController.m =================================================================== --- branches/fusegl/fuse/fusepb/controllers/FuseController.m 2007-04-03 22:11:30 UTC (rev 329) +++ branches/fusegl/fuse/fusepb/controllers/FuseController.m 2007-04-04 10:51:40 UTC (rev 330) @@ -485,7 +485,7 @@ [self addRecentSnapshot:recording]; - rzx_start_playback( recording ); + [[DisplayOpenGLView instance] rzxStartPlayback:recording]; free( recording ); @@ -498,22 +498,7 @@ - (IBAction)rzx_insert_snap:(id)sender { - libspectrum_snap *snap; - libspectrum_error error; - - if( !rzx_recording ) return; - - libspectrum_rzx_stop_input( rzx ); - - error = libspectrum_snap_alloc( &snap ); - if( error ) return; - - error = snapshot_copy_to( snap ); - if( error ) { libspectrum_snap_free( snap ); return; } - - libspectrum_rzx_add_snap( rzx, snap ); - - libspectrum_rzx_start_input( rzx, tstates ); + [[DisplayOpenGLView instance] rzxInsertSnap]; } - (IBAction)rzx_rollback:(id)sender Modified: branches/fusegl/fuse/fusepb/models/Emulator.h =================================================================== --- branches/fusegl/fuse/fusepb/models/Emulator.h 2007-04-03 22:11:30 UTC (rev 329) +++ branches/fusegl/fuse/fusepb/models/Emulator.h 2007-04-04 10:51:40 UTC (rev 330) @@ -77,6 +77,9 @@ -(void) reset; -(int) nmi; +-(int) rzxStartPlayback:(const char *)filename; +-(void) rzxInsertSnap; + -(void) if1MdrNew:(int)drive; -(void) if1MdrInsert:(const char *)filename inDrive:(int)drive; -(int) if1MdrSync:(const char *)filename inDrive:(int)drive; Modified: branches/fusegl/fuse/fusepb/models/Emulator.m =================================================================== --- branches/fusegl/fuse/fusepb/models/Emulator.m 2007-04-03 22:11:30 UTC (rev 329) +++ branches/fusegl/fuse/fusepb/models/Emulator.m 2007-04-04 10:51:40 UTC (rev 330) @@ -36,9 +36,11 @@ #include "keyboard.h" #include "machine.h" #include "psg.h" +#include "rzx.h" #include "settings.h" #include "simpleide.h" #include "sound.h" +#include "snapshot.h" #include "tape.h" #include "ui/ui.h" #include "utils.h" @@ -243,6 +245,31 @@ return event_add( 0, EVENT_TYPE_NMI ); } +-(int) rzxStartPlayback:(const char *)filename +{ + return rzx_start_playback( filename ); +} + +-(void) rzxInsertSnap +{ + libspectrum_snap *snap; + libspectrum_error error; + + if( !rzx_recording ) return; + + libspectrum_rzx_stop_input( rzx ); + + error = libspectrum_snap_alloc( &snap ); + if( error ) return; + + error = snapshot_copy_to( snap ); + if( error ) { libspectrum_snap_free( snap ); return; } + + libspectrum_rzx_add_snap( rzx, snap ); + + libspectrum_rzx_start_input( rzx, tstates ); +} + -(void) if1MdrNew:(int)drive { if1_mdr_new( drive ); Modified: branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h =================================================================== --- branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h 2007-04-03 22:11:30 UTC (rev 329) +++ branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h 2007-04-04 10:51:40 UTC (rev 330) @@ -113,6 +113,9 @@ -(void) reset; -(int) nmi; +-(int) rzxStartPlayback:(const char *)filename; +-(void) rzxInsertSnap; + -(void) if1MdrNew:(int)drive; -(void) if1MdrInsert:(const char *)filename inDrive:(int)drive; -(int) if1MdrSync:(const char *)filename inDrive:(int)drive; Modified: branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m =================================================================== --- branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m 2007-04-03 22:11:30 UTC (rev 329) +++ branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m 2007-04-04 10:51:40 UTC (rev 330) @@ -629,6 +629,16 @@ return [proxy_emulator nmi]; } +-(int) rzxStartPlayback:(const char *)filename +{ + return [proxy_emulator rzxStartPlayback:filename]; +} + +-(void) rzxInsertSnap +{ + [proxy_emulator rzxInsertSnap]; +} + -(void) if1MdrNew:(int)drive { [proxy_emulator if1MdrNew:drive]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2007-04-04 12:51:09
|
Revision: 331 http://svn.sourceforge.net/fuse-for-macosx/?rev=331&view=rev Author: fredm Date: 2007-04-04 05:51:09 -0700 (Wed, 04 Apr 2007) Log Message: ----------- Move rzx rollback, start recording and stop to Emulator object. Modified Paths: -------------- branches/fusegl/fuse/fusepb/controllers/FuseController.m branches/fusegl/fuse/fusepb/models/Emulator.h branches/fusegl/fuse/fusepb/models/Emulator.m branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m Modified: branches/fusegl/fuse/fusepb/controllers/FuseController.m =================================================================== --- branches/fusegl/fuse/fusepb/controllers/FuseController.m 2007-04-04 10:51:40 UTC (rev 330) +++ branches/fusegl/fuse/fusepb/controllers/FuseController.m 2007-04-04 12:51:09 UTC (rev 331) @@ -503,23 +503,7 @@ - (IBAction)rzx_rollback:(id)sender { - libspectrum_snap *snap; - libspectrum_error error; - - if( !rzx_recording ) return; - - [[DisplayOpenGLView instance] pause]; - - error = libspectrum_rzx_rollback( rzx, &snap ); - if( error ) { [[DisplayOpenGLView instance] unpause]; return; } - - error = snapshot_copy_from( snap ); - if( error ) { [[DisplayOpenGLView instance] unpause]; return; } - - error = libspectrum_rzx_start_input( rzx, tstates ); - if( error ) { [[DisplayOpenGLView instance] unpause]; return; } - - [[DisplayOpenGLView instance] unpause]; + [[DisplayOpenGLView instance] rzxRollback]; } - (IBAction)rzx_start:(id)sender @@ -533,7 +517,7 @@ recording = cocoaui_savepanel_get_filename( @"Start Recording", [NSArray arrayWithObjects:@"rzx", nil] ); if( !recording ) { [[DisplayOpenGLView instance] unpause]; return; } - rzx_start_recording( recording, 1 ); + [[DisplayOpenGLView instance] rzxStartRecording:recording embedSnapshot:1]; free( recording ); @@ -560,7 +544,8 @@ free( snap ); free( recording ); [[DisplayOpenGLView instance] unpause]; return; } - rzx_start_recording( recording, settings_current.embed_snapshot ); + [[DisplayOpenGLView instance] rzxStartRecording:recording + embedSnapshot:settings_current.embed_snapshot]; free( recording ); @@ -573,8 +558,7 @@ - (IBAction)rzx_stop:(id)sender { - if( rzx_recording ) rzx_stop_recording(); - if( rzx_playback ) rzx_stop_playback( 1 ); + [[DisplayOpenGLView instance] rzxStop]; ui_menu_activate( UI_MENU_ITEM_RECORDING, 0 ); } Modified: branches/fusegl/fuse/fusepb/models/Emulator.h =================================================================== --- branches/fusegl/fuse/fusepb/models/Emulator.h 2007-04-04 10:51:40 UTC (rev 330) +++ branches/fusegl/fuse/fusepb/models/Emulator.h 2007-04-04 12:51:09 UTC (rev 331) @@ -79,6 +79,9 @@ -(int) rzxStartPlayback:(const char *)filename; -(void) rzxInsertSnap; +-(void) rzxRollback; +-(int) rzxStartRecording:(const char *)filename embedSnapshot:(int)flag; +-(void) rzxStop; -(void) if1MdrNew:(int)drive; -(void) if1MdrInsert:(const char *)filename inDrive:(int)drive; Modified: branches/fusegl/fuse/fusepb/models/Emulator.m =================================================================== --- branches/fusegl/fuse/fusepb/models/Emulator.m 2007-04-04 10:51:40 UTC (rev 330) +++ branches/fusegl/fuse/fusepb/models/Emulator.m 2007-04-04 12:51:09 UTC (rev 331) @@ -270,6 +270,38 @@ libspectrum_rzx_start_input( rzx, tstates ); } +-(void) rzxRollback +{ + libspectrum_snap *snap; + libspectrum_error error; + + if( !rzx_recording ) return; + + [self pause]; + + error = libspectrum_rzx_rollback( rzx, &snap ); + if( error ) { [self unpause]; return; } + + error = snapshot_copy_from( snap ); + if( error ) { [self unpause]; return; } + + error = libspectrum_rzx_start_input( rzx, tstates ); + if( error ) { [self unpause]; return; } + + [self unpause]; +} + +-(int) rzxStartRecording:(const char *)filename embedSnapshot:(int)flag +{ + return rzx_start_recording( filename, flag ); +} + +-(void) rzxStop +{ + if( rzx_recording ) rzx_stop_recording(); + if( rzx_playback ) rzx_stop_playback( 1 ); +} + -(void) if1MdrNew:(int)drive { if1_mdr_new( drive ); Modified: branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h =================================================================== --- branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h 2007-04-04 10:51:40 UTC (rev 330) +++ branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h 2007-04-04 12:51:09 UTC (rev 331) @@ -115,6 +115,9 @@ -(int) rzxStartPlayback:(const char *)filename; -(void) rzxInsertSnap; +-(void) rzxRollback; +-(int) rzxStartRecording:(const char *)filename embedSnapshot:(int)flag; +-(void) rzxStop; -(void) if1MdrNew:(int)drive; -(void) if1MdrInsert:(const char *)filename inDrive:(int)drive; Modified: branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m =================================================================== --- branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m 2007-04-04 10:51:40 UTC (rev 330) +++ branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m 2007-04-04 12:51:09 UTC (rev 331) @@ -639,6 +639,21 @@ [proxy_emulator rzxInsertSnap]; } +-(void) rzxRollback +{ + [proxy_emulator rzxRollback]; +} + +-(int) rzxStartRecording:(const char *)filename embedSnapshot:(int)flag +{ + return [proxy_emulator rzxStartRecording:filename embedSnapshot:flag]; +} + +-(void) rzxStop +{ + [proxy_emulator rzxStop]; +} + -(void) if1MdrNew:(int)drive { [proxy_emulator if1MdrNew:drive]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2007-04-04 12:55:56
|
Revision: 332 http://svn.sourceforge.net/fuse-for-macosx/?rev=332&view=rev Author: fredm Date: 2007-04-04 05:55:57 -0700 (Wed, 04 Apr 2007) Log Message: ----------- Move snapshot write to Emulator object. Modified Paths: -------------- branches/fusegl/fuse/fusepb/controllers/FuseController.m branches/fusegl/fuse/fusepb/models/Emulator.h branches/fusegl/fuse/fusepb/models/Emulator.m branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m Modified: branches/fusegl/fuse/fusepb/controllers/FuseController.m =================================================================== --- branches/fusegl/fuse/fusepb/controllers/FuseController.m 2007-04-04 12:51:09 UTC (rev 331) +++ branches/fusegl/fuse/fusepb/controllers/FuseController.m 2007-04-04 12:55:57 UTC (rev 332) @@ -603,7 +603,7 @@ if( !filename ) { [[DisplayOpenGLView instance] unpause]; return; } - snapshot_write( filename ); + [[DisplayOpenGLView instance] snapshotWrite:filename]; if( settings_current.thumbnails ) add_screen_thumbnail_to( filename ); Modified: branches/fusegl/fuse/fusepb/models/Emulator.h =================================================================== --- branches/fusegl/fuse/fusepb/models/Emulator.h 2007-04-04 12:51:09 UTC (rev 331) +++ branches/fusegl/fuse/fusepb/models/Emulator.h 2007-04-04 12:55:57 UTC (rev 332) @@ -77,6 +77,8 @@ -(void) reset; -(int) nmi; +-(void) snapshotWrite:(const char *)filename; + -(int) rzxStartPlayback:(const char *)filename; -(void) rzxInsertSnap; -(void) rzxRollback; Modified: branches/fusegl/fuse/fusepb/models/Emulator.m =================================================================== --- branches/fusegl/fuse/fusepb/models/Emulator.m 2007-04-04 12:51:09 UTC (rev 331) +++ branches/fusegl/fuse/fusepb/models/Emulator.m 2007-04-04 12:55:57 UTC (rev 332) @@ -245,6 +245,11 @@ return event_add( 0, EVENT_TYPE_NMI ); } +-(void) snapshotWrite:(const char *)filename +{ + snapshot_write( filename ); +} + -(int) rzxStartPlayback:(const char *)filename { return rzx_start_playback( filename ); Modified: branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h =================================================================== --- branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h 2007-04-04 12:51:09 UTC (rev 331) +++ branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h 2007-04-04 12:55:57 UTC (rev 332) @@ -113,6 +113,8 @@ -(void) reset; -(int) nmi; +-(void) snapshotWrite:(const char *)filename; + -(int) rzxStartPlayback:(const char *)filename; -(void) rzxInsertSnap; -(void) rzxRollback; Modified: branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m =================================================================== --- branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m 2007-04-04 12:51:09 UTC (rev 331) +++ branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m 2007-04-04 12:55:57 UTC (rev 332) @@ -629,6 +629,11 @@ return [proxy_emulator nmi]; } +-(void) snapshotWrite:(const char *)filename +{ + [proxy_emulator snapshotWrite:filename]; +} + -(int) rzxStartPlayback:(const char *)filename { return [proxy_emulator rzxStartPlayback:filename]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2007-04-06 01:14:24
|
Revision: 333 http://svn.sourceforge.net/fuse-for-macosx/?rev=333&view=rev Author: fredm Date: 2007-04-05 18:14:22 -0700 (Thu, 05 Apr 2007) Log Message: ----------- Move screenshot menus to Emulator object. Modified Paths: -------------- branches/fusegl/fuse/fusepb/controllers/FuseController.m branches/fusegl/fuse/fusepb/models/Emulator.h branches/fusegl/fuse/fusepb/models/Emulator.m branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m Modified: branches/fusegl/fuse/fusepb/controllers/FuseController.m =================================================================== --- branches/fusegl/fuse/fusepb/controllers/FuseController.m 2007-04-04 12:55:57 UTC (rev 332) +++ branches/fusegl/fuse/fusepb/controllers/FuseController.m 2007-04-06 01:14:22 UTC (rev 333) @@ -47,8 +47,6 @@ #include "libspectrum.h" #include "profile.h" #include "rzx.h" -#include "screenshot.h" -#include "ui/cocoa/cocoascreenshot.h" #include "psg.h" #include "settings.h" #include "settings_cocoa.h" @@ -625,7 +623,7 @@ if( !filename ) { [[DisplayOpenGLView instance] unpause]; return; } - screenshot_scr_read( filename ); + [[DisplayOpenGLView instance] screenshotScrRead:filename]; [self addRecentSnapshot:filename]; @@ -667,7 +665,7 @@ if( !filename ) { [[DisplayOpenGLView instance] unpause]; return; } - screenshot_scr_write( filename ); + [[DisplayOpenGLView instance] screenshotScrWrite:filename]; if( settings_current.thumbnails ) add_screen_thumbnail_to( filename ); @@ -689,7 +687,7 @@ if( !filename ) { [[DisplayOpenGLView instance] unpause]; return; } - screenshot_write( filename ); + [[DisplayOpenGLView instance] screenshotWrite:filename]; if( settings_current.thumbnails ) add_screen_thumbnail_to( filename ); Modified: branches/fusegl/fuse/fusepb/models/Emulator.h =================================================================== --- branches/fusegl/fuse/fusepb/models/Emulator.h 2007-04-04 12:55:57 UTC (rev 332) +++ branches/fusegl/fuse/fusepb/models/Emulator.h 2007-04-06 01:14:22 UTC (rev 333) @@ -79,6 +79,10 @@ -(void) snapshotWrite:(const char *)filename; +-(void) screenshotScrRead:(const char *)filename; +-(void) screenshotScrWrite:(const char *)filename; +-(void) screenshotWrite:(const char *)filename; + -(int) rzxStartPlayback:(const char *)filename; -(void) rzxInsertSnap; -(void) rzxRollback; Modified: branches/fusegl/fuse/fusepb/models/Emulator.m =================================================================== --- branches/fusegl/fuse/fusepb/models/Emulator.m 2007-04-04 12:55:57 UTC (rev 332) +++ branches/fusegl/fuse/fusepb/models/Emulator.m 2007-04-06 01:14:22 UTC (rev 333) @@ -39,9 +39,11 @@ #include "rzx.h" #include "settings.h" #include "simpleide.h" +#include "screenshot.h" #include "sound.h" #include "snapshot.h" #include "tape.h" +#include "ui/cocoa/cocoascreenshot.h" #include "ui/ui.h" #include "utils.h" #include "zxatasp.h" @@ -250,6 +252,21 @@ snapshot_write( filename ); } +-(void) screenshotScrRead:(const char *)filename +{ + screenshot_scr_read( filename ); +} + +-(void) screenshotScrWrite:(const char *)filename +{ + screenshot_scr_write( filename ); +} + +-(void) screenshotWrite:(const char *)filename +{ + screenshot_write( filename ); +} + -(int) rzxStartPlayback:(const char *)filename { return rzx_start_playback( filename ); Modified: branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h =================================================================== --- branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h 2007-04-04 12:55:57 UTC (rev 332) +++ branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h 2007-04-06 01:14:22 UTC (rev 333) @@ -115,6 +115,10 @@ -(void) snapshotWrite:(const char *)filename; +-(void) screenshotScrRead:(const char *)filename; +-(void) screenshotScrWrite:(const char *)filename; +-(void) screenshotWrite:(const char *)filename; + -(int) rzxStartPlayback:(const char *)filename; -(void) rzxInsertSnap; -(void) rzxRollback; Modified: branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m =================================================================== --- branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m 2007-04-04 12:55:57 UTC (rev 332) +++ branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m 2007-04-06 01:14:22 UTC (rev 333) @@ -634,6 +634,21 @@ [proxy_emulator snapshotWrite:filename]; } +-(void) screenshotScrRead:(const char *)filename +{ + [proxy_emulator screenshotScrRead:filename]; +} + +-(void) screenshotScrWrite:(const char *)filename +{ + [proxy_emulator screenshotScrWrite:filename]; +} + +-(void) screenshotWrite:(const char *)filename +{ + [proxy_emulator screenshotWrite:filename]; +} + -(int) rzxStartPlayback:(const char *)filename { return [proxy_emulator rzxStartPlayback:filename]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2007-04-06 01:27:46
|
Revision: 334 http://svn.sourceforge.net/fuse-for-macosx/?rev=334&view=rev Author: fredm Date: 2007-04-05 18:27:48 -0700 (Thu, 05 Apr 2007) Log Message: ----------- Move profiling menus to Emulator object. Modified Paths: -------------- branches/fusegl/fuse/fusepb/controllers/FuseController.m branches/fusegl/fuse/fusepb/models/Emulator.h branches/fusegl/fuse/fusepb/models/Emulator.m branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m Modified: branches/fusegl/fuse/fusepb/controllers/FuseController.m =================================================================== --- branches/fusegl/fuse/fusepb/controllers/FuseController.m 2007-04-06 01:14:22 UTC (rev 333) +++ branches/fusegl/fuse/fusepb/controllers/FuseController.m 2007-04-06 01:27:48 UTC (rev 334) @@ -45,7 +45,6 @@ #include "event.h" #include "fuse.h" #include "libspectrum.h" -#include "profile.h" #include "rzx.h" #include "psg.h" #include "settings.h" @@ -636,7 +635,7 @@ - (IBAction)profiler_start:(id)sender { - profile_start(); + [[DisplayOpenGLView instance] profileStart]; } - (IBAction)profiler_stop:(id)sender @@ -648,7 +647,7 @@ filename = cocoaui_savepanel_get_filename( @"Save Profile Data As", [NSArray arrayWithObjects:@"profile", nil] ); if( !filename ) { [[DisplayOpenGLView instance] unpause]; return; } - profile_finish( filename ); + [[DisplayOpenGLView instance] profileFinish:filename]; free( filename ); Modified: branches/fusegl/fuse/fusepb/models/Emulator.h =================================================================== --- branches/fusegl/fuse/fusepb/models/Emulator.h 2007-04-06 01:14:22 UTC (rev 333) +++ branches/fusegl/fuse/fusepb/models/Emulator.h 2007-04-06 01:27:48 UTC (rev 334) @@ -83,6 +83,9 @@ -(void) screenshotScrWrite:(const char *)filename; -(void) screenshotWrite:(const char *)filename; +-(void) profileStart; +-(void) profileFinish:(const char *)filename; + -(int) rzxStartPlayback:(const char *)filename; -(void) rzxInsertSnap; -(void) rzxRollback; Modified: branches/fusegl/fuse/fusepb/models/Emulator.m =================================================================== --- branches/fusegl/fuse/fusepb/models/Emulator.m 2007-04-06 01:14:22 UTC (rev 333) +++ branches/fusegl/fuse/fusepb/models/Emulator.m 2007-04-06 01:27:48 UTC (rev 334) @@ -35,6 +35,7 @@ #include "if2.h" #include "keyboard.h" #include "machine.h" +#include "profile.h" #include "psg.h" #include "rzx.h" #include "settings.h" @@ -267,6 +268,16 @@ screenshot_write( filename ); } +-(void) profileStart +{ + profile_start(); +} + +-(void) profileFinish:(const char *)filename +{ + profile_finish( filename ); +} + -(int) rzxStartPlayback:(const char *)filename { return rzx_start_playback( filename ); Modified: branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h =================================================================== --- branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h 2007-04-06 01:14:22 UTC (rev 333) +++ branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h 2007-04-06 01:27:48 UTC (rev 334) @@ -119,6 +119,9 @@ -(void) screenshotScrWrite:(const char *)filename; -(void) screenshotWrite:(const char *)filename; +-(void) profileStart; +-(void) profileFinish:(const char *)filename; + -(int) rzxStartPlayback:(const char *)filename; -(void) rzxInsertSnap; -(void) rzxRollback; Modified: branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m =================================================================== --- branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m 2007-04-06 01:14:22 UTC (rev 333) +++ branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m 2007-04-06 01:27:48 UTC (rev 334) @@ -649,6 +649,16 @@ [proxy_emulator screenshotWrite:filename]; } +-(void) profileStart +{ + [proxy_emulator profileStart]; +} + +-(void) profileFinish:(const char *)filename +{ + [proxy_emulator profileFinish:filename]; +} + -(int) rzxStartPlayback:(const char *)filename { return [proxy_emulator rzxStartPlayback:filename]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2007-04-06 01:34:44
|
Revision: 335 http://svn.sourceforge.net/fuse-for-macosx/?rev=335&view=rev Author: fredm Date: 2007-04-05 18:34:45 -0700 (Thu, 05 Apr 2007) Log Message: ----------- Move fullscreen menu to Emulator object. Modified Paths: -------------- branches/fusegl/fuse/fusepb/controllers/FuseController.m branches/fusegl/fuse/fusepb/models/Emulator.h branches/fusegl/fuse/fusepb/models/Emulator.m branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m Modified: branches/fusegl/fuse/fusepb/controllers/FuseController.m =================================================================== --- branches/fusegl/fuse/fusepb/controllers/FuseController.m 2007-04-06 01:27:48 UTC (rev 334) +++ branches/fusegl/fuse/fusepb/controllers/FuseController.m 2007-04-06 01:34:45 UTC (rev 335) @@ -703,7 +703,7 @@ - (IBAction)fullscreen:(id)sender { - settings_current.full_screen = 1; + [[DisplayOpenGLView instance] fullscreen]; } - (IBAction)joystick_keyboard:(id)sender Modified: branches/fusegl/fuse/fusepb/models/Emulator.h =================================================================== --- branches/fusegl/fuse/fusepb/models/Emulator.h 2007-04-06 01:27:48 UTC (rev 334) +++ branches/fusegl/fuse/fusepb/models/Emulator.h 2007-04-06 01:34:45 UTC (rev 335) @@ -86,6 +86,8 @@ -(void) profileStart; -(void) profileFinish:(const char *)filename; +-(void) fullscreen; + -(int) rzxStartPlayback:(const char *)filename; -(void) rzxInsertSnap; -(void) rzxRollback; Modified: branches/fusegl/fuse/fusepb/models/Emulator.m =================================================================== --- branches/fusegl/fuse/fusepb/models/Emulator.m 2007-04-06 01:27:48 UTC (rev 334) +++ branches/fusegl/fuse/fusepb/models/Emulator.m 2007-04-06 01:34:45 UTC (rev 335) @@ -278,6 +278,11 @@ profile_finish( filename ); } +-(void) fullscreen +{ + settings_current.full_screen = 1; +} + -(int) rzxStartPlayback:(const char *)filename { return rzx_start_playback( filename ); Modified: branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h =================================================================== --- branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h 2007-04-06 01:27:48 UTC (rev 334) +++ branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h 2007-04-06 01:34:45 UTC (rev 335) @@ -122,6 +122,8 @@ -(void) profileStart; -(void) profileFinish:(const char *)filename; +-(void) fullscreen; + -(int) rzxStartPlayback:(const char *)filename; -(void) rzxInsertSnap; -(void) rzxRollback; Modified: branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m =================================================================== --- branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m 2007-04-06 01:27:48 UTC (rev 334) +++ branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m 2007-04-06 01:34:45 UTC (rev 335) @@ -659,6 +659,11 @@ [proxy_emulator profileFinish:filename]; } +-(void) fullscreen +{ + [proxy_emulator fullscreen]; +} + -(int) rzxStartPlayback:(const char *)filename { return [proxy_emulator rzxStartPlayback:filename]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2007-04-06 01:37:09
|
Revision: 336 http://svn.sourceforge.net/fuse-for-macosx/?rev=336&view=rev Author: fredm Date: 2007-04-05 18:37:10 -0700 (Thu, 05 Apr 2007) Log Message: ----------- Move save options to Emulator object. Modified Paths: -------------- branches/fusegl/fuse/fusepb/controllers/FuseController.m branches/fusegl/fuse/fusepb/models/Emulator.h branches/fusegl/fuse/fusepb/models/Emulator.m branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m Modified: branches/fusegl/fuse/fusepb/controllers/FuseController.m =================================================================== --- branches/fusegl/fuse/fusepb/controllers/FuseController.m 2007-04-06 01:34:45 UTC (rev 335) +++ branches/fusegl/fuse/fusepb/controllers/FuseController.m 2007-04-06 01:37:10 UTC (rev 336) @@ -698,7 +698,7 @@ - (IBAction)save_options:(id)sender { - settings_write_config( &settings_current ); + [[DisplayOpenGLView instance] saveOptions]; } - (IBAction)fullscreen:(id)sender Modified: branches/fusegl/fuse/fusepb/models/Emulator.h =================================================================== --- branches/fusegl/fuse/fusepb/models/Emulator.h 2007-04-06 01:34:45 UTC (rev 335) +++ branches/fusegl/fuse/fusepb/models/Emulator.h 2007-04-06 01:37:10 UTC (rev 336) @@ -86,6 +86,8 @@ -(void) profileStart; -(void) profileFinish:(const char *)filename; +-(void) saveOptions; + -(void) fullscreen; -(int) rzxStartPlayback:(const char *)filename; Modified: branches/fusegl/fuse/fusepb/models/Emulator.m =================================================================== --- branches/fusegl/fuse/fusepb/models/Emulator.m 2007-04-06 01:34:45 UTC (rev 335) +++ branches/fusegl/fuse/fusepb/models/Emulator.m 2007-04-06 01:37:10 UTC (rev 336) @@ -278,6 +278,11 @@ profile_finish( filename ); } +-(void) saveOptions +{ + settings_write_config( &settings_current ); +} + -(void) fullscreen { settings_current.full_screen = 1; Modified: branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h =================================================================== --- branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h 2007-04-06 01:34:45 UTC (rev 335) +++ branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h 2007-04-06 01:37:10 UTC (rev 336) @@ -122,6 +122,8 @@ -(void) profileStart; -(void) profileFinish:(const char *)filename; +-(void) saveOptions; + -(void) fullscreen; -(int) rzxStartPlayback:(const char *)filename; Modified: branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m =================================================================== --- branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m 2007-04-06 01:34:45 UTC (rev 335) +++ branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m 2007-04-06 01:37:10 UTC (rev 336) @@ -659,6 +659,11 @@ [proxy_emulator profileFinish:filename]; } +-(void) saveOptions +{ + [proxy_emulator saveOptions]; +} + -(void) fullscreen { [proxy_emulator fullscreen]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2007-04-06 01:42:17
|
Revision: 337 http://svn.sourceforge.net/fuse-for-macosx/?rev=337&view=rev Author: fredm Date: 2007-04-05 18:42:18 -0700 (Thu, 05 Apr 2007) Log Message: ----------- Move keyboard joystick toggle to Emulator object. Modified Paths: -------------- branches/fusegl/fuse/fusepb/controllers/FuseController.m branches/fusegl/fuse/fusepb/models/Emulator.h branches/fusegl/fuse/fusepb/models/Emulator.m branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m Modified: branches/fusegl/fuse/fusepb/controllers/FuseController.m =================================================================== --- branches/fusegl/fuse/fusepb/controllers/FuseController.m 2007-04-06 01:37:10 UTC (rev 336) +++ branches/fusegl/fuse/fusepb/controllers/FuseController.m 2007-04-06 01:42:18 UTC (rev 337) @@ -708,13 +708,7 @@ - (IBAction)joystick_keyboard:(id)sender { - if ( settings_current.joy_keyboard ) { - settings_current.joy_keyboard = 0; - return; - } else { - settings_current.joy_keyboard = 1; - return; - } + [[DisplayOpenGLView instance] joystickToggleKeyboard]; } - (IBAction)tape_clear:(id)sender Modified: branches/fusegl/fuse/fusepb/models/Emulator.h =================================================================== --- branches/fusegl/fuse/fusepb/models/Emulator.h 2007-04-06 01:37:10 UTC (rev 336) +++ branches/fusegl/fuse/fusepb/models/Emulator.h 2007-04-06 01:42:18 UTC (rev 337) @@ -90,6 +90,8 @@ -(void) fullscreen; +-(void) joystickToggleKeyboard; + -(int) rzxStartPlayback:(const char *)filename; -(void) rzxInsertSnap; -(void) rzxRollback; Modified: branches/fusegl/fuse/fusepb/models/Emulator.m =================================================================== --- branches/fusegl/fuse/fusepb/models/Emulator.m 2007-04-06 01:37:10 UTC (rev 336) +++ branches/fusegl/fuse/fusepb/models/Emulator.m 2007-04-06 01:42:18 UTC (rev 337) @@ -288,6 +288,11 @@ settings_current.full_screen = 1; } +-(void) joystickToggleKeyboard +{ + settings_current.joy_keyboard = !settings_current.joy_keyboard; +} + -(int) rzxStartPlayback:(const char *)filename { return rzx_start_playback( filename ); Modified: branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h =================================================================== --- branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h 2007-04-06 01:37:10 UTC (rev 336) +++ branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h 2007-04-06 01:42:18 UTC (rev 337) @@ -126,6 +126,8 @@ -(void) fullscreen; +-(void) joystickToggleKeyboard; + -(int) rzxStartPlayback:(const char *)filename; -(void) rzxInsertSnap; -(void) rzxRollback; Modified: branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m =================================================================== --- branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m 2007-04-06 01:37:10 UTC (rev 336) +++ branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m 2007-04-06 01:42:18 UTC (rev 337) @@ -669,6 +669,11 @@ [proxy_emulator fullscreen]; } +-(void) joystickToggleKeyboard +{ + [proxy_emulator joystickToggleKeyboard]; +} + -(int) rzxStartPlayback:(const char *)filename { return [proxy_emulator rzxStartPlayback:filename]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2007-04-06 01:54:58
|
Revision: 338 http://svn.sourceforge.net/fuse-for-macosx/?rev=338&view=rev Author: fredm Date: 2007-04-05 18:54:59 -0700 (Thu, 05 Apr 2007) Log Message: ----------- Move settings reset to Emulator object. Modified Paths: -------------- branches/fusegl/fuse/fusepb/controllers/FuseController.m branches/fusegl/fuse/fusepb/models/Emulator.h branches/fusegl/fuse/fusepb/models/Emulator.m branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m Modified: branches/fusegl/fuse/fusepb/controllers/FuseController.m =================================================================== --- branches/fusegl/fuse/fusepb/controllers/FuseController.m 2007-04-06 01:42:18 UTC (rev 337) +++ branches/fusegl/fuse/fusepb/controllers/FuseController.m 2007-04-06 01:54:59 UTC (rev 338) @@ -698,7 +698,7 @@ - (IBAction)save_options:(id)sender { - [[DisplayOpenGLView instance] saveOptions]; + [[DisplayOpenGLView instance] settingsSave]; } - (IBAction)fullscreen:(id)sender @@ -847,9 +847,7 @@ if( error != NSAlertAlternateReturn ) return; - [NSUserDefaults resetStandardUserDefaults]; - - error = settings_defaults( &settings_current ); + error = [[DisplayOpenGLView instance] settingsResetDefaults]; if( error ) ui_error( UI_ERROR_ERROR, "Error resetting preferences" ); } Modified: branches/fusegl/fuse/fusepb/models/Emulator.h =================================================================== --- branches/fusegl/fuse/fusepb/models/Emulator.h 2007-04-06 01:42:18 UTC (rev 337) +++ branches/fusegl/fuse/fusepb/models/Emulator.h 2007-04-06 01:54:59 UTC (rev 338) @@ -86,7 +86,8 @@ -(void) profileStart; -(void) profileFinish:(const char *)filename; --(void) saveOptions; +-(void) settingsSave; +-(int) settingsResetDefaults; -(void) fullscreen; Modified: branches/fusegl/fuse/fusepb/models/Emulator.m =================================================================== --- branches/fusegl/fuse/fusepb/models/Emulator.m 2007-04-06 01:42:18 UTC (rev 337) +++ branches/fusegl/fuse/fusepb/models/Emulator.m 2007-04-06 01:54:59 UTC (rev 338) @@ -278,11 +278,17 @@ profile_finish( filename ); } --(void) saveOptions +-(void) settingsSave { settings_write_config( &settings_current ); } +-(int) settingsResetDefaults +{ + [NSUserDefaults resetStandardUserDefaults]; + return settings_defaults( &settings_current ); +} + -(void) fullscreen { settings_current.full_screen = 1; Modified: branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h =================================================================== --- branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h 2007-04-06 01:42:18 UTC (rev 337) +++ branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h 2007-04-06 01:54:59 UTC (rev 338) @@ -122,7 +122,8 @@ -(void) profileStart; -(void) profileFinish:(const char *)filename; --(void) saveOptions; +-(void) settingsSave; +-(int) settingsResetDefaults; -(void) fullscreen; Modified: branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m =================================================================== --- branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m 2007-04-06 01:42:18 UTC (rev 337) +++ branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m 2007-04-06 01:54:59 UTC (rev 338) @@ -659,11 +659,16 @@ [proxy_emulator profileFinish:filename]; } --(void) saveOptions +-(void) settingsSave { - [proxy_emulator saveOptions]; + [proxy_emulator settingsSave]; } +-(int) settingsResetDefaults +{ + return [proxy_emulator settingsResetDefaults]; +} + -(void) fullscreen { [proxy_emulator fullscreen]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2007-04-06 07:21:51
|
Revision: 339 http://svn.sourceforge.net/fuse-for-macosx/?rev=339&view=rev Author: fredm Date: 2007-04-06 00:21:52 -0700 (Fri, 06 Apr 2007) Log Message: ----------- Move specplus3 and trdos menus to Emulator object. Make menu enabling and disabling happen from main thread. Modified Paths: -------------- branches/fusegl/fuse/fusepb/controllers/FuseController.h branches/fusegl/fuse/fusepb/controllers/FuseController.m branches/fusegl/fuse/fusepb/models/Emulator.h branches/fusegl/fuse/fusepb/models/Emulator.m branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m Modified: branches/fusegl/fuse/fusepb/controllers/FuseController.h =================================================================== --- branches/fusegl/fuse/fusepb/controllers/FuseController.h 2007-04-06 01:54:59 UTC (rev 338) +++ branches/fusegl/fuse/fusepb/controllers/FuseController.h 2007-04-06 07:21:52 UTC (rev 339) @@ -132,18 +132,51 @@ - (void) releaseCmdKeys:(NSString *)character:(int)keyCode; - (void) releaseKey:(int)keyCode; -- (void)ui_menu_activate_media_cartridge:(int)active; -- (void)ui_menu_activate_media_cartridge_dock:(int)active; -- (void)ui_menu_activate_media_cartridge_if2:(int)active; -- (void)ui_menu_activate_media_disk:(int)active; -- (void)ui_menu_activate_media_disk_plus3:(int)active; -- (void)ui_menu_activate_media_disk_trdos:(int)active; -- (void)ui_menu_activate_media_if1:(int)active; -- (void)ui_menu_activate_media_ide:(int)active; -- (void)ui_menu_activate_media_ide_divide:(int)active; -- (void)ui_menu_activate_media_ide_simple8bit:(int)active; -- (void)ui_menu_activate_media_ide_zxatasp:(int)active; -- (void)ui_menu_activate_media_ide_zxcf:(int)active; +- (void)ui_menu_activate_media_cartridge:(NSNumber*)active; +- (void)ui_menu_activate_media_cartridge_dock:(NSNumber*)active; +- (void)ui_menu_activate_media_cartridge_dock_eject:(NSNumber*)active; +- (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_plus3:(NSNumber*)active; +- (void)ui_menu_activate_media_disk_plus3_a_eject:(NSNumber*)active; +- (void)ui_menu_activate_media_disk_plus3_b_eject:(NSNumber*)active; +- (void)ui_menu_activate_media_disk_trdos:(NSNumber*)active; +- (void)ui_menu_activate_media_disk_trdos_a_eject:(NSNumber*)active; +- (void)ui_menu_activate_media_disk_trdos_b_eject:(NSNumber*)active; +- (void)ui_menu_activate_media_if1:(NSNumber*)active; +- (void)ui_menu_activate_media_if1_m1_eject:(NSNumber*)active; +- (void)ui_menu_activate_media_if1_m1_wp_set:(NSNumber*)active; +- (void)ui_menu_activate_media_if1_m2_eject:(NSNumber*)active; +- (void)ui_menu_activate_media_if1_m2_wp_set:(NSNumber*)active; +- (void)ui_menu_activate_media_if1_m3_eject:(NSNumber*)active; +- (void)ui_menu_activate_media_if1_m3_wp_set:(NSNumber*)active; +- (void)ui_menu_activate_media_if1_m4_eject:(NSNumber*)active; +- (void)ui_menu_activate_media_if1_m4_wp_set:(NSNumber*)active; +- (void)ui_menu_activate_media_if1_m5_eject:(NSNumber*)active; +- (void)ui_menu_activate_media_if1_m5_wp_set:(NSNumber*)active; +- (void)ui_menu_activate_media_if1_m6_eject:(NSNumber*)active; +- (void)ui_menu_activate_media_if1_m6_wp_set:(NSNumber*)active; +- (void)ui_menu_activate_media_if1_m7_eject:(NSNumber*)active; +- (void)ui_menu_activate_media_if1_m7_wp_set:(NSNumber*)active; +- (void)ui_menu_activate_media_if1_m8_eject:(NSNumber*)active; +- (void)ui_menu_activate_media_if1_m8_wp_set:(NSNumber*)active; +- (void)ui_menu_activate_media_ide:(NSNumber*)active; +- (void)ui_menu_activate_media_ide_divide:(NSNumber*)active; +- (void)ui_menu_activate_media_ide_divide_master_eject:(NSNumber*)active; +- (void)ui_menu_activate_media_ide_divide_slave_eject:(NSNumber*)active; +- (void)ui_menu_activate_media_ide_simple8bit:(NSNumber*)active; +- (void)ui_menu_activate_media_ide_simple8bit_master_eject:(NSNumber*)active; +- (void)ui_menu_activate_media_ide_simple8bit_slave_eject:(NSNumber*)active; +- (void)ui_menu_activate_media_ide_zxatasp:(NSNumber*)active; +- (void)ui_menu_activate_media_ide_zxatasp_master_eject:(NSNumber*)active; +- (void)ui_menu_activate_media_ide_zxatasp_slave_eject:(NSNumber*)active; +- (void)ui_menu_activate_media_ide_zxcf:(NSNumber*)active; +- (void)ui_menu_activate_media_ide_zxcf_eject:(NSNumber*)active; +- (void)ui_menu_activate_recording:(NSNumber*)active; +- (void)ui_menu_activate_recording_rollback:(NSNumber*)active; +- (void)ui_menu_activate_ay_logging:(NSNumber*)active; +- (void)ui_menu_activate_machine_profiler:(NSNumber*)active; - (void)openFile:(const char *)filename; - (void)openRecent:(id)sender; Modified: branches/fusegl/fuse/fusepb/controllers/FuseController.m =================================================================== --- branches/fusegl/fuse/fusepb/controllers/FuseController.m 2007-04-06 01:54:59 UTC (rev 338) +++ branches/fusegl/fuse/fusepb/controllers/FuseController.m 2007-04-06 07:21:52 UTC (rev 339) @@ -51,7 +51,6 @@ #include "settings_cocoa.h" #include "snapshot.h" #include "thumbnail.h" -#include "trdos.h" #include "ui.h" #include "uidisplay.h" #include "utils.h" @@ -913,66 +912,234 @@ [NSApp postEvent:event1 atStart:NO]; } -- (void)ui_menu_activate_media_cartridge:(int)active +- (void)ui_menu_activate_media_cartridge:(NSNumber*)active { - [cart setEnabled:active == 0 ? NO : YES]; + [cart setEnabled:[active boolValue]]; } -- (void)ui_menu_activate_media_cartridge_dock:(int)active +- (void)ui_menu_activate_media_cartridge_dock:(NSNumber*)active { - [dock setEnabled:active == 0 ? NO : YES]; + [dock setEnabled:[active boolValue]]; } -- (void)ui_menu_activate_media_cartridge_if2:(int)active +- (void)ui_menu_activate_media_cartridge_dock_eject:(NSNumber*)active { - [if2 setEnabled:active == 0 ? NO : YES]; + dockEject = [active boolValue]; } -- (void)ui_menu_activate_media_disk:(int)active +- (void)ui_menu_activate_media_cartridge_if2:(NSNumber*)active { - [disk setEnabled:active == 0 ? NO : YES]; + [if2 setEnabled:[active boolValue]]; } -- (void)ui_menu_activate_media_disk_plus3:(int)active +- (void)ui_menu_activate_media_cartridge_if2_eject:(NSNumber*)active { - [diskPlus3 setEnabled:active == 0 ? NO : YES]; + if2Eject = [active boolValue]; } -- (void)ui_menu_activate_media_disk_trdos:(int)active +- (void)ui_menu_activate_media_disk:(NSNumber*)active { - [diskTrDos setEnabled:active == 0 ? NO : YES]; + [disk setEnabled:[active boolValue]]; } -- (void)ui_menu_activate_media_ide:(int)active +- (void)ui_menu_activate_media_disk_plus3:(NSNumber*)active { - [ide setEnabled:active == 0 ? NO : YES]; + [diskPlus3 setEnabled:[active boolValue]]; } -- (void)ui_menu_activate_media_ide_divide:(int)active +- (void)ui_menu_activate_media_disk_plus3_a_eject:(NSNumber*)active { - [divide setEnabled:active == 0 ? NO : YES]; + diskPlus3EjectA = [active boolValue]; } -- (void)ui_menu_activate_media_ide_simple8bit:(int)active +- (void)ui_menu_activate_media_disk_plus3_b_eject:(NSNumber*)active { - [simple8Bit setEnabled:active == 0 ? NO : YES]; + diskPlus3EjectB = [active boolValue]; } -- (void)ui_menu_activate_media_ide_zxatasp:(int)active +- (void)ui_menu_activate_media_disk_trdos:(NSNumber*)active { - [zxatasp setEnabled:active == 0 ? NO : YES]; + [diskTrDos setEnabled:[active boolValue]]; } -- (void)ui_menu_activate_media_ide_zxcf:(int)active +- (void)ui_menu_activate_media_disk_trdos_a_eject:(NSNumber*)active { - [zxcf setEnabled:active == 0 ? NO : YES]; + diskTrdosEjectA = [active boolValue]; } -- (void)ui_menu_activate_media_if1:(int)active +- (void)ui_menu_activate_media_disk_trdos_b_eject:(NSNumber*)active { - [if1 setEnabled:active == 0 ? NO : YES]; + diskTrdosEjectB = [active boolValue]; } +- (void)ui_menu_activate_media_ide:(NSNumber*)active +{ + [ide 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 +{ + ideDivideEjectMaster = [active boolValue]; +} + +- (void)ui_menu_activate_media_ide_divide_slave_eject:(NSNumber*)active +{ + ideDivideEjectSlave = [active boolValue]; +} + +- (void)ui_menu_activate_media_ide_simple8bit:(NSNumber*)active +{ + [simple8Bit setEnabled:[active boolValue]]; +} + +- (void)ui_menu_activate_media_ide_simple8bit_master_eject:(NSNumber*)active +{ + ideSimple8BitEjectMaster = [active boolValue]; +} + +- (void)ui_menu_activate_media_ide_simple8bit_slave_eject:(NSNumber*)active +{ + ideSimple8BitEjectSlave = [active boolValue]; +} + +- (void)ui_menu_activate_media_ide_zxatasp:(NSNumber*)active +{ + [zxatasp setEnabled:[active boolValue]]; +} + +- (void)ui_menu_activate_media_ide_zxatasp_master_eject:(NSNumber*)active +{ + ideZxataspEjectMaster = [active boolValue]; +} + +- (void)ui_menu_activate_media_ide_zxatasp_slave_eject:(NSNumber*)active +{ + ideZxataspEjectSlave = [active boolValue]; +} + +- (void)ui_menu_activate_media_ide_zxcf:(NSNumber*)active +{ + [zxcf setEnabled:[active boolValue]]; +} + +- (void)ui_menu_activate_media_ide_zxcf_eject:(NSNumber*)active +{ + ideZxcfEject = [active boolValue]; +} + +- (void)ui_menu_activate_media_if1:(NSNumber*)active +{ + [if1 setEnabled:[active boolValue]]; +} + +- (void)ui_menu_activate_media_if1_m1_eject:(NSNumber*)active +{ + if1M1Eject = [active boolValue]; +} + +- (void)ui_menu_activate_media_if1_m1_wp_set:(NSNumber*)active +{ + if1M1WpSet = [active boolValue]; +} + +- (void)ui_menu_activate_media_if1_m2_eject:(NSNumber*)active +{ + if1M2Eject = [active boolValue]; +} + +- (void)ui_menu_activate_media_if1_m2_wp_set:(NSNumber*)active +{ + if1M2WpSet = [active boolValue]; +} + +- (void)ui_menu_activate_media_if1_m3_eject:(NSNumber*)active +{ + if1M3Eject = [active boolValue]; +} + +- (void)ui_menu_activate_media_if1_m3_wp_set:(NSNumber*)active +{ + if1M3WpSet = [active boolValue]; +} + +- (void)ui_menu_activate_media_if1_m4_eject:(NSNumber*)active +{ + if1M4Eject = [active boolValue]; +} + +- (void)ui_menu_activate_media_if1_m4_wp_set:(NSNumber*)active +{ + if1M4WpSet = [active boolValue]; +} + +- (void)ui_menu_activate_media_if1_m5_eject:(NSNumber*)active +{ + if1M5Eject = [active boolValue]; +} + +- (void)ui_menu_activate_media_if1_m5_wp_set:(NSNumber*)active +{ + if1M5WpSet = [active boolValue]; +} + +- (void)ui_menu_activate_media_if1_m6_eject:(NSNumber*)active +{ + if1M6Eject = [active boolValue]; +} + +- (void)ui_menu_activate_media_if1_m6_wp_set:(NSNumber*)active +{ + if1M6WpSet = [active boolValue]; +} + +- (void)ui_menu_activate_media_if1_m7_eject:(NSNumber*)active +{ + if1M7Eject = [active boolValue]; +} + +- (void)ui_menu_activate_media_if1_m8_eject:(NSNumber*)active +{ + if1M8Eject = [active boolValue]; +} + +- (void)ui_menu_activate_media_if1_m8_wp_set:(NSNumber*)active +{ + if1M8WpSet = [active boolValue]; +} + +- (void)ui_menu_activate_media_if1_m7_wp_set:(NSNumber*)active +{ + if1M7WpSet = [active boolValue]; +} + +- (void)ui_menu_activate_recording:(NSNumber*)active +{ + record = recordFromSnapshot = play = ![active boolValue]; + stop = [active boolValue]; +} + +- (void)ui_menu_activate_recording_rollback:(NSNumber*)active +{ + insert_snap = rollback = rollback_to = [active boolValue]; +} + +- (void)ui_menu_activate_ay_logging:(NSNumber*)active +{ + recordPsg = ![active boolValue]; + stopPsg = [active boolValue]; +} + +- (void)ui_menu_activate_machine_profiler:(NSNumber*)active +{ + profileStart = ![active boolValue]; + profileStop = [active boolValue]; +} + - (BOOL)validateMenuItem:(id <NSMenuItem>)menuItem { switch( [menuItem tag] ) { @@ -1244,9 +1411,9 @@ [self addRecentSnapshot:filename]; if( machine_current->machine == LIBSPECTRUM_MACHINE_PLUS3 ) { - specplus3_disk_insert_default_autoload( drive, filename ); + [[DisplayOpenGLView instance] specplus3DiskInsert:filename inDrive:drive]; } else { - trdos_disk_insert_default_autoload( drive, filename ); + [[DisplayOpenGLView instance] trdosDiskInsert:filename inDrive:drive]; } free( filename ); @@ -1429,13 +1596,14 @@ { [[DisplayOpenGLView instance] pause]; if( machine_current->machine == LIBSPECTRUM_MACHINE_PLUS3 ) { - specplus3_disk_eject( drive, write ); + [[DisplayOpenGLView instance] specplus3DiskEject:drive saveFirst:write]; } else { - trdos_disk_eject( drive, write ); + [[DisplayOpenGLView instance] trdosDiskEject:drive saveFirst:write]; } [[DisplayOpenGLView instance] unpause]; } +/* Runs in Emulator object context */ int menu_open_snap( void ) { @@ -1455,139 +1623,174 @@ int ui_menu_activate( ui_menu_item item, int active ) { - FuseController *controller = [FuseController singleton]; + NSNumber* activeBool = [NSNumber numberWithBool:active ? YES : NO]; + SEL method = nil; switch( item ) { case UI_MENU_ITEM_MEDIA_CARTRIDGE: - [controller ui_menu_activate_media_cartridge:active]; break; + method = @selector(ui_menu_activate_media_cartridge:); + break; case UI_MENU_ITEM_MEDIA_CARTRIDGE_DOCK: - [controller ui_menu_activate_media_cartridge_dock:active]; + method = @selector(ui_menu_activate_media_cartridge_dock:); break; case UI_MENU_ITEM_MEDIA_CARTRIDGE_DOCK_EJECT: - dockEject = active; break; + method = @selector(ui_menu_activate_media_cartridge_dock_eject:); + break; case UI_MENU_ITEM_MEDIA_CARTRIDGE_IF2: - [controller ui_menu_activate_media_cartridge_if2:active]; break; + method = @selector(ui_menu_activate_media_cartridge_if2:); + break; case UI_MENU_ITEM_MEDIA_CARTRIDGE_IF2_EJECT: - if2Eject = active; break; + method = @selector(ui_menu_activate_media_cartridge_if2_eject:); + break; case UI_MENU_ITEM_MEDIA_DISK: - [controller ui_menu_activate_media_disk:active]; break; + method = @selector(ui_menu_activate_media_disk:); + break; case UI_MENU_ITEM_MEDIA_DISK_PLUS3: - [controller ui_menu_activate_media_disk_plus3:active]; + method = @selector(ui_menu_activate_media_disk_plus3:); break; case UI_MENU_ITEM_MEDIA_DISK_PLUS3_A_EJECT: - diskPlus3EjectA = active; break; + method = @selector(ui_menu_activate_media_disk_plus3_a_eject:); + break; case UI_MENU_ITEM_MEDIA_DISK_PLUS3_B_EJECT: - diskPlus3EjectB = active; break; + method = @selector(ui_menu_activate_media_disk_plus3_b_eject:); + break; case UI_MENU_ITEM_MEDIA_DISK_TRDOS: - [controller ui_menu_activate_media_disk_trdos:active]; + method = @selector(ui_menu_activate_media_disk_trdos:); break; case UI_MENU_ITEM_MEDIA_DISK_TRDOS_A_EJECT: - diskTrdosEjectA = active; break; + method = @selector(ui_menu_activate_media_disk_trdos_a_eject:); + break; case UI_MENU_ITEM_MEDIA_DISK_TRDOS_B_EJECT: - diskTrdosEjectB = active; break; + method = @selector(ui_menu_activate_media_disk_trdos_b_eject:); + break; case UI_MENU_ITEM_RECORDING: - record = recordFromSnapshot = play = !active; - stop = active; break; + method = @selector(ui_menu_activate_recording:); + break; case UI_MENU_ITEM_RECORDING_ROLLBACK: - insert_snap = rollback = rollback_to = active; + method = @selector(ui_menu_activate_recording_rollback:); break; case UI_MENU_ITEM_AY_LOGGING: - recordPsg = !active; stopPsg = active; break; + method = @selector(ui_menu_activate_ay_logging:); + break; case UI_MENU_ITEM_MEDIA_IDE: - [controller ui_menu_activate_media_ide:active]; break; + method = @selector(ui_menu_activate_media_ide:); + break; case UI_MENU_ITEM_MEDIA_IDE_SIMPLE8BIT: - [controller ui_menu_activate_media_ide_simple8bit:active]; + method = @selector(ui_menu_activate_media_ide_simple8bit:); break; case UI_MENU_ITEM_MEDIA_IDE_SIMPLE8BIT_MASTER_EJECT: - ideSimple8BitEjectMaster = active; break; + method = @selector(ui_menu_activate_media_ide_simple8bit_master_eject:); + break; case UI_MENU_ITEM_MEDIA_IDE_SIMPLE8BIT_SLAVE_EJECT: - ideSimple8BitEjectSlave = active; break; + method = @selector(ui_menu_activate_media_ide_simple8bit_slave_eject:); + break; case UI_MENU_ITEM_MEDIA_IDE_ZXATASP: - [controller ui_menu_activate_media_ide_zxatasp:active]; + method = @selector(ui_menu_activate_media_ide_zxatasp:); break; case UI_MENU_ITEM_MEDIA_IDE_ZXATASP_MASTER_EJECT: - ideZxataspEjectMaster = active; break; + method = @selector(ui_menu_activate_media_ide_zxatasp_master_eject:); + break; case UI_MENU_ITEM_MEDIA_IDE_ZXATASP_SLAVE_EJECT: - ideZxataspEjectSlave = active; break; + method = @selector(ui_menu_activate_media_ide_zxatasp_slave_eject:); + break; case UI_MENU_ITEM_MEDIA_IDE_ZXCF: - [controller ui_menu_activate_media_ide_zxcf:active]; break; + method = @selector(ui_menu_activate_media_ide_zxcf:); + break; case UI_MENU_ITEM_MEDIA_IDE_ZXCF_EJECT: - ideZxcfEject = active; break; + method = @selector(ui_menu_activate_media_ide_zxcf_eject:); + break; case UI_MENU_ITEM_MEDIA_IF1: - [controller ui_menu_activate_media_if1:active]; break; + method = @selector(ui_menu_activate_media_if1:); + break; case UI_MENU_ITEM_MEDIA_IF1_M1_EJECT: - if1M1Eject = active; break; + method = @selector(ui_menu_activate_media_if1_m1_eject:); + break; case UI_MENU_ITEM_MEDIA_IF1_M1_WP_SET: - if1M1WpSet = active; break; + method = @selector(ui_menu_activate_media_if1_m1_wp_set:); + break; case UI_MENU_ITEM_MEDIA_IF1_M2_EJECT: - if1M2Eject = active; break; + method = @selector(ui_menu_activate_media_if1_m2_eject:); + break; case UI_MENU_ITEM_MEDIA_IF1_M2_WP_SET: - if1M2WpSet = active; break; + method = @selector(ui_menu_activate_media_if1_m2_wp_set:); + break; case UI_MENU_ITEM_MEDIA_IF1_M3_EJECT: - if1M3Eject = active; break; + method = @selector(ui_menu_activate_media_if1_m3_eject:); + break; case UI_MENU_ITEM_MEDIA_IF1_M3_WP_SET: - if1M3WpSet = active; break; + method = @selector(ui_menu_activate_media_if1_m3_wp_set:); + break; case UI_MENU_ITEM_MEDIA_IF1_M4_EJECT: - if1M4Eject = active; break; + method = @selector(ui_menu_activate_media_if1_m4_eject:); + break; case UI_MENU_ITEM_MEDIA_IF1_M4_WP_SET: - if1M4WpSet = active; break; + method = @selector(ui_menu_activate_media_if1_m4_wp_set:); + break; case UI_MENU_ITEM_MEDIA_IF1_M5_EJECT: - if1M5Eject = active; break; + method = @selector(ui_menu_activate_media_if1_m5_eject:); + break; case UI_MENU_ITEM_MEDIA_IF1_M5_WP_SET: - if1M5WpSet = active; break; + method = @selector(ui_menu_activate_media_if1_m5_wp_set:); + break; case UI_MENU_ITEM_MEDIA_IF1_M6_EJECT: - if1M6Eject = active; break; + method = @selector(ui_menu_activate_media_if1_m6_eject:); + break; case UI_MENU_ITEM_MEDIA_IF1_M6_WP_SET: - if1M6WpSet = active; break; + method = @selector(ui_menu_activate_media_if1_m6_wp_set:); + break; case UI_MENU_ITEM_MEDIA_IF1_M7_EJECT: - if1M7Eject = active; break; + method = @selector(ui_menu_activate_media_if1_m7_eject:); + break; case UI_MENU_ITEM_MEDIA_IF1_M7_WP_SET: - if1M7WpSet = active; break; + method = @selector(ui_menu_activate_media_if1_m7_wp_set:); + break; case UI_MENU_ITEM_MEDIA_IF1_M8_EJECT: - if1M8Eject = active; break; + method = @selector(ui_menu_activate_media_if1_m8_eject:); + break; case UI_MENU_ITEM_MEDIA_IF1_M8_WP_SET: - if1M8WpSet = active; break; + method = @selector(ui_menu_activate_media_if1_m8_wp_set:); + break; case UI_MENU_ITEM_MEDIA_IF1_RS232_UNPLUG_R: case UI_MENU_ITEM_MEDIA_IF1_RS232_UNPLUG_T: @@ -1595,19 +1798,20 @@ break; case UI_MENU_ITEM_MACHINE_PROFILER: - profileStart = !active; - profileStop = active; + method = @selector(ui_menu_activate_machine_profiler:); break; case UI_MENU_ITEM_MEDIA_IDE_DIVIDE: - [controller ui_menu_activate_media_ide_divide:active]; + method = @selector(ui_menu_activate_media_ide_divide:); break; case UI_MENU_ITEM_MEDIA_IDE_DIVIDE_MASTER_EJECT: - ideDivideEjectMaster = active; break; + method = @selector(ui_menu_activate_media_ide_divide_master_eject:); + break; case UI_MENU_ITEM_MEDIA_IDE_DIVIDE_SLAVE_EJECT: - ideDivideEjectSlave = active; break; + method = @selector(ui_menu_activate_media_ide_divide_slave_eject:); + break; default: ui_error( UI_ERROR_ERROR, "Attempt to activate unknown menu item %d", @@ -1616,6 +1820,12 @@ } + [[FuseController singleton] + performSelectorOnMainThread:method + withObject:activeBool + waitUntilDone:NO + ]; + return 0; } @@ -1648,7 +1858,7 @@ drive = which == SPECPLUS3_DRIVE_A ? 'A' : 'B'; - if( !specplus3_disk_present( which ) ) { + if( ![[DisplayOpenGLView instance] specplus3DiskPresent:which] ) { ui_error( UI_ERROR_INFO, "No disk present in drive %c:", drive ); return 0; } @@ -1660,7 +1870,7 @@ if( !filename ) { [[DisplayOpenGLView instance] unpause]; return 1; } - specplus3_disk_write( which, filename ); + [[DisplayOpenGLView instance] specplus3DiskWrite:filename inDrive:which]; [[FuseController singleton] addRecentSnapshot:filename]; @@ -1691,7 +1901,7 @@ if( !filename ) { [[DisplayOpenGLView instance] unpause]; return 1; } - trdos_disk_write( which, filename ); + [[DisplayOpenGLView instance] trdosDiskWrite:filename inDrive:which]; [[FuseController singleton] addRecentSnapshot:filename]; Modified: branches/fusegl/fuse/fusepb/models/Emulator.h =================================================================== --- branches/fusegl/fuse/fusepb/models/Emulator.h 2007-04-06 01:54:59 UTC (rev 338) +++ branches/fusegl/fuse/fusepb/models/Emulator.h 2007-04-06 07:21:52 UTC (rev 339) @@ -27,6 +27,8 @@ #include <libspectrum.h> #include "input.h" +#include "machines/specplus3.h" +#include "trdos.h" @interface Emulator : NSObject { @@ -77,6 +79,15 @@ -(void) reset; -(int) nmi; +-(void) specplus3DiskInsert:(const char *)filename inDrive:(specplus3_drive_number)which; +-(void) specplus3DiskEject:(specplus3_drive_number)drive saveFirst:(int)write; +-(int) specplus3DiskPresent:(specplus3_drive_number)which; +-(void) specplus3DiskWrite:(const char *)filename inDrive:(specplus3_drive_number)which; + +-(void) trdosDiskInsert:(const char *)filename inDrive:(trdos_drive_number)which; +-(void) trdosDiskEject:(trdos_drive_number)drive saveFirst:(int)write; +-(void) trdosDiskWrite:(const char *)filename inDrive:(trdos_drive_number)which; + -(void) snapshotWrite:(const char *)filename; -(void) screenshotScrRead:(const char *)filename; Modified: branches/fusegl/fuse/fusepb/models/Emulator.m =================================================================== --- branches/fusegl/fuse/fusepb/models/Emulator.m 2007-04-06 01:54:59 UTC (rev 338) +++ branches/fusegl/fuse/fusepb/models/Emulator.m 2007-04-06 07:21:52 UTC (rev 339) @@ -248,6 +248,41 @@ return event_add( 0, EVENT_TYPE_NMI ); } +-(void) specplus3DiskInsert:(const char *)filename inDrive:(specplus3_drive_number)which +{ + specplus3_disk_insert_default_autoload( which, filename ); +} + +-(void) specplus3DiskEject:(specplus3_drive_number)drive saveFirst:(int)write +{ + specplus3_disk_eject( drive, write ); +} + +-(int) specplus3DiskPresent:(specplus3_drive_number)which +{ + return specplus3_disk_present( which ); +} + +-(void) specplus3DiskWrite:(const char *)filename inDrive:(specplus3_drive_number)which +{ + specplus3_disk_write( which, filename ); +} + +-(void) trdosDiskInsert:(const char *)filename inDrive:(trdos_drive_number)which +{ + trdos_disk_insert_default_autoload( which, filename ); +} + +-(void) trdosDiskEject:(trdos_drive_number)drive saveFirst:(int)write +{ + trdos_disk_eject( drive, write ); +} + +-(void) trdosDiskWrite:(const char *)filename inDrive:(trdos_drive_number)which +{ + trdos_disk_write( which, filename ); +} + -(void) snapshotWrite:(const char *)filename { snapshot_write( filename ); Modified: branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h =================================================================== --- branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h 2007-04-06 01:54:59 UTC (rev 338) +++ branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.h 2007-04-06 07:21:52 UTC (rev 339) @@ -31,6 +31,8 @@ #include <libspectrum.h> #include "input.h" +#include "machines/specplus3.h" +#include "trdos.h" #include "ui/cocoa/cocoadisplay.h" #include "ui/ui.h" @@ -113,6 +115,15 @@ -(void) reset; -(int) nmi; +-(void) specplus3DiskInsert:(const char *)filename inDrive:(specplus3_drive_number)which; +-(void) specplus3DiskEject:(specplus3_drive_number)drive saveFirst:(int)write; +-(int) specplus3DiskPresent:(specplus3_drive_number)which; +-(void) specplus3DiskWrite:(const char *)filename inDrive:(specplus3_drive_number)which; + +-(void) trdosDiskInsert:(const char *)filename inDrive:(trdos_drive_number)which; +-(void) trdosDiskEject:(trdos_drive_number)drive saveFirst:(int)write; +-(void) trdosDiskWrite:(const char *)filename inDrive:(trdos_drive_number)which; + -(void) snapshotWrite:(const char *)filename; -(void) screenshotScrRead:(const char *)filename; Modified: branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m =================================================================== --- branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m 2007-04-06 01:54:59 UTC (rev 338) +++ branches/fusegl/fuse/fusepb/views/DisplayOpenGLView.m 2007-04-06 07:21:52 UTC (rev 339) @@ -629,6 +629,41 @@ return [proxy_emulator nmi]; } +-(void) specplus3DiskInsert:(const char *)filename inDrive:(specplus3_drive_number)which +{ + [proxy_emulator specplus3DiskInsert:filename inDrive:which]; +} + +-(void) specplus3DiskEject:(specplus3_drive_number)drive saveFirst:(int)write +{ + [proxy_emulator specplus3DiskEject:drive saveFirst:write]; +} + +-(int) specplus3DiskPresent:(specplus3_drive_number)which +{ + return [proxy_emulator specplus3DiskPresent:which]; +} + +-(void) specplus3DiskWrite:(const char *)filename inDrive:(specplus3_drive_number)which +{ + [proxy_emulator specplus3DiskWrite:filename inDrive:which]; +} + +-(void) trdosDiskInsert:(const char *)filename inDrive:(trdos_drive_number)which +{ + [proxy_emulator trdosDiskInsert:filename inDrive:which]; +} + +-(void) trdosDiskEject:(trdos_drive_number)drive saveFirst:(int)write +{ + [proxy_emulator trdosDiskEject:drive saveFirst:write]; +} + +-(void) trdosDiskWrite:(const char *)filename inDrive:(trdos_drive_number)which +{ + [proxy_emulator trdosDiskWrite:filename inDrive:which]; +} + -(void) snapshotWrite:(const char *)filename { [proxy_emulator snapshotWrite:filename]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |