int zxcf_eject( void ) { return ide_eject( zxcf_idechn, LIBSPECTRUM_IDE_MASTER, zxcf_commit_wrapper, &settings_current.zxcf_pri_file, UI_MENU_ITEM_MEDIA_IDE_ZXCF_EJECT ); }
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 ); }
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; settings_set_string( setting, filename ); error = libspectrum_ide_insert( chn, unit, filename ); if( error ) return error; error = ui_menu_activate( item, 1 ); if( error ) return error; return 0; }