[Fuse-for-macosx-commits] SF.net SVN: fuse-for-macosx: [502] trunk/fuse
Brought to you by:
fredm
|
From: <fr...@us...> - 2008-03-31 12:46:14
|
Revision: 502
http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=502&view=rev
Author: fredm
Date: 2008-03-31 05:46:20 -0700 (Mon, 31 Mar 2008)
Log Message:
-----------
Add +D and Beta disk insert menu entries. Allow +D to save .img images.
Modified Paths:
--------------
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
Modified: trunk/fuse/TODO
===================================================================
--- trunk/fuse/TODO 2008-03-31 11:51:27 UTC (rev 501)
+++ trunk/fuse/TODO 2008-03-31 12:46:20 UTC (rev 502)
@@ -1,6 +1,5 @@
TODO
-* +D and Beta Insert New... menu items
* SZX and Pentagon issues
* Pentagon port #ff returning floating bus issues
* Timex 2068 fusetests
@@ -8,6 +7,7 @@
* SZX +3 block
* SZX DivIDE block
* FuseGenerator
+* Other disk write formats
* Console mode GUI
* SZX ZX Printer block
* PAL Compsite emulation
Modified: trunk/fuse/fusepb/controllers/FuseController.h
===================================================================
--- trunk/fuse/fusepb/controllers/FuseController.h 2008-03-31 11:51:27 UTC (rev 501)
+++ trunk/fuse/fusepb/controllers/FuseController.h 2008-03-31 12:46:20 UTC (rev 502)
@@ -88,7 +88,9 @@
- (IBAction)disk_eject_b:(id)sender;
- (IBAction)disk_eject_write_a:(id)sender;
- (IBAction)disk_eject_write_b:(id)sender;
+- (IBAction)disk_new_a:(id)sender;
- (IBAction)disk_open_a:(id)sender;
+- (IBAction)disk_new_b:(id)sender;
- (IBAction)disk_open_b:(id)sender;
- (IBAction)disk_write_protect_a:(id)sender;
- (IBAction)disk_write_protect_b:(id)sender;
@@ -214,6 +216,7 @@
- (void)clearRecentSnapshots;
- (void)setTitle:(NSString*)title;
+- (void)newDisk:(specplus3_drive_number)drive;
- (void)openDisk:(specplus3_drive_number)drive;
- (void)setDiskState:(NSNumber*)state;
Modified: trunk/fuse/fusepb/controllers/FuseController.m
===================================================================
--- trunk/fuse/fusepb/controllers/FuseController.m 2008-03-31 11:51:27 UTC (rev 501)
+++ trunk/fuse/fusepb/controllers/FuseController.m 2008-03-31 12:46:20 UTC (rev 502)
@@ -280,11 +280,21 @@
[self openDisk:SPECPLUS3_DRIVE_A];
}
+- (IBAction)disk_new_a:(id)sender
+{
+ [self newDisk:SPECPLUS3_DRIVE_A];
+}
+
- (IBAction)disk_open_b:(id)sender
{
[self openDisk:SPECPLUS3_DRIVE_B];
}
+- (IBAction)disk_new_b:(id)sender
+{
+ [self newDisk:SPECPLUS3_DRIVE_B];
+}
+
- (IBAction)dock_open:(id)sender
{
int error;
@@ -1563,6 +1573,21 @@
[window setTitle:title];
}
+- (void)newDisk:(specplus3_drive_number)drive
+{
+ [[DisplayOpenGLView instance] pause];
+
+ if( machine_current->machine == LIBSPECTRUM_MACHINE_PLUS3 ) {
+ //[[DisplayOpenGLView instance] specplus3DiskInsert:filename inDrive:drive];
+ } else if( beta_active ) {
+ [[DisplayOpenGLView instance] betaDiskInsertNew:drive];
+ } else {
+ [[DisplayOpenGLView instance] plusdDiskInsertNew:drive];
+ }
+
+ [[DisplayOpenGLView instance] unpause];
+}
+
- (void)openDisk:(specplus3_drive_number)drive
{
char *filename = NULL;
@@ -1573,16 +1598,13 @@
if( machine_current->machine == LIBSPECTRUM_MACHINE_PLUS3 ) {
fileTypes = plus3FileTypes;
- } else if( machine_current->machine == LIBSPECTRUM_MACHINE_PENT ||
- machine_current->machine == LIBSPECTRUM_MACHINE_SCORP ) {
+ } else if( beta_active ) {
fileTypes = betaFileTypes;
} else {
fileTypes = plusdFileTypes;
}
- if( machine_current->machine == LIBSPECTRUM_MACHINE_PLUS3 ||
- machine_current->machine == LIBSPECTRUM_MACHINE_PENT ||
- machine_current->machine == LIBSPECTRUM_MACHINE_SCORP ) {
+ if( machine_current->machine == LIBSPECTRUM_MACHINE_PLUS3 || beta_active ) {
message = ( drive == SPECPLUS3_DRIVE_A ? @"Insert disk into drive A:" :
@"Insert disk into drive B:" );
} else {
@@ -1598,8 +1620,7 @@
if( machine_current->machine == LIBSPECTRUM_MACHINE_PLUS3 ) {
[[DisplayOpenGLView instance] specplus3DiskInsert:filename inDrive:drive];
- } else if( machine_current->machine == LIBSPECTRUM_MACHINE_PENT ||
- machine_current->machine == LIBSPECTRUM_MACHINE_SCORP ) {
+ } else if( beta_active ) {
[[DisplayOpenGLView instance] betaDiskInsert:filename inDrive:drive];
} else {
[[DisplayOpenGLView instance] plusdDiskInsert:filename inDrive:drive];
@@ -1764,7 +1785,8 @@
[[DisplayOpenGLView instance] pause];
NSString *title = [NSString stringWithFormat:@"Write +D Disk %c: As", drive];
- filename = cocoaui_savepanel_get_filename( title, [NSArray arrayWithObjects:@"mgt", nil] );
+ filename = cocoaui_savepanel_get_filename( title,
+ [NSArray arrayWithObjects:@"mgt", @"img", nil] );
if( !filename ) { [[DisplayOpenGLView instance] unpause]; return 1; }
Modified: trunk/fuse/fusepb/models/Emulator.h
===================================================================
--- trunk/fuse/fusepb/models/Emulator.h 2008-03-31 11:51:27 UTC (rev 501)
+++ trunk/fuse/fusepb/models/Emulator.h 2008-03-31 12:46:20 UTC (rev 502)
@@ -93,11 +93,13 @@
-(int) specplus3DiskPresent:(specplus3_drive_number)which;
-(void) specplus3DiskWrite:(const char *)filename inDrive:(specplus3_drive_number)which;
+-(void) betaDiskInsertNew:(beta_drive_number)which;
-(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) plusdDiskInsertNew:(plusd_drive_number)which;
-(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;
Modified: trunk/fuse/fusepb/models/Emulator.m
===================================================================
--- trunk/fuse/fusepb/models/Emulator.m 2008-03-31 11:51:27 UTC (rev 501)
+++ trunk/fuse/fusepb/models/Emulator.m 2008-03-31 12:46:20 UTC (rev 502)
@@ -306,6 +306,11 @@
specplus3_disk_write( which, filename );
}
+-(void) betaDiskInsertNew:(beta_drive_number)which
+{
+ beta_disk_insert( which, NULL, 0 );
+}
+
-(void) betaDiskInsert:(const char *)filename inDrive:(beta_drive_number)which
{
beta_disk_insert( which, filename, 0 );
@@ -326,6 +331,11 @@
beta_disk_writeprotect( which, write );
}
+-(void) plusdDiskInsertNew:(plusd_drive_number)which
+{
+ plusd_disk_insert( which, NULL, 0 );
+}
+
-(void) plusdDiskInsert:(const char *)filename inDrive:(plusd_drive_number)which
{
plusd_disk_insert( which, filename, 0 );
Modified: trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib
===================================================================
--- trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib 2008-03-31 11:51:27 UTC (rev 501)
+++ trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib 2008-03-31 12:46:20 UTC (rev 502)
@@ -21,6 +21,8 @@
"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;
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-31 11:51:27 UTC (rev 501)
+++ trunk/fuse/fusepb/views/DisplayOpenGLView.h 2008-03-31 12:46:20 UTC (rev 502)
@@ -123,11 +123,13 @@
-(int) specplus3DiskPresent:(specplus3_drive_number)which;
-(void) specplus3DiskWrite:(const char *)filename inDrive:(specplus3_drive_number)which;
+-(void) betaDiskInsertNew:(beta_drive_number)which;
-(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) plusdDiskInsertNew:(plusd_drive_number)which;
-(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;
Modified: trunk/fuse/fusepb/views/DisplayOpenGLView.m
===================================================================
--- trunk/fuse/fusepb/views/DisplayOpenGLView.m 2008-03-31 11:51:27 UTC (rev 501)
+++ trunk/fuse/fusepb/views/DisplayOpenGLView.m 2008-03-31 12:46:20 UTC (rev 502)
@@ -728,6 +728,11 @@
[proxy_emulator specplus3DiskWrite:filename inDrive:which];
}
+-(void) betaDiskInsertNew:(beta_drive_number)which
+{
+ [proxy_emulator betaDiskInsertNew:which];
+}
+
-(void) betaDiskInsert:(const char *)filename inDrive:(beta_drive_number)which
{
[proxy_emulator betaDiskInsert:filename inDrive:which];
@@ -748,6 +753,11 @@
[proxy_emulator betaDiskWriteProtect:which protect:write];
}
+-(void) plusdDiskInsertNew:(plusd_drive_number)which
+{
+ [proxy_emulator plusdDiskInsertNew:which];
+}
+
-(void) plusdDiskInsert:(const char *)filename inDrive:(plusd_drive_number)which
{
[proxy_emulator plusdDiskInsert:filename inDrive:which];
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|