[Fuse-for-macosx-commits] SF.net SVN: fuse-for-macosx: [495] trunk/fuse/fusepb
                
                Brought to you by:
                
                    fredm
                    
                
            
            
        
        
        
    | 
      
      
      From: <fr...@us...> - 2008-03-27 12:05:19
      
     | 
| Revision: 495
          http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=495&view=rev
Author:   fredm
Date:     2008-03-27 05:04:48 -0700 (Thu, 27 Mar 2008)
Log Message:
-----------
Add +D and Beta disk write protect support. Fix Microdrive cartridge menus.
Add command key release for keyboard joystick binding shortcut.
Modified Paths:
--------------
    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
Modified: trunk/fuse/fusepb/controllers/FuseController.h
===================================================================
--- trunk/fuse/fusepb/controllers/FuseController.h	2008-03-27 12:03:43 UTC (rev 494)
+++ trunk/fuse/fusepb/controllers/FuseController.h	2008-03-27 12:04:48 UTC (rev 495)
@@ -42,11 +42,23 @@
   IBOutlet NSMenuItem *cart;
   IBOutlet NSMenuItem *dock;
   IBOutlet NSMenuItem *if1;
+  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 *diskTrDos;
+  IBOutlet NSMenuItem *diskTrDosWpA;
+  IBOutlet NSMenuItem *diskTrDosWpB;
   IBOutlet NSMenuItem *diskPlusD;
+  IBOutlet NSMenuItem *diskPlusDWpA;
+  IBOutlet NSMenuItem *diskPlusDWpB;
   IBOutlet NSMenuItem *ide;
   IBOutlet NSMenuItem *divide;
   IBOutlet NSMenuItem *simple8Bit;
@@ -78,6 +90,8 @@
 - (IBAction)disk_eject_write_b:(id)sender;
 - (IBAction)disk_open_a:(id)sender;
 - (IBAction)disk_open_b:(id)sender;
+- (IBAction)disk_write_protect_a:(id)sender;
+- (IBAction)disk_write_protect_b:(id)sender;
 - (IBAction)dock_eject:(id)sender;
 - (IBAction)dock_open:(id)sender;
 - (IBAction)export_screen:(id)sender;
@@ -156,7 +170,9 @@
 - (void)ui_menu_activate_media_disk_beta_b_wp_set:(NSNumber*)active;
 - (void)ui_menu_activate_media_disk_plusd:(NSNumber*)active;
 - (void)ui_menu_activate_media_disk_plusd_a_eject:(NSNumber*)active;
+- (void)ui_menu_activate_media_plusd_a_wp_set:(NSNumber*)active;
 - (void)ui_menu_activate_media_disk_plusd_b_eject:(NSNumber*)active;
+- (void)ui_menu_activate_media_plusd_b_wp_set:(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;
Modified: trunk/fuse/fusepb/controllers/FuseController.m
===================================================================
--- trunk/fuse/fusepb/controllers/FuseController.m	2008-03-27 12:03:43 UTC (rev 494)
+++ trunk/fuse/fusepb/controllers/FuseController.m	2008-03-27 12:04:48 UTC (rev 495)
@@ -59,7 +59,8 @@
 
 static char* cocoaui_openpanel_get_filename( NSString *title, NSArray *fileTypes );
 static char* cocoaui_savepanel_get_filename( NSString *title, NSArray *fileTypes );
-static void cocoaui_disk_eject( specplus3_drive_number drive, int which );
+static void cocoaui_disk_eject( specplus3_drive_number drive, int write );
+static void cocoaui_disk_write_protect( specplus3_drive_number drive, int wrprot );
 static void cocoaui_mdr_eject( int drive, int which );
 int cocoaui_confirm( const char *message );
 
@@ -68,9 +69,7 @@
 static int diskPlus3EjectA = 0;
 static int diskPlus3EjectB = 0;
 static int diskTrdosEjectA = 0;
-static int diskTrdosWpSetA = 0;
 static int diskTrdosEjectB = 0;
-static int diskTrdosWpSetB = 0;
 static int diskPlusDEjectA = 0;
 static int diskPlusDEjectB = 0;
 static int record = 1;
@@ -90,21 +89,13 @@
 static int ideZxataspEjectSlave = 0;
 static int ideZxcfEject = 0;
 static int if1M1Eject = 0;
-static int if1M1WpSet = 0;
 static int if1M2Eject = 0;
-static int if1M2WpSet = 0;
 static int if1M3Eject = 0;
-static int if1M3WpSet = 0;
 static int if1M4Eject = 0;
-static int if1M4WpSet = 0;
 static int if1M5Eject = 0;
-static int if1M5WpSet = 0;
 static int if1M6Eject = 0;
-static int if1M6WpSet = 0;
 static int if1M7Eject = 0;
-static int if1M7WpSet = 0;
 static int if1M8Eject = 0;
-static int if1M8WpSet = 0;
 static int profileStart = 1;
 static int profileStop = 0;
 static int playTape = 1;
@@ -137,10 +128,27 @@
 #define QZ_q      0x0C
 #define QZ_o      0x1F
 #define QZ_p      0x23
+#define QZ_j      0x26
 #define QZ_k      0x28
 #define QZ_SLASH  0x2C
 #define QZ_PERIOD 0x2F
 
+static int
+get_microdrive_no( int tag ) {
+  switch( tag ) {
+  case 30:  case 31:  case 32:  case 33:  case 34:  return 0; break;
+  case 80:  case 81:  case 82:  case 83:  case 84:  return 1; break;
+  case 90:  case 91:  case 92:  case 93:  case 94:  return 2; break;
+  case 100: case 101: case 102: case 103: case 104: return 3; break;
+  case 110: case 111: case 112: case 113: case 114: return 4; break;
+  case 120: case 121: case 122: case 123: case 124: return 5; break;
+  case 130: case 131: case 132: case 133: case 134: return 6; break;
+  case 140: case 141: case 142: case 143: case 144: return 7; break;
+  }
+
+  return 0;
+}
+
 @implementation FuseController
 
 static FuseController *singleton = nil;
@@ -246,6 +254,11 @@
   cocoaui_disk_eject( SPECPLUS3_DRIVE_A, 1 );
 }
 
+- (IBAction)disk_write_protect_a:(id)sender
+{
+  cocoaui_disk_write_protect( SPECPLUS3_DRIVE_A, [sender state] == NSOffState );
+}
+
 - (IBAction)disk_eject_b:(id)sender
 {
   cocoaui_disk_eject( SPECPLUS3_DRIVE_B, 0 );
@@ -256,6 +269,11 @@
   cocoaui_disk_eject( SPECPLUS3_DRIVE_B, 1 );
 }
 
+- (IBAction)disk_write_protect_b:(id)sender
+{
+  cocoaui_disk_write_protect( SPECPLUS3_DRIVE_B, [sender isEnabled] );
+}
+
 - (IBAction)disk_open_a:(id)sender
 {
   [self openDisk:SPECPLUS3_DRIVE_A];
@@ -391,7 +409,7 @@
 
 - (IBAction)mdr_insert_new:(id)sender
 {
-  [[DisplayOpenGLView instance] if1MdrNew:[sender tag] - 30];
+  [[DisplayOpenGLView instance] if1MdrNew:get_microdrive_no( [sender tag] )];
 }
 
 - (IBAction)mdr_insert:(id)sender
@@ -403,7 +421,8 @@
   filename = cocoaui_openpanel_get_filename( @"Insert microdrive disk file", mdrFileTypes );
   if( !filename ) { [[DisplayOpenGLView instance] unpause]; return; }
 
-  [[DisplayOpenGLView instance] if1MdrInsert:filename inDrive:[sender tag] - 30];
+  [[DisplayOpenGLView instance] if1MdrInsert:filename
+                                     inDrive:get_microdrive_no( [sender tag] )];
 
   [self addRecentSnapshot:filename];
 
@@ -414,19 +433,20 @@
 
 - (IBAction)mdr_eject:(id)sender
 {
-  cocoaui_mdr_eject( [sender tag] - 30, 0 );
+  cocoaui_mdr_eject( get_microdrive_no( [sender tag] ), 0 );
 }
 
 - (IBAction)mdr_eject_write:(id)sender
 {
-  cocoaui_mdr_eject( [sender tag] - 30, 1 );
+  cocoaui_mdr_eject( get_microdrive_no( [sender tag] ), 1 );
 }
 
 - (IBAction)mdr_writep:(id)sender
 {
-  int no = [sender tag] - 30;
+  int no = get_microdrive_no( [sender tag] );
 
-  [[DisplayOpenGLView instance] if1MdrWriteProtect:no & 0xf0 inDrive:( no & 0x0f )];
+  [[DisplayOpenGLView instance] if1MdrWriteProtect:[sender state] == NSOffState
+                                inDrive:no];
 }
 
 - (IBAction)open:(id)sender
@@ -728,6 +748,7 @@
 - (IBAction)joystick_keyboard:(id)sender
 {
   [[DisplayOpenGLView instance] joystickToggleKeyboard];
+  [self releaseCmdKeys:@"j":QZ_j];
 }
 
 - (IBAction)tape_clear:(id)sender
@@ -1021,7 +1042,7 @@
 
 - (void)ui_menu_activate_media_disk_beta_a_wp_set:(NSNumber*)active
 {
-  diskTrdosWpSetA = [active boolValue];
+  [diskTrDosWpA setState:[active boolValue] == YES ? NSOffState : NSOnState];
 }
 
 - (void)ui_menu_activate_media_disk_beta_b_eject:(NSNumber*)active
@@ -1031,7 +1052,7 @@
 
 - (void)ui_menu_activate_media_disk_beta_b_wp_set:(NSNumber*)active
 {
-  diskTrdosWpSetB = [active boolValue];
+  [diskTrDosWpB setState:[active boolValue] == YES ? NSOffState : NSOnState];
 }
 
 - (void)ui_menu_activate_media_disk_plusd:(NSNumber*)active
@@ -1044,11 +1065,21 @@
   diskPlusDEjectA = [active boolValue];
 }
 
+- (void)ui_menu_activate_media_plusd_a_wp_set:(NSNumber*)active
+{
+  [diskPlusDWpA setState:[active boolValue] == YES ? NSOffState : NSOnState];
+}
+
 - (void)ui_menu_activate_media_disk_plusd_b_eject:(NSNumber*)active
 {
   diskPlusDEjectB = [active boolValue];
 }
 
+- (void)ui_menu_activate_media_plusd_b_wp_set:(NSNumber*)active
+{
+  [diskPlusDWpB setState:[active boolValue] == YES ? NSOffState : NSOnState];
+}
+
 - (void)ui_menu_activate_media_ide:(NSNumber*)active
 {
   [ide setEnabled:[active boolValue]];
@@ -1121,7 +1152,7 @@
 
 - (void)ui_menu_activate_media_if1_m1_wp_set:(NSNumber*)active
 {
-  if1M1WpSet = [active boolValue];
+  [if1Wp1 setState:[active boolValue] == YES ? NSOffState : NSOnState];
 }
 
 - (void)ui_menu_activate_media_if1_m2_eject:(NSNumber*)active
@@ -1131,7 +1162,7 @@
 
 - (void)ui_menu_activate_media_if1_m2_wp_set:(NSNumber*)active
 {
-  if1M2WpSet = [active boolValue];
+  [if1Wp2 setState:[active boolValue] == YES ? NSOffState : NSOnState];
 }
 
 - (void)ui_menu_activate_media_if1_m3_eject:(NSNumber*)active
@@ -1141,7 +1172,7 @@
 
 - (void)ui_menu_activate_media_if1_m3_wp_set:(NSNumber*)active
 {
-  if1M3WpSet = [active boolValue];
+  [if1Wp3 setState:[active boolValue] == YES ? NSOffState : NSOnState];
 }
 
 - (void)ui_menu_activate_media_if1_m4_eject:(NSNumber*)active
@@ -1151,7 +1182,7 @@
 
 - (void)ui_menu_activate_media_if1_m4_wp_set:(NSNumber*)active
 {
-  if1M4WpSet = [active boolValue];
+  [if1Wp4 setState:[active boolValue] == YES ? NSOffState : NSOnState];
 }
 
 - (void)ui_menu_activate_media_if1_m5_eject:(NSNumber*)active
@@ -1161,7 +1192,7 @@
 
 - (void)ui_menu_activate_media_if1_m5_wp_set:(NSNumber*)active
 {
-  if1M5WpSet = [active boolValue];
+  [if1Wp5 setState:[active boolValue] == YES ? NSOffState : NSOnState];
 }
 
 - (void)ui_menu_activate_media_if1_m6_eject:(NSNumber*)active
@@ -1171,7 +1202,7 @@
 
 - (void)ui_menu_activate_media_if1_m6_wp_set:(NSNumber*)active
 {
-  if1M6WpSet = [active boolValue];
+  [if1Wp6 setState:[active boolValue] == YES ? NSOffState : NSOnState];
 }
 
 - (void)ui_menu_activate_media_if1_m7_eject:(NSNumber*)active
@@ -1179,6 +1210,11 @@
   if1M7Eject = [active boolValue];
 }
 
+- (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
 {
   if1M8Eject = [active boolValue];
@@ -1186,14 +1222,9 @@
 
 - (void)ui_menu_activate_media_if1_m8_wp_set:(NSNumber*)active
 {
-  if1M8WpSet = [active boolValue];
+  [if1Wp8 setState:[active boolValue] == YES ? NSOffState : NSOnState];
 }
 
-- (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];
@@ -1246,18 +1277,22 @@
     break;
   case 13:
   case 14:
+  case 27:
     return diskTrdosEjectA == 0 ? NO : YES;
     break;
   case 15:
   case 16:
+  case 26:
     return diskTrdosEjectB == 0 ? NO : YES;
     break;
   case 20:
   case 21:
+  case 24:
     return diskPlusDEjectA == 0 ? NO : YES;
     break;
   case 22:
   case 23:
+  case 25:
     return diskPlusDEjectB == 0 ? NO : YES;
     break;
   case 6:
@@ -1325,6 +1360,46 @@
   case 76:
     return playTape == 0 ? NO : YES;
     break;
+  case 32:
+  case 33:
+  case 34:
+    return if1M1Eject == 0 ? NO : YES;
+    break;
+  case 82:
+  case 83:
+  case 84:
+    return if1M2Eject == 0 ? NO : YES;
+    break;
+  case 92:
+  case 93:
+  case 94:
+    return if1M3Eject == 0 ? NO : YES;
+    break;
+  case 102:
+  case 103:
+  case 104:
+    return if1M4Eject == 0 ? NO : YES;
+    break;
+  case 112:
+  case 113:
+  case 114:
+    return if1M5Eject == 0 ? NO : YES;
+    break;
+  case 122:
+  case 123:
+  case 124:
+    return if1M6Eject == 0 ? NO : YES;
+    break;
+  case 132:
+  case 133:
+  case 134:
+    return if1M7Eject == 0 ? NO : YES;
+    break;
+  case 142:
+  case 143:
+  case 144:
+    return if1M8Eject == 0 ? NO : YES;
+    break;
   default:
     return YES;
   }
@@ -1967,6 +2042,20 @@
 }
 
 static void
+cocoaui_disk_write_protect( specplus3_drive_number drive, int wrprot )
+{
+  [[DisplayOpenGLView instance] pause];
+  if( machine_current->machine == LIBSPECTRUM_MACHINE_PLUS3 ) {
+    //[[DisplayOpenGLView instance] specplus3DiskWriteProtect:drive protect:wrprot];
+  } else if( beta_active ) {
+    [[DisplayOpenGLView instance] betaDiskWriteProtect:drive protect:wrprot];
+  } else {
+    [[DisplayOpenGLView instance] plusdDiskWriteProtect:drive protect:wrprot];
+  }
+  [[DisplayOpenGLView instance] unpause];
+}
+
+static void
 cocoaui_mdr_eject( int drive, int write )
 {
   [[DisplayOpenGLView instance] pause];
@@ -2075,10 +2164,18 @@
     method = @selector(ui_menu_activate_media_disk_plusd_a_eject:);
     break;
 
+  case UI_MENU_ITEM_MEDIA_DISK_PLUSD_1_WP_SET:
+    method = @selector(ui_menu_activate_media_plusd_a_wp_set:);
+    break;
+
   case UI_MENU_ITEM_MEDIA_DISK_PLUSD_2_EJECT:
     method = @selector(ui_menu_activate_media_disk_plusd_b_eject:);
     break;
 
+  case UI_MENU_ITEM_MEDIA_DISK_PLUSD_2_WP_SET:
+    method = @selector(ui_menu_activate_media_plusd_b_wp_set:);
+    break;
+
   case UI_MENU_ITEM_RECORDING:
     method = @selector(ui_menu_activate_recording:);
     break;
Modified: trunk/fuse/fusepb/models/Emulator.h
===================================================================
--- trunk/fuse/fusepb/models/Emulator.h	2008-03-27 12:03:43 UTC (rev 494)
+++ trunk/fuse/fusepb/models/Emulator.h	2008-03-27 12:04:48 UTC (rev 495)
@@ -96,10 +96,12 @@
 -(void) betaDiskInsert:(const char *)filename inDrive:(beta_drive_number)which;
 -(void) betaDiskEject:(beta_drive_number)drive saveFirst:(int)write;
 -(void) betaDiskWrite:(const char *)filename inDrive:(beta_drive_number)which;
+-(void) betaDiskWriteProtect:(beta_drive_number)which protect:(int)write;
 
 -(void) plusdDiskInsert:(const char *)filename inDrive:(plusd_drive_number)which;
 -(void) plusdDiskEject:(plusd_drive_number)drive saveFirst:(int)write;
 -(void) plusdDiskWrite:(const char *)filename inDrive:(plusd_drive_number)which;
+-(void) plusdDiskWriteProtect:(plusd_drive_number)which protect:(int)write;
 
 -(void) snapshotWrite:(const char *)filename;
 
Modified: trunk/fuse/fusepb/models/Emulator.m
===================================================================
--- trunk/fuse/fusepb/models/Emulator.m	2008-03-27 12:03:43 UTC (rev 494)
+++ trunk/fuse/fusepb/models/Emulator.m	2008-03-27 12:04:48 UTC (rev 495)
@@ -321,6 +321,11 @@
   beta_disk_write( which, filename );
 }
 
+-(void) betaDiskWriteProtect:(beta_drive_number)which protect:(int)write
+{
+  beta_disk_writeprotect( which, write );
+}
+
 -(void) plusdDiskInsert:(const char *)filename inDrive:(plusd_drive_number)which
 {
   plusd_disk_insert( which, filename, 0 );
@@ -336,6 +341,11 @@
   plusd_disk_write( which, filename );
 }
 
+-(void) plusdDiskWriteProtect:(plusd_drive_number)which protect:(int)write
+{
+  plusd_disk_writeprotect( which, write );
+}
+
 -(void) snapshotWrite:(const char *)filename
 {
   snapshot_write( filename );
Modified: trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib
===================================================================
--- trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib	2008-03-27 12:03:43 UTC (rev 494)
+++ trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib	2008-03-27 12:04:48 UTC (rev 495)
@@ -23,6 +23,8 @@
                 "disk_eject_write_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;
@@ -84,11 +86,23 @@
                 disk = NSMenuItem;
                 diskPlus3 = 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;
Modified: trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib
===================================================================
--- trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib	2008-03-27 12:03:43 UTC (rev 494)
+++ trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib	2008-03-27 12:04:48 UTC (rev 495)
@@ -13,8 +13,8 @@
 	<string>489.0</string>
 	<key>IBOpenObjects</key>
 	<array>
+		<integer>877</integer>
 		<integer>29</integer>
-		<integer>877</integer>
 	</array>
 	<key>IBSystem Version</key>
 	<string>9C7010</string>
Modified: trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib
===================================================================
(Binary files differ)
Modified: trunk/fuse/fusepb/views/DisplayOpenGLView.h
===================================================================
--- trunk/fuse/fusepb/views/DisplayOpenGLView.h	2008-03-27 12:03:43 UTC (rev 494)
+++ trunk/fuse/fusepb/views/DisplayOpenGLView.h	2008-03-27 12:04:48 UTC (rev 495)
@@ -126,10 +126,12 @@
 -(void) betaDiskInsert:(const char *)filename inDrive:(beta_drive_number)which;
 -(void) betaDiskEject:(beta_drive_number)drive saveFirst:(int)write;
 -(void) betaDiskWrite:(const char *)filename inDrive:(beta_drive_number)which;
+-(void) betaDiskWriteProtect:(beta_drive_number)which protect:(int)write;
 
 -(void) plusdDiskInsert:(const char *)filename inDrive:(plusd_drive_number)which;
 -(void) plusdDiskEject:(plusd_drive_number)drive saveFirst:(int)write;
 -(void) plusdDiskWrite:(const char *)filename inDrive:(plusd_drive_number)which;
+-(void) plusdDiskWriteProtect:(plusd_drive_number)which protect:(int)write;
 
 -(void) snapshotWrite:(const char *)filename;
 
Modified: trunk/fuse/fusepb/views/DisplayOpenGLView.m
===================================================================
--- trunk/fuse/fusepb/views/DisplayOpenGLView.m	2008-03-27 12:03:43 UTC (rev 494)
+++ trunk/fuse/fusepb/views/DisplayOpenGLView.m	2008-03-27 12:04:48 UTC (rev 495)
@@ -743,6 +743,11 @@
   [proxy_emulator betaDiskWrite:filename inDrive:which];
 }
 
+-(void) betaDiskWriteProtect:(beta_drive_number)which protect:(int)write
+{
+  [proxy_emulator betaDiskWriteProtect:which protect:write];
+}
+
 -(void) plusdDiskInsert:(const char *)filename inDrive:(plusd_drive_number)which
 {
   [proxy_emulator plusdDiskInsert:filename inDrive:which];
@@ -758,6 +763,11 @@
   [proxy_emulator plusdDiskWrite:filename inDrive:which];
 }
 
+-(void) plusdDiskWriteProtect:(plusd_drive_number)which protect:(int)write
+{
+  [proxy_emulator plusdDiskWriteProtect:which protect:write];
+}
+
 -(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.
 |