Exemplo n.º 1
0
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 );
}
Exemplo n.º 2
0
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 );
}
Exemplo n.º 3
0
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;
}