Exemplo n.º 1
0
void boardtest()
{
//	while(K1 == 0)OSTimeDly(10) ; while(K1 == 1)OSTimeDly(10) ; 	//TF
    CheckMode() ;
	while(K1 == 0)OSTimeDly(10) ; while(K1 == 1)OSTimeDly(10) ; 	//rst 	
	OSTimeDly(100) ; 

	TfMode() ; 
	
	OSTimeDly(100) ;															 
	while(K1 == 0){OSTimeDly(100); } while(K1 == 1){UsbInfoDispose();OSTimeDly(10) ; }	//rst

	CheckMode() ; 
	OSTimeDly(200) ;
    DspRst() ; 

    while(1){ 
                if(K9 == 0 ){Light_Init(); TOP_W = 0 ; 
                            TOP_IR850= 0 ;
							TOP_IR940 = 0 ;
                            LEFT_W = 0 ; 
							RIGHT_W = 0 ; 
							LEFT_IR850 = 0 ;
							RIGHT_IR850 = 0 ;
							BOT_W = 0 ;
							BOT_IR = 0   ;
							RIGHT_UV = 0 ;
                            LEFT_UV = 0 ;
				            } 
				
                if(K2 == 0 ){Light_Init(); TOP_IR850= 0 ;} 
                if(K3 == 0 ){Light_Init(); TOP_IR940 = 0 ; }
                if(K4 == 0 ){Light_Init(); LEFT_W = 0 ; RIGHT_W = 0 ; }	  
                if(K5 == 0 ){Light_Init(); TOP_IR940 = 0 ;TOP_IR850= 0 ; ;} OSTimeDly(1); 
                if(K6 == 0 ){Light_Init(); LEFT_IR850 = 0 ; RIGHT_IR850 = 0 ; } OSTimeDly(1); 
                if(K7 == 0 ){Light_Init(); BOT_W = 0 ;BOT_IR = 0   ;} OSTimeDly(1);
                if(K8 == 0 ){Light_Init(); RIGHT_UV = 0 ;LEFT_UV = 0 ; } OSTimeDly(1);
                if(K1 == 0 ){Light_Init();break ;} OSTimeDly(1); 	
				OSTimeDly(10); 
			}  	
	CheckMode() ; 
	OSTimeDly(300); 
    while(K1 == 0)OSTimeDly(10) ; while(K1 == 1)OSTimeDly(10) ;
    PhotographOne() ;
	OSTimeDly(300) ;
	while(K1 == 0)OSTimeDly(10) ; while(K1 == 1)OSTimeDly(10) ;
	ViewMode(); 
	OSTimeDly(100) ;
	while(K1 == 0)OSTimeDly(10) ; while(K1 == 1)OSTimeDly(10) ;
	//PhotoDelOne() ;
	Select_Send_LONG(0x24);
	OSTimeDly(100) ;
	while(K1 == 0)OSTimeDly(10) ; while(K1 == 1)OSTimeDly(10) ;
	CheckMode() ; 
	OSTimeDly(100); 
	PccamMode() ; 
	OSTimeDly(300) ;
	while(K1 == 0)OSTimeDly(10) ; while(K1 == 1){UsbInfoDispose();OSTimeDly(10) ; }
	CheckMode() ; 
}
Exemplo n.º 2
0
void ArguPriorExposure()
{
    
	switch(System.Dsp.photo.Flag)
	{
        case G_SENCE_DB_UV      :   Double_UV_On()  ; break ; 
        case G_SENCE_WT         :   Top_W_On()      ; break ; 	
        case G_SENCE_L_W 	    :   Left_W_On()     ; break ; 
        case G_SENCE_R_W 	    :   Right_IR850_On(); break ; 
        case G_SENCE_B_W 	    :   Bot_W_On()      ; break ;  
        	 
        case G_SENCE_T_IR940 	:  	Top_IR940_On()  ; break ; 
        case G_SENCE_T_IR850	:  	Top_IR850_On()  ; break ; 
        case G_SENCE_L_IR 	  	:	Left_IR850_On() ; break ; 
        case G_SENCE_B_IR 	   	:   Bot_IR_On()     ; break ; 
        case G_SENCE_R_IR	  	: 	Right_IR850_On(); break ; 
        default :return  ; 
	}
    OSTimeDly(100); 
 //	GR_DBG_PRINTF("\n\nArguPriorExposure IN \n\n");	
    if(System.Dsp.photo.Flag != 0 )
    {     
        PhotoArgvToDsp(System.Dsp.photo.Flag);  // 矫正		
		System.Dsp.photo.Flag = 0 ; 
 //       GR_DBG_PRINTF("\nPhotoArgvToDsp IN \n\n");	
    }

    ModifyInfo() ; 

	CheckMode();   
}
Exemplo n.º 3
0
FILE* FileSystem::fopen(std::string file, const char* mode) const
{
	if (!CheckFile(file) || !CheckMode(mode))
		return NULL;
	FixSlashes(file);
	return fs.fopen(file, mode);
}
Exemplo n.º 4
0
CTreeHandler::CTreeHandler( int srcmode )
{
	int ret;
	CTreeElem* rootelem = 0;

	isfirstAdd2Depth = 1;

	ret = CheckMode( srcmode );
	if( ret ){
		DbgOut( "CTreeHandler : constructor : mode error !!!\n" );
		mode = 0;
		return;
	}else{
		mode = srcmode;
	}


	depthmax = 0;
	d2lnum = 0; // depth ごとの CTreeLevel の数
	d2l = 0; // depth ごとに CTreeLevel** (2重の表なので注意)
	rootlevel = new CTreeLevel( this, mode, 0, -1 );
	if( !rootlevel ){
		DbgOut( "CTreeHandler : constructor : rootlevel alloc error !!!\n" );
		return;
	}	

DbgOut( "CTreeHandler : constructor : new rootlevel\n" );
	

	// AddTreeにparentが必要なので、ダミーのrootelem をここで作成。

	// !!!! rootelem の serialno は必ず 0 !!!!
	s2e_leng = 0;
	s2e = 0;
	rootelem = rootlevel->AddElem( "root elem", 0 );
	if( !rootelem ){
		DbgOut( "CTreeHandler : constructor : rootlevel->AddElem error !!!\n" );
		return;
	}
	//ret = UpdateElemIndex( rootelem );

	ret = rootelem->SetType( SHDROOT );
	if( ret ){
		DbgOut( "CTreeHandler : constructor : rootelem SetMem BASE_TYPE error !!!\n" );
		_ASSERT( 0 );
		return;
	}

	curseri = 0;
	befseri = 0;
	parseri = 0;
	curdepth = 0;
	
	addtype = ADDT_NONE;
	//befaddtype = ADDT_NONE;
}
Exemplo n.º 5
0
static int LatencyRange(lua_State *L)
    {
    jack_latency_range_t range;
    pud_t *pud = pud_check(L, 1);
    jack_latency_callback_mode_t mode = CheckMode(L, 2);
    jack_port_get_latency_range(pud->port, mode, &range);
    lua_pushinteger(L, range.min);
    lua_pushinteger(L, range.max);
    return 2;
    }
Exemplo n.º 6
0
static int SetLatencyRange(lua_State *L)
    {
    jack_latency_range_t range;
    pud_t *pud = pud_check(L, 1);
    jack_latency_callback_mode_t mode = CheckMode(L, 2);
    range.min = luaL_checkinteger(L, 3);
    range.max = luaL_checkinteger(L, 4);
    jack_port_set_latency_range(pud->port, mode, &range);
    return 0;
    }
Exemplo n.º 7
0
/*=================================================================================
* Function	: UsbInfoDispose
* Description	: 
* Input Para	: 
* Output Para	: 
* Return Value: 
=================================================================================*/
void UsbInfoDispose()
{
	if(ptr != NULL)
	{	
		System.Key.NoKeyTime = 0 ;

		if(System.Dsp.Mode == SLEEP_MODE)		// 在USB通信过程中不休眠
		{	
			CheckMode(); 
		}
		ptr(); 
	 	MCU_Status.Struct_Status=0x01;	
		ptr = NULL ;
	}	
	return ; 
}
Exemplo n.º 8
0
/*
 *----------------------------------------------------------------------
 *
 * vmDestroyReal --
 *
 * Called by vmDestroy.
 * Frees all of the global data structures
 *
 * Results:
 *      None
 *
 * Side effects:
 *      The MMU is turned off.
 *
 *----------------------------------------------------------------------
 */
void
vmDestroyReal(void)
{

   CheckMode();
   USLOSS_MmuDone();
   /*
    * Kill the pagers here.
    */
   /* 
    * Print vm statistics.
    */
   console("vmStats:\n");
   console("pages: %d\n", vmStats.pages);
   console("frames: %d\n", vmStats.frames);
   console("blocks: %d\n", vmStats.blocks);
   /* and so on... */

} /* vmDestroyReal */
Exemplo n.º 9
0
void InitStart()
{
//	uint8_t i =0 ;
///////////// 数据初始化/////////////////////////
	SignOutCount = 0 ; 
 	System.Key.Value = 0 ; 
	System.Led.Statu = TOP_WHITE_ON ; 	
	System.Dsp.Mode = CHECK_MODE; 

	
	System.Dsp.CheckMode.Zoom = X0 ; 
	System.Dsp.ViewMode.Zoom  = X0 ; 
	System.Dsp.TF_Mode.t = 0 ; 
	System.Dsp.PccamMode.ConnectIn = 0 ; 
	System.Dsp.Sensor =SENSOR1 ; 
//	System.Dsp.SD = OUT ; 
	System.Usb.NewUsbStatu 	= USB_OUT; 
	System.Usb.OldUsbStatu 	= USB_OUT;  
	System.Usb.UsbStatuLabel= 0 ;
	System.Dsp.Sensor = C608;
	System.SleepEnable = 1 ; 
	System.Process_TakePht  = 1 ; 
    System.FilterSw = FILTER_W ; 
						
//	for(i=0;i<46;i++)
//	{	OSTimeDly(20);
//	}
//	for(i=0;i<20;i++)

	{	OSTimeDly(500);
	}
//	K2_LED=0;

	 Scen_Send(0x60,0x00);				   //拍照水印
	 OSTimeDly(20);
	 Scen_Send(0xC1,0x60);				   //duibidu
	 OSTimeDly(50);
	 Select_Send(0x27);		
	
//	 Scen_Send(0x99,0x04);					//像素降低至03等级,共 有4等级
//     SetAGC() ;
	 CheckMode(); 
}
Exemplo n.º 10
0
//-----------------------------------------------------------------------------
//!	入力チェック
//-----------------------------------------------------------------------------
bool Controller::GetPadState(PAD_STATE p_state)
{
	XINPUT_STATE state;	// コントローラ情報取得用
    ZeroMemory( &state, sizeof(XINPUT_STATE) );	// 初期化
    DWORD dwResult;	// 関数結果判定用
	// 情報取得
    dwResult = XInputGetState(_controllerNum,&state);
    if(dwResult == ERROR_SUCCESS){	//	情報がとれたら
		CheckMode(p_state);	//	アナログモードかデジタルかチェック
		//	モードによって入力チェック切替
		switch(mode){
		case ANALOG:	//	アナログ
			if(GetAnalogState(state,p_state)){return true;}
			break;
		case DIGITAL:	//	デジタル
			if(GetDigitalState(state,p_state)){return true;}
			break;
		}
	}
	return false;
}
Exemplo n.º 11
0
/*
 *----------------------------------------------------------------------
 *
 * vmInitReal --
 *
 * Called by vmInit.
 * Initializes the VM system by configuring the MMU and setting
 * up the page tables.
 *
 * Results:
 *      Address of the VM region.
 *
 * Side effects:
 *      The MMU is initialized.
 *
 *----------------------------------------------------------------------
 */
void *
vmInitReal(int mappings, int pages, int frames, int pagers)
{
   int status;
   int dummy;

   CheckMode();
   status = USLOSS_MmuInit(mappings, pages, frames);
   if (status != USLOSS_MMU_OK) {
      USLOSS_Console("vmInitReal: couldn't init MMU, status %d\n", status);
      abort();
   }
   USLOSS_IntVec[USLOSS_MMU_INT] = FaultHandler;


   /*
    * Initialize page tables.
    */

   /* 
    * Create the fault mailbox.
    */

   /*
    * Fork the pagers.
    */

   /*
    * Zero out, then initialize, the vmStats structure
    */
   memset((char *) &vmStats, 0, sizeof(VmStats));
   vmStats.pages = pages;
   vmStats.frames = frames;
   /*
    * Initialize other vmStats fields.
    */

   return USLOSS_MmuRegion(&dummy);
} /* vmInitReal */
Exemplo n.º 12
0
int main(int argc, char** argv) {
    if (argc < 2) {
      usage:
        printf(
            "usage: %s [-b <bonus-file>] <src-file> <tgt-file> <tgt-sha1> <tgt-size> "
            "[<src-sha1>:<patch> ...]\n"
            "   or  %s -c <file> [<sha1> ...]\n"
            "   or  %s -s <bytes>\n"
            "   or  %s -l\n"
            "\n"
            "Filenames may be of the form\n"
            "  MTD:<partition>:<len_1>:<sha1_1>:<len_2>:<sha1_2>:...\n"
            "to specify reading from or writing to an MTD partition.\n\n",
            argv[0], argv[0], argv[0], argv[0]);
        return 2;
    }

    int result;

    if (strncmp(argv[1], "-l", 3) == 0) {
        result = ShowLicenses();
    } else if (strncmp(argv[1], "-c", 3) == 0) {
        result = CheckMode(argc, argv);
    } else if (strncmp(argv[1], "-s", 3) == 0) {
        result = SpaceMode(argc, argv);
    } else if (strncmp(argv[1], "-t", 3) == 0) {
        result = TeeUpdateMode(argc, argv);
    } else {
        result = PatchMode(argc, argv);
    }

    if (result == 2) {
        goto usage;
    }
    return result;
}
Exemplo n.º 13
0
void USbInCheck()
{
	System.Usb.NewUsbStatu = USB_STATUS ; 
	if(System.Usb.OldUsbStatu != System.Usb.NewUsbStatu)
	{
		System.Usb.UsbStatuLabel = 1 ; 
		if(System.Usb.NewUsbStatu == USB_IN)
		{
			//插入USB操作
			// SHOW_SCREEN(0xE3,"USB READY\n");
		}
		else if(System.Usb.NewUsbStatu == USB_OUT)
		{
			//拔出USB操作
			// SHOW_SCREEN(0xE3,"USB NOT READY\n");
			if((System.Dsp.Mode == PCCAM_MODE)||(System.Dsp.Mode == TF_MODE))
			{
				CheckMode(); 
			}
		}
		System.Usb.OldUsbStatu = System.Usb.NewUsbStatu ; 
		OSTimeDly(10); 
	}	
}
int CEpgScan::handleMsg(const neutrino_msg_t msg, neutrino_msg_data_t data)
{
	if ((msg == NeutrinoMessages::EVT_TIMER) && (data == rescan_timer)) {
		INFO("rescan timer in %s mode, scanning %d", standby ? "standby" : "live", scan_in_progress);
		scanned.clear();
		Clear();
		g_RCInput->killTimer(rescan_timer);
		if (CheckMode()) {
			if (standby)
				CNeutrinoApp::getInstance()->wakeupFromStandby();
			Start(standby);
		} else {
			AddTimer();
		}
		return messages_return::handled;
	}
	if (!CheckMode()) {
		int ret = messages_return::handled;
		if (msg == NeutrinoMessages::EVT_EIT_COMPLETE)
			scan_in_progress = false;
		else if (msg == NeutrinoMessages::EVT_BACK_ZAP_COMPLETE)
			scan_in_progress = true;
		else
			ret = messages_return::unhandled;
		return ret;
	}

	CZapitChannel * newchan;
	if (msg == NeutrinoMessages::EVT_ZAP_COMPLETE) {
		/* live channel changed, block scan channel change by timer */
		scan_in_progress = true;
		AddTransponders();
		INFO("EVT_ZAP_COMPLETE, scan map size: %d\n", scanmap.size());
#if 0
		t_channel_id chid = *(t_channel_id *)data;
		if (IS_WEBTV(chid))
			Next();
#endif
		return messages_return::handled;
	}
	else if (msg == NeutrinoMessages::EVT_EIT_COMPLETE) {
		scan_in_progress = false;
		t_channel_id chid = *(t_channel_id *)data;
		newchan = CServiceManager::getInstance()->FindChannel(chid);
		if (newchan) {
			scanned.insert(newchan->getTransponderId());
			scanmap.erase(newchan->getTransponderId());
		}
		INFO("EIT read complete [" PRINTF_CHANNEL_ID_TYPE "], scan map size: %d", chid, scanmap.size());

		Next();
		return messages_return::handled;
	}
	else if (msg == NeutrinoMessages::EVT_BACK_ZAP_COMPLETE) {
		scan_in_progress = true;
		t_channel_id chid = *(t_channel_id *)data;
		INFO("EVT_BACK_ZAP_COMPLETE [" PRINTF_CHANNEL_ID_TYPE "]", chid);
		if (next_chid) {
			newchan = CServiceManager::getInstance()->FindChannel(next_chid);
			if (newchan) {
				if(chid) {
					if (!CRecordManager::getInstance()->RecordingStatus()) {
						INFO("try to scan [%s]", newchan->getName().c_str());
						if (standby && !g_Sectionsd->getIsScanningActive())
							g_Sectionsd->setPauseScanning(false);
						g_Sectionsd->setServiceChanged(newchan->getChannelID(), false, newchan->getRecordDemux());
					}
				} else {
					INFO("tune failed [%s]", newchan->getName().c_str());
					scanmap.erase(newchan->getTransponderId());
					Next();
				}
			}
		}
		return messages_return::handled;
	}
	return messages_return::unhandled;
}
bool CEpgScan::Running()
{
	return (CheckMode() && !scanmap.empty());
}
Exemplo n.º 16
0
int applypatch(int argc, char** argv) {
  if (argc < 2) {
    return 2;
  }

  if (strncmp(argv[1], "-l", 3) == 0) {
    return ShowLicenses();
  }

  if (strncmp(argv[1], "-c", 3) == 0) {
    return CheckMode(argc, argv);
  }

  if (strncmp(argv[1], "-s", 3) == 0) {
    if (argc != 3) {
      return 2;
    }
    size_t bytes = strtol(argv[2], NULL, 10);
    if (MakeFreeSpaceOnCache(bytes) < 0) {
      printf("unable to make %ld bytes available on /cache\n", (long)bytes);
      return 1;
    } else {
      return 0;
    }
  }

  uint8_t target_sha1[SHA_DIGEST_SIZE];

  const char* source_filename = argv[1];
  const char* target_filename = argv[2];
  if (target_filename[0] == '-' &&
      target_filename[1] == '\0') {
    target_filename = source_filename;
  }

 if (ParseSha1(argv[3], target_sha1) != 0) {
    fprintf(stderr, "failed to parse tgt-sha1 \"%s\"\n", argv[3]);
    return 1;
  }

  unsigned long target_size = strtoul(argv[4], NULL, 0);

  int num_patches;
  Patch* patches;
  if (ParseShaArgs(argc-5, argv+5, &patches, &num_patches) < 0) { return 1; }

  FileContents copy_file;
  FileContents source_file;
  const char* source_patch_filename = NULL;
  const char* copy_patch_filename = NULL;
  int made_copy = 0;

  // We try to load the target file into the source_file object.
  if (LoadFileContents(target_filename, &source_file) == 0) {
    if (memcmp(source_file.sha1, target_sha1, SHA_DIGEST_SIZE) == 0) {
      // The early-exit case:  the patch was already applied, this file
      // has the desired hash, nothing for us to do.
      fprintf(stderr, "\"%s\" is already target; no patch needed\n",
              target_filename);
      return 0;
    }
  }

  if (source_file.data == NULL ||
      (target_filename != source_filename &&
       strcmp(target_filename, source_filename) != 0)) {
    // Need to load the source file:  either we failed to load the
    // target file, or we did but it's different from the source file.
    free(source_file.data);
    LoadFileContents(source_filename, &source_file);
  }

  if (source_file.data != NULL) {
    const Patch* to_use =
        FindMatchingPatch(source_file.sha1, patches, num_patches);
    if (to_use != NULL) {
      source_patch_filename = to_use->patch_filename;
    }
  }

  if (source_patch_filename == NULL) {
    free(source_file.data);
    fprintf(stderr, "source file is bad; trying copy\n");

    if (LoadFileContents(CACHE_TEMP_SOURCE, &copy_file) < 0) {
      // fail.
      fprintf(stderr, "failed to read copy file\n");
      return 1;
    }

    const Patch* to_use =
        FindMatchingPatch(copy_file.sha1, patches, num_patches);
    if (to_use != NULL) {
      copy_patch_filename = to_use->patch_filename;
    }

    if (copy_patch_filename == NULL) {
      // fail.
      fprintf(stderr, "copy file doesn't match source SHA-1s either\n");
      return 1;
    }
  }

  // Is there enough room in the target filesystem to hold the patched
  // file?

  if (strncmp(target_filename, "MTD:", 4) == 0) {
    // If the target is an MTD partition, we're actually going to
    // write the output to /tmp and then copy it to the partition.
    // statfs() always returns 0 blocks free for /tmp, so instead
    // we'll just assume that /tmp has enough space to hold the file.

    // We still write the original source to cache, in case the MTD
    // write is interrupted.
    if (MakeFreeSpaceOnCache(source_file.size) < 0) {
      fprintf(stderr, "not enough free space on /cache\n");
      return 1;
    }
    if (SaveFileContents(CACHE_TEMP_SOURCE, source_file) < 0) {
      fprintf(stderr, "failed to back up source file\n");
      return 1;
    }
    made_copy = 1;
  } else {
    // assume that target_filename (eg "/system/app/Foo.apk") is located
    // on the same filesystem as its top-level directory ("/system").
    // We need something that exists for calling statfs().
    char* target_fs = strdup(target_filename);
    char* slash = strchr(target_fs+1, '/');
    if (slash != NULL) {
      *slash = '\0';
    }

    size_t free_space = FreeSpaceForFile(target_fs);
    int enough_space =
        free_space > (target_size * 3 / 2);  // 50% margin of error
    printf("target %ld bytes; free space %ld bytes; enough %d\n",
           (long)target_size, (long)free_space, enough_space);

    if (!enough_space && source_patch_filename != NULL) {
      // Using the original source, but not enough free space.  First
      // copy the source file to cache, then delete it from the original
      // location.

      if (strncmp(source_filename, "MTD:", 4) == 0) {
        // It's impossible to free space on the target filesystem by
        // deleting the source if the source is an MTD partition.  If
        // we're ever in a state where we need to do this, fail.
        fprintf(stderr, "not enough free space for target but source is MTD\n");
        return 1;
      }

      if (MakeFreeSpaceOnCache(source_file.size) < 0) {
        fprintf(stderr, "not enough free space on /cache\n");
        return 1;
      }

      if (SaveFileContents(CACHE_TEMP_SOURCE, source_file) < 0) {
        fprintf(stderr, "failed to back up source file\n");
        return 1;
      }
      made_copy = 1;
      unlink(source_filename);

      size_t free_space = FreeSpaceForFile(target_fs);
      printf("(now %ld bytes free for target)\n", (long)free_space);
    }
  }

  FileContents* source_to_use;
  const char* patch_filename;
  if (source_patch_filename != NULL) {
    source_to_use = &source_file;
    patch_filename = source_patch_filename;
  } else {
    source_to_use = &copy_file;
    patch_filename = copy_patch_filename;
  }

  char* outname = NULL;
  FILE* output = NULL;
  MemorySinkInfo msi;
  SinkFn sink = NULL;
  void* token = NULL;
  if (strncmp(target_filename, "MTD:", 4) == 0) {
    // We store the decoded output in memory.
    msi.buffer = malloc(target_size);
    if (msi.buffer == NULL) {
      fprintf(stderr, "failed to alloc %ld bytes for output\n",
              (long)target_size);
      return 1;
    }
    msi.pos = 0;
    msi.size = target_size;
    sink = MemorySink;
    token = &msi;
  } else {
    // We write the decoded output to "<tgt-file>.patch".
    outname = (char*)malloc(strlen(target_filename) + 10);
    strcpy(outname, target_filename);
    strcat(outname, ".patch");

    output = fopen(outname, "wb");
    if (output == NULL) {
      fprintf(stderr, "failed to open output file %s: %s\n",
              outname, strerror(errno));
      return 1;
    }
    sink = FileSink;
    token = output;
  }

#define MAX_HEADER_LENGTH 8
  unsigned char header[MAX_HEADER_LENGTH];
  FILE* patchf = fopen(patch_filename, "rb");
  if (patchf == NULL) {
    fprintf(stderr, "failed to open patch file %s: %s\n",
            patch_filename, strerror(errno));
    return 1;
  }
  int header_bytes_read = fread(header, 1, MAX_HEADER_LENGTH, patchf);
  fclose(patchf);

  SHA_CTX ctx;
  SHA_init(&ctx);

  if (header_bytes_read >= 4 &&
      header[0] == 0xd6 && header[1] == 0xc3 &&
      header[2] == 0xc4 && header[3] == 0) {
    // xdelta3 patches begin "VCD" (with the high bits set) followed
    // by a zero byte (the version number).
    fprintf(stderr, "error:  xdelta3 patches no longer supported\n");
    return 1;
  } else if (header_bytes_read >= 8 &&
             memcmp(header, "BSDIFF40", 8) == 0) {
    int result = ApplyBSDiffPatch(source_to_use->data, source_to_use->size,
                                  patch_filename, 0, sink, token, &ctx);
    if (result != 0) {
      fprintf(stderr, "ApplyBSDiffPatch failed\n");
      return result;
    }
  } else if (header_bytes_read >= 8 &&
             memcmp(header, "IMGDIFF", 7) == 0 &&
             (header[7] == '1' || header[7] == '2')) {
    int result = ApplyImagePatch(source_to_use->data, source_to_use->size,
                                 patch_filename, sink, token, &ctx);
    if (result != 0) {
      fprintf(stderr, "ApplyImagePatch failed\n");
      return result;
    }
  } else {
    fprintf(stderr, "Unknown patch file format\n");
    return 1;
  }

  if (output != NULL) {
    fflush(output);
    fsync(fileno(output));
    fclose(output);
  }

  const uint8_t* current_target_sha1 = SHA_final(&ctx);
  if (memcmp(current_target_sha1, target_sha1, SHA_DIGEST_SIZE) != 0) {
    fprintf(stderr, "patch did not produce expected sha1\n");
    return 1;
  }

  if (output == NULL) {
    // Copy the temp file to the MTD partition.
    if (WriteToMTDPartition(msi.buffer, msi.pos, target_filename) != 0) {
      fprintf(stderr, "write of patched data to %s failed\n", target_filename);
      return 1;
    }
    free(msi.buffer);
  } else {
    // Give the .patch file the same owner, group, and mode of the
    // original source file.
    if (chmod(outname, source_to_use->st.st_mode) != 0) {
      fprintf(stderr, "chmod of \"%s\" failed: %s\n", outname, strerror(errno));
      return 1;
    }
    if (chown(outname, source_to_use->st.st_uid,
              source_to_use->st.st_gid) != 0) {
      fprintf(stderr, "chown of \"%s\" failed: %s\n", outname, strerror(errno));
      return 1;
    }

    // Finally, rename the .patch file to replace the target file.
    if (rename(outname, target_filename) != 0) {
      fprintf(stderr, "rename of .patch to \"%s\" failed: %s\n",
              target_filename, strerror(errno));
      return 1;
    }
  }

  // If this run of applypatch created the copy, and we're here, we
  // can delete it.
  if (made_copy) unlink(CACHE_TEMP_SOURCE);

  // Success!
  return 0;
}
Exemplo n.º 17
0
static void
vmDestroy(sysargs *sysargsPtr)
{
   CheckMode();
} /* vmDestroy */
Exemplo n.º 18
0
void CmdLineHandle(char* cmdLine)
{
	cmdLine[strlen(cmdLine) - 1] = '\0';
	
	char* temp = strtok(cmdLine," ");
	
	//passive
	if (strcmp(cmdLine,"passive") == 0)
	{
		if (strcmp(mode,"off") == 0)
		{
			strcpy(mode,"on");
			puts("Passive mode on!");
		}
		else {
			strcpy(mode,"off");
			puts("Passive mode off!");
		}
	}
	
	//ls
	else if (strcmp(cmdLine,"ls") == 0)
	{
		CheckMode();
				
		memset(buf, 0, sizeof buf);
		sprintf(buf,"LIST\r\n");
		send(cmdSock, buf, strlen(buf), 0);
		
		Accept();
		
		memset(buf, 0, sizeof buf);
		recv(cmdSock, buf, BUFSIZ, 0);
		puts(buf);
		memset(buf, 0, sizeof buf);
		recv(cmdSock, buf, BUFSIZ, 0);
		puts(buf);
		memset(buf, 0, sizeof buf);
		recv(dataSock, buf, BUFSIZ, 0);
		puts(buf);
	}
	//exit
	else if (strcmp(cmdLine,"exit") == 0)
	{
		status = 1;
		memset(buf, 0, sizeof buf);
		sprintf(buf,"QUIT\r\n");
		send(cmdSock, buf, strlen(buf), 0);
		recv(cmdSock, buf, BUFSIZ, 0);
		puts(buf);
	}
	
	//cd
	else if (strcmp(cmdLine, "cd") == 0)
	{
		memset(buf, 0, sizeof buf);
		char* value = strtok(NULL, " ");
		if (value != NULL)
		{
			sprintf(buf,"CWD %s\r\n", value);
			send(cmdSock, buf, strlen(buf), 0);
			recv(cmdSock, buf, BUFSIZ, 0);
			puts(buf);
		}
		
	}
	
	//delete
	else if (strcmp(cmdLine, "delete") == 0)
	{
		memset(buf, 0, sizeof buf);
		char* value = strtok(NULL, " ");
		if (value != NULL)
		{
			sprintf(buf,"DELE %s\r\n", value);
			send(cmdSock, buf, strlen(buf), 0);
			recv(cmdSock, buf, BUFSIZ, 0);
			puts(buf);
		}
		
	}
	
	//mkdir
	else if (strcmp(cmdLine, "mkdir") == 0)
	{
		memset(buf, 0, sizeof buf);
		char* value = strtok(NULL, " ");
		if (value != NULL)
		{
			sprintf(buf,"MKD %s\r\n", value);
			send(cmdSock, buf, strlen(buf), 0);
			recv(cmdSock, buf, BUFSIZ, 0);
			puts(buf);
		}
		
	}
	
	//lcd
	else if (strcmp(cmdLine, "lcd") == 0)
	{
		char* value = strtok(NULL, " ");
		if (value != NULL)
		{
			DIR* dir = opendir(value);
			if (dir)
			{
				memset(localAddress, 0, sizeof localAddress);		
				strcpy(localAddress, value);
				printf("Local directory: %s\n\n", localAddress);
			}
			else
			{
				printf("Failed to change local directory\n\n");
			}	
			
		}	
	}
}
Exemplo n.º 19
0
void KeyInfoDispose()
{
	
	
		//按键检测处理
	System.Key.Value = KeyScan() ;
	System.Key.Keylong = &Keylong ; 
	if(!System.Key.Value)
	{
		// 处理休眠操作 
		if(System.Key.NoKeyTime == 180)
		{
			if(System.Dsp.Mode == CHECK_MODE||VIEW_MODE)
			{
				System.Dsp.Mode = SLEEP_MODE ; 
				Light_Init() ; 
			//	SHOW_SCREEN(0xE8,  " "); 
			}
		}
		else if ((System.Key.NoKeyTime == 300)&&(System.Dsp.Mode == SLEEP_MODE))
		{
		 	System.Dsp.Mode = SLEEP_MODE ;
		  //	SHOW_SCREEN(0xE8,  "Power Saving Mode"); 
			SHOW_SCREENW(0xE8, WcharToChar(L"节电模式") );
			OSTimeDly(200);			   //必须有
		}
	}
	else
	{
	//	GR_DBG_PRINTF("keylong is  %d OK it is  %d\n\n",*System.Key.Keylong,Keylong);
		// 处理唤醒操作
		System.Key.NoKeyTime = 0 ;

		if(System.Dsp.Mode == SLEEP_MODE)
		{	
			CheckMode(); 
			OSTimeDly(200) ; 
		}
		//处理按键操作
		switch(System.Key.Value)
		{
			case 1 :// 顶白光 
				{
					if(System.Led.Statu == C608_PWR_ON)
					{
						CheckMode();
						OSTimeDly(100) ;
					}
					else
					{		
						switch(System.Dsp.Mode)
						{
							case VIEW_MODE:  CheckMode(); break ; 
							default :break ; 
						}
						Photo_SignAndCount();
					}

				}break ; 
			case 2 :// check: 850 940 770 闪烁   长按:进入PCCAM
				{
				}break ; 

			case 3 ://check: 紫外-激光 长按:进入校正
				{					
					if(*System.Key.Keylong)// 进入校正功能
					{
					    	if(System.Dsp.Mode == CHECK_MODE)
							{
								PriorExposure();
							}
					}
					else
					{
						if(System.Led.Statu == C608_PWR_ON)
						{
							CheckMode();
							OSTimeDly(100) ;
						}
						else
						{	
							switch(System.Dsp.Mode)
							{
								case VIEW_MODE:  CheckMode(); break ; 
								default :break ;
							}
						
							if((System.Dsp.Mode ==PCCAM_MODE)||(System.Dsp.Mode ==CHECK_MODE))
							{
							   Photo_SignAndChk();
							}	
						} 
					//	PhotoMvRight() ; 
					}
				}break ; 

			case 4 ://check : sensor1 sensor2 sensor3 ,长按:608    
				{  

				}break ; 
			case 5 ://check: 左白光 右白光 左红外, 右红外 view:翻页 放大
				{

					
					//	PhotoDelAll();
					if(System.Led.Statu == C608_PWR_ON)
					{
						CheckMode();
						OSTimeDly(100) ;
					}
					else
					{						
						switch(System.Dsp.Mode)
						{
							
							case PCCAM_MODE :
							case CHECK_MODE :
							{
							   	ViewMode() ;
	
							}break; 
							case VIEW_MODE :
							{
								if(*System.Key.Keylong) 
								{
									CheckMode();
								}
								else
								{
									ViewMode_F1() ;	
								}
							}break; 
							default :break ;
						}
					}					
				}break ; 
			case 6 ://check: 底白光,底红外  view :右边翻页
				{
					if(System.Led.Statu == C608_PWR_ON)
					{
						CheckMode();
						OSTimeDly(100) ;
					}
					else
					{	
						switch(System.Dsp.Mode)
						{
							case PCCAM_MODE :
							case CHECK_MODE :
							{
							}break; 
							case VIEW_MODE :
							{						
								ViewMode_F2() ;
	
							}break; 
							default :break ;
						}
					}										
				}break ; 
			case 7 ://view--check ; 
				{
					if(System.Led.Statu == C608_PWR_ON)
					{
						CheckMode();
						OSTimeDly(100) ;
					}
					else
					{	
						switch(System.Dsp.Mode)
						{
							case PCCAM_MODE :
							case CHECK_MODE :
							{
							  	 C608_On()	;	
							}break; 
							case VIEW_MODE :
							{
									ViewMode_F3() ;	
							}break; 
							default :break ;
						}
					}														
				}break ; 
			case 8 ://check:短按单拍,长按8连拍 ,view 长按删除,短按确认
				{
					if(System.Led.Statu == C608_PWR_ON)
					{
						CheckMode();
						OSTimeDly(100) ;
					}
					else
					{	
						if(*System.Key.Keylong)// 进入校正功能
						{

						}
						else
						{
							switch(System.Dsp.Mode)
							{
								case PCCAM_MODE :
								case CHECK_MODE :
								{
								  // CheckMode();
								   if( System.Local_SignOutCount_Flag  == 0 )
								   {
								   	   System.Local_SignOutCount_Flag = 1 ; 	   
								   }
								   
								   Local_SignOutCount = 0 ;  	
								   ShowLeftBtmNum(); 
		
								}break; 
								case VIEW_MODE :
								{
									ViewMode_F4() ;	
								}break; 
								default :break ;
							} 	
						}
					}


				}break ; 
			case 9 ://check: 短按连拍,长按修改密码  // view:自动回放
				{
					if(System.Led.Statu == C608_PWR_ON)
					{
						CheckMode();
						OSTimeDly(100) ;
					}
					else
					{						

				 	    ViewMode() ;
						PhotoDelAll();
					 	CheckMode();   
					}				
				}break ; 
			default : break ; 
		}
	}
}
void CEpgScan::Next()
{
	bool llocked = false;
#ifdef ENABLE_PIP
	bool plocked = false;
#endif
	next_chid = 0;

	if (!standby && CNeutrinoApp::getInstance()->getMode() == NeutrinoMessages::mode_standby)
		return;
	if (CRecordManager::getInstance()->RecordingStatus() || CStreamManager::getInstance()->StreamStatus())
		return;

	if (g_settings.epg_scan == SCAN_FAV && scanmap.empty())
		AddFavorites();
	if (g_settings.epg_scan == SCAN_SEL && scanmap.empty())
		AddSelected();

	if (!CheckMode() || scanmap.empty()) {
		EnterStandby();
		return;
	}

	/* executed in neutrino thread - possible race with locks in zapit zap NOWAIT :
	   send zapTo_NOWAIT -> EIT_COMPLETE from sectionsd -> zap and this at the same time
	*/
	CFEManager::getInstance()->Lock();
	CFrontend *live_fe = NULL;
#ifdef ENABLE_PIP
	CFrontend *pip_fe = NULL;
#endif
	if (!standby) {
		bool webtv = IS_WEBTV(CZapit::getInstance()->GetCurrentChannelID());
		if (!webtv) {
			llocked = true;
			live_fe = CZapit::getInstance()->GetLiveFrontend();
			CFEManager::getInstance()->lockFrontend(live_fe);
		}
#ifdef ENABLE_PIP
		pip_fe = CZapit::getInstance()->GetPipFrontend();
		if (pip_fe /* && pip_fe != live_fe*/) {
			plocked = true;
			CFEManager::getInstance()->lockFrontend(pip_fe);
		}
#endif
	}
_repeat:
	for (eit_scanmap_iterator_t it = scanmap.begin(); it != scanmap.end(); /* ++it*/) {
		CZapitChannel * newchan = CServiceManager::getInstance()->FindChannel(it->second);
		if (newchan == NULL) {
			scanmap.erase(it++);
			continue;
		}
		if (CFEManager::getInstance()->canTune(newchan)) {
			INFO("try to tune [%s]", newchan->getName().c_str());
			next_chid = newchan->getChannelID();
			break;
		} else
			INFO("skip [%s], cannot tune", newchan->getName().c_str());
		++it;
	}
	if (!next_chid && ((g_settings.epg_scan == SCAN_FAV) && AddFavorites()))
		goto _repeat;
	if (!next_chid && ((g_settings.epg_scan == SCAN_SEL) && AddSelected()))
		goto _repeat;

	if (llocked)
		CFEManager::getInstance()->unlockFrontend(live_fe);
#ifdef ENABLE_PIP
	if (plocked)
		CFEManager::getInstance()->unlockFrontend(pip_fe);
#endif

	CFEManager::getInstance()->Unlock();
	if (next_chid)
		g_Zapit->zapTo_epg(next_chid, standby);
	else 
		EnterStandby();
}
Exemplo n.º 21
0
void KeyInfoDispose_Debug()
{
	
	
		//按键检测处理
	System.Key.Value = KeyScan() ;
	System.Key.Keylong = &Keylong ; 
	if(!System.Key.Value)
	{
		// 处理休眠操作
	}
	else
	{
	//	GR_DBG_PRINTF("keylong is  %d OK it is  %d\n\n",*System.Key.Keylong,Keylong);
		// 处理唤醒操作
		System.Key.NoKeyTime = 0 ;

		if(System.Dsp.Mode == SLEEP_MODE)
		{	
			CheckMode(); 
		}
		//处理按键操作
		switch(System.Key.Value)
		{
			case 1 :// 顶白光 
				{		
					Top_W_On();	
					PhotoMvLeft() ;
				}break ; 
			case 2 :// check: 850 940 770 闪烁   长按:进入PCCAM
				{
				#ifdef ONE_SENSOR
					Top_IR940_On_test();
				    PhotoMvUp() ; 
				#else
					if(*System.Key.Keylong)
					{
						switch(System.Dsp.Mode )
						{
							case PCCAM_MODE : CheckMode();	break;
							default:		  PccamMode();	break; 
						}
					}
					else
					{
						if(System.Dsp.Mode == CHECK_MODE||PCCAM_MODE)
						{
							switch(System.Led.Statu)
							{
								case TOP_IR850_ON : Top_IR940_On();break ; 
								case TOP_IR940_ON : Right_IR770_On();break ; 
								default :Top_IR850_On(); break ; 
							}
						}
						 
					}
				#endif 
				}break ; 

			case 3 ://check: 紫外-激光 长按:进入校正
				{					
					if(*System.Key.Keylong)// 进入校正功能
					{
						if(System.Dsp.Mode == CHECK_MODE)
						{
							PriorExposure();
						}
					}
					else
					{
						if((System.Dsp.Mode ==PCCAM_MODE)||(System.Dsp.Mode ==CHECK_MODE))
						{
							 Double_UV_On(); 				
						}
						PhotoMvRight() ;
					}
				}break ; 

			case 4 ://check : sensor1 sensor2 sensor3 ,长按:608    
				{
					switch(System.Dsp.Mode)
					{ 
						#ifdef ONE_SENSOR
						case PCCAM_MODE :
						{
							if(*System.Key.Keylong) 
							{
								CheckMode();
							}		
						}  break ;
						#endif 

						case VIEW_MODE :
						case CHECK_MODE :
						{
							if(*System.Key.Keylong) 
							{
								PccamMode();
							}
							else
							{
//								switch(System.Led.Statu)
//								{
//									case C608_PWR_ON: CheckMode();break; 
//									default:C608_On(); break; 	
//								}
								PhotoZoomUp();	
							}

	
						} break ; 
						default :break ; 
					}
					
				}break ; 
			case 5 ://check: 左白光 右白光 左红外, 右红外 view:翻页 放大
				{
					switch(System.Dsp.Mode)
					{
						case PCCAM_MODE :
						case CHECK_MODE :
						{
							switch(System.Led.Statu)
							{
								case LEFT_W_ON 	:	Right_W_On();		break ; 
								case RIGHT_W_ON	:	Left_IR850_On();	break ;
								case LEFT_IR850_ON:	Right_IR850_On();	break ;
								default :Left_W_On();
							}
						}break; 
						case VIEW_MODE :
						{	
							switch(System.Dsp.ViewMode.Zoom)
							{
								case X0 : 	PhotoPrevious(); break; 
								default :	PhotoMvLeft() ; 
							}
						}break; 
						default :break ;
					}					
				}break ; 
			case 6 ://check: 底白光,底红外  view :右边翻页
				{
					switch(System.Dsp.Mode)
					{
						case PCCAM_MODE :
						case CHECK_MODE :
						{
							switch(System.Led.Statu)
							{
								case BOT_W_ON :	Bot_IR_On(); break ; 
								default :Bot_W_On();
							}
						}break; 
						case VIEW_MODE :
						{
							switch(System.Dsp.ViewMode.Zoom)
							{
								//case X0 :	PhotoNext(); break ; 
								default :	PhotoMvDown() ; break ; 
							}
						}break; 
						default :break ;
					}										
				}break ; 
			case 7 ://view--check ; 
				{
					switch(System.Dsp.Mode)
					{
						case CHECK_MODE :
						{
						  VerifyPassword(0x07,&CheckMode,&ViewMode); 						
						} break; 
						case VIEW_MODE :
						{
							CheckMode();
						} break; 			
						default :break ;
					}							
										
				}break ; 
			case 8 ://check:短按单拍,长按8连拍 ,view 长按删除,短按确认
				{
					switch(System.Dsp.Mode)
					{
						case CHECK_MODE :
						{
						#ifdef ONE_SENSOR
							PhotographOne(); 
						#else
						
							if(*System.Key.Keylong) 
							{
								//PhotographOne(); 
							}
							else
							{	
								PhotographEight(); 
							}
						#endif
						}break; 
						case VIEW_MODE :
						{
							if(*System.Key.Keylong) 
							{
								PhotoDelAll(); 
							}
							else
							{
								
							}							
						}break; 
						default :break ;
					}  	
				}break ; 
			case 9 ://check: 短按连拍,长按修改密码  // view:自动回放
				{
					switch(System.Dsp.Mode)
					{
						case CHECK_MODE :
						{
							if(*System.Key.Keylong) 
							{
							 	VerifyPassword(0x09,&CheckMode,&ChangePassWord); 	
								CheckMode(); 
							}
							else
							{	
								PhotographFour(); 
							}
						}break; 
						case VIEW_MODE :
						{	
							PhotoAutoView(); // 自动回放
						}break;
						default :break ;
					}				
				}break ; 
			default : break ; 
		}
	}
}
Exemplo n.º 22
0
void TESTC()
{ 

//		 boardtest();
//for( ;;  )
//{
///*----------------------------------------------------*/			 
//	  		 
//	    Double_UV_On(); 
//		OSTimeDly(400); 
//
//		Light_Init();
// 	    OSTimeDly(400); 
//	    
///*----------------------------------------------------*/
//
//}	

	// 老化测试 --紫灯的老化测试
 	unsigned int i =0 ; 
	unsigned char m ;
	unsigned char  LightOn = 0, LightOff = 0 ; 

	uint8_t data[10]	= {0xF9,8,'O','N',0x33,0x33,'O','F', 0x33,0x33, } ;

	SHOW_SCREEN(0xE8 , "Enter the Value:");

	while(1)
	{
		m  = 0 ;
		OSTimeDly(10) ; 
		m = KeyScan(); 
		if(m == 6)	  // 亮的时间
		{
			uint8_t ss[1] ; 
			LightOn += 1 ; 
			if(LightOn ==9 ){LightOn = 0 ; }
			ss[0] = LightOn+0x30;
			SHOW_SCREEN_LONG(0xE8,"Light On S:",ss);   data[4]=0x30+LightOn/10; data[5]=0x30+LightOn%10;
		//	while(K6 == 0); OSTimeDly(30);break ; 
		}
		if(m == 7)	  // 亮的时间
		{
			uint8_t ss[1] ;
			LightOff += 1 ; 
			if(LightOff ==9 ){LightOff = 0 ; }
			ss[0] = LightOff+0x30;
			SHOW_SCREEN_LONG(0xE8,"Light Off S:",ss);   data[8]=0x30+LightOff/10; data[9]=0x30+LightOff%10;
		//	while(K7 == 0); OSTimeDly(30);break ; 
		}
		if(m == 8)
		{
			Select_Send(0xE9);
			OSTimeDly(100); 
			Scen_Send(0xFA,0x01);

			//DSP_SEND(8, &TOP_W_d[0]);
			SHOW_SCREENA(0xF9, 10, &data[2]); 
			break ; 
		}
	}
	System.Key.Value = 0 ; 
	System.Led.Statu = TOP_WHITE_ON ; 	
	System.Dsp.Mode = CHECK_MODE; 

	CheckMode(); 

	for(i = 0 ;i <= 2000; i++ )
	{
/*----------------------------------------------------*/			 
		  		 
		    Double_UV_On(); 
			OSTimeDly(100); 

			if(LightOn>2) Select_Send(0x21);
			OSTimeDly(LightOn*100);

			if(LightOff == 0)Light_Init();
	 	    OSTimeDly(LightOff*100); 
		    
/*----------------------------------------------------*/

	}	
}
Exemplo n.º 23
0
static void ReconstructRow(const VP8Decoder* const dec,
                           const VP8ThreadContext* ctx) {
  int j;
  int mb_x;
  const int mb_y = ctx->mb_y_;
  const int cache_id = ctx->id_;
  uint8_t* const y_dst = dec->yuv_b_ + Y_OFF;
  uint8_t* const u_dst = dec->yuv_b_ + U_OFF;
  uint8_t* const v_dst = dec->yuv_b_ + V_OFF;

  // Initialize left-most block.
  for (j = 0; j < 16; ++j) {
    y_dst[j * BPS - 1] = 129;
  }
  for (j = 0; j < 8; ++j) {
    u_dst[j * BPS - 1] = 129;
    v_dst[j * BPS - 1] = 129;
  }

  // Init top-left sample on left column too.
  if (mb_y > 0) {
    y_dst[-1 - BPS] = u_dst[-1 - BPS] = v_dst[-1 - BPS] = 129;
  } else {
    // we only need to do this init once at block (0,0).
    // Afterward, it remains valid for the whole topmost row.
    memset(y_dst - BPS - 1, 127, 16 + 4 + 1);
    memset(u_dst - BPS - 1, 127, 8 + 1);
    memset(v_dst - BPS - 1, 127, 8 + 1);
  }

  // Reconstruct one row.
  for (mb_x = 0; mb_x < dec->mb_w_; ++mb_x) {
    const VP8MBData* const block = ctx->mb_data_ + mb_x;

    // Rotate in the left samples from previously decoded block. We move four
    // pixels at a time for alignment reason, and because of in-loop filter.
    if (mb_x > 0) {
      for (j = -1; j < 16; ++j) {
        Copy32b(&y_dst[j * BPS - 4], &y_dst[j * BPS + 12]);
      }
      for (j = -1; j < 8; ++j) {
        Copy32b(&u_dst[j * BPS - 4], &u_dst[j * BPS + 4]);
        Copy32b(&v_dst[j * BPS - 4], &v_dst[j * BPS + 4]);
      }
    }
    {
      // bring top samples into the cache
      VP8TopSamples* const top_yuv = dec->yuv_t_ + mb_x;
      const int16_t* const coeffs = block->coeffs_;
      uint32_t bits = block->non_zero_y_;
      int n;

      if (mb_y > 0) {
        memcpy(y_dst - BPS, top_yuv[0].y, 16);
        memcpy(u_dst - BPS, top_yuv[0].u, 8);
        memcpy(v_dst - BPS, top_yuv[0].v, 8);
      }

      // predict and add residuals
      if (block->is_i4x4_) {   // 4x4
        uint32_t* const top_right = (uint32_t*)(y_dst - BPS + 16);

        if (mb_y > 0) {
          if (mb_x >= dec->mb_w_ - 1) {    // on rightmost border
            memset(top_right, top_yuv[0].y[15], sizeof(*top_right));
          } else {
            memcpy(top_right, top_yuv[1].y, sizeof(*top_right));
          }
        }
        // replicate the top-right pixels below
        top_right[BPS] = top_right[2 * BPS] = top_right[3 * BPS] = top_right[0];

        // predict and add residuals for all 4x4 blocks in turn.
        for (n = 0; n < 16; ++n, bits <<= 2) {
          uint8_t* const dst = y_dst + kScan[n];
          VP8PredLuma4[block->imodes_[n]](dst);
          DoTransform(bits, coeffs + n * 16, dst);
        }
      } else {    // 16x16
        const int pred_func = CheckMode(mb_x, mb_y, block->imodes_[0]);
        VP8PredLuma16[pred_func](y_dst);
        if (bits != 0) {
          for (n = 0; n < 16; ++n, bits <<= 2) {
            DoTransform(bits, coeffs + n * 16, y_dst + kScan[n]);
          }
        }
      }
      {
        // Chroma
        const uint32_t bits_uv = block->non_zero_uv_;
        const int pred_func = CheckMode(mb_x, mb_y, block->uvmode_);
        VP8PredChroma8[pred_func](u_dst);
        VP8PredChroma8[pred_func](v_dst);
        DoUVTransform(bits_uv >> 0, coeffs + 16 * 16, u_dst);
        DoUVTransform(bits_uv >> 8, coeffs + 20 * 16, v_dst);
      }

      // stash away top samples for next block
      if (mb_y < dec->mb_h_ - 1) {
        memcpy(top_yuv[0].y, y_dst + 15 * BPS, 16);
        memcpy(top_yuv[0].u, u_dst +  7 * BPS,  8);
        memcpy(top_yuv[0].v, v_dst +  7 * BPS,  8);
      }
    }
    // Transfer reconstructed samples from yuv_b_ cache to final destination.
    {
      const int y_offset = cache_id * 16 * dec->cache_y_stride_;
      const int uv_offset = cache_id * 8 * dec->cache_uv_stride_;
      uint8_t* const y_out = dec->cache_y_ + mb_x * 16 + y_offset;
      uint8_t* const u_out = dec->cache_u_ + mb_x * 8 + uv_offset;
      uint8_t* const v_out = dec->cache_v_ + mb_x * 8 + uv_offset;
      for (j = 0; j < 16; ++j) {
        memcpy(y_out + j * dec->cache_y_stride_, y_dst + j * BPS, 16);
      }
      for (j = 0; j < 8; ++j) {
        memcpy(u_out + j * dec->cache_uv_stride_, u_dst + j * BPS, 8);
        memcpy(v_out + j * dec->cache_uv_stride_, v_dst + j * BPS, 8);
      }
    }
  }
}
Exemplo n.º 24
0
void ICPClass::HandleInput(int mode, CPButtonObject *pbutton) 
{
	AircraftClass *playerAC = SimDriver.GetPlayerAircraft();

	if(!g_bRealisticAvionics)
	{
		//MI original code
		if(mode == AA_BUTTON || mode == AG_BUTTON || mode == NAV_BUTTON) 
		{
			if(pbutton != mpPrimaryExclusiveButton) 
			{
				mpPrimaryExclusiveButton->SetCurrentState(0);
				mICPPrimaryMode				= mode;
				mpPrimaryExclusiveButton	= pbutton;
				if(mICPSecondaryMode == NONE_MODE) 
				{
					mUpdateFlags |= CNI_UPDATE;
					ExecCNIMode();
				}
			}
		}
		else if(mode == PREV_BUTTON || mode == NEXT_BUTTON) 
		{
			HandlePrevNext(mode, mICPSecondaryMode);
		}
		else if(mode == ENTR_BUTTON) 
		{
			HandleENTR(mICPSecondaryMode);
		}
		else if(mode == COMM1_BUTTON || mode == COMM2_BUTTON) 
		{
			if(pbutton != mpTertiaryExclusiveButton) 
			{
				mpTertiaryExclusiveButton->SetCurrentState(0);
				mICPTertiaryMode				= mode;
				mpTertiaryExclusiveButton	= pbutton;
				mUpdateFlags |= CNI_UPDATE;
				if(VM) {
					if(mode == COMM1_BUTTON) 
					{
						VM->SetRadio(0);
					}
					else 
					{
						VM->SetRadio(1);
					}
				}
			}				
		}
		else 
		{
			if(pbutton == mpSecondaryExclusiveButton) 
			{
				mICPSecondaryMode = NONE_MODE;
				mpSecondaryExclusiveButton->SetCurrentState(0);
				mpSecondaryExclusiveButton  = NULL;
				mUpdateFlags |= CNI_UPDATE;
				ExecCNIMode();
			}
			else 
			{
				if(mpSecondaryExclusiveButton != NULL) 
				{
					mpSecondaryExclusiveButton->SetCurrentState(0);			
				}

				mICPSecondaryMode				= mode;
				mpSecondaryExclusiveButton = pbutton;


				switch(mode) 
				{
				case NONE_MODE:
					break;
				case STPT_BUTTON:
					playerAC->FCC->SetStptMode(FireControlComputer::FCCWaypoint);
					playerAC->FCC->waypointStepCmd = 127;
					mUpdateFlags |= STPT_UPDATE;
					break;
				case DLINK_BUTTON:
					playerAC->FCC->SetStptMode(FireControlComputer::FCCDLinkpoint);
					playerAC->FCC->waypointStepCmd = 127;
					mUpdateFlags |= DLINK_UPDATE;
					ExecDLINKMode();
					break;
				case MARK_BUTTON:
					playerAC->FCC->SetStptMode(FireControlComputer::FCCMarkpoint);
					playerAC->FCC->waypointStepCmd = 127;
					mUpdateFlags |= MARK_UPDATE;
					ExecMARKMode();
					break;
				case ILS_BUTTON:
					mUpdateFlags |= ILS_UPDATE;
					ExecILSMode();
					break;
				case CRUS_BUTTON:
					mUpdateFlags |= CRUS_UPDATE;
					ExecCRUSMode();
					break;
				case FACK_BUTTON:
					mUpdateFlags |= FACK_UPDATE;
				PNUpdateFACKMode (NEXT_BUTTON, FACK_BUTTON);
					ExecFACKMode();
					break;
				case ALOW_BUTTON:
					mUpdateFlags |= ALOW_UPDATE;
					break;
				}
			}
		}
	}
	else
	{
		if(!playerAC->HasPower(AircraftClass::UFCPower) ||
			playerAC->mFaults->GetFault(FaultClass::ufc_fault))
			return;

		//Master Modes
		if(mode == AA_BUTTON || mode == AG_BUTTON || mode == NAV_BUTTON) 
		{
			mICPPrimaryMode	= mode;
			if(IsICPSet(ICPClass::MODE_LIST) && mICPSecondaryMode == EIGHT_BUTTON)
				ExecMODEMode();
			if(mode == AA_BUTTON)
			{
				IN_AA = TRUE;
				IN_AG = FALSE;
			}
			else if(mode == AG_BUTTON)
			{
				IN_AA = FALSE;
				IN_AG = TRUE;
			}
		}

		/****************************************************/
		/*These are OVERRIDE buttons. With each of these	*/
		/*we can get into specific DED pages, no matter in	*/
		/*what mode we've been before.						*/
		/****************************************************/

		else if(mode == COMM1_BUTTON || mode == COMM2_BUTTON ||
			mode == LIST_BUTTON || mode == IFF_BUTTON) 
		{
			//This results in a new DED page, clear our strings
			ClearStrings();

			//Did we push the same button as before?
			if(mICPTertiaryMode == mode && mode != CNI_MODE)
				PushedSame(LastMode);
			else
				NewMode(mode);
		}
		//END OVERRIDE FUNCTIONS
		//special case, FACK
		else if(mode == FACK_BUTTON)
		{
		    if (playerAC && playerAC->mFaults) { 
			if (m_FaultDisplay == false) { // was off
			    m_FaultDisplay = true; // now on
			    //have a fault, update our display
			    playerAC->mFaults->GetFirstFault(&m_subsystem, &m_function);
			}
			else { // move to next fault
			    if (playerAC->mFaults->GetFFaultCount() <= 0 ||
				playerAC->mFaults->GetNextFault(&m_subsystem, &m_function) == FALSE)
				m_FaultDisplay = false;
			}
			mUpdateFlags |= FACK_UPDATE; // we need to do some work
		    }
		}

		//SENCONDAR FUNCTIONS
		else if(mode == PREV_BUTTON || mode == NEXT_BUTTON) 
		{
			ClearStrings();
			if(IsICPSet(ICPClass::EDIT_STPT))
				PNUpdateSTPTMode(mode, 0);

			else if(mICPSecondaryMode == CRUS_MODE)
				StepHOMERNGSTPT(mode);
			else if(IsICPSet(ICPClass::MODE_CNI) && mICPSecondaryMode == SEVEN_BUTTON)
				PNUpdateMARKMode(mode, 0);

			else if(IsICPSet(ICPClass::EDIT_VHF) || IsICPSet(ICPClass::EDIT_UHF))
				PNUpdateCOMMMode(mode, 0);

			else if(IsICPSet(ICPClass::MODE_DLINK))
				PNUpdateDLINKMode(mode, 0);

			else if(IsICPSet(ICPClass::MODE_COMM1))//Cobra 10/31/04 TJL
			{
				if(mode == NEXT_BUTTON)
				{
					if(PREUHF == NUM_COMM_CHANNELS)	// ASSO:
						PREUHF = 1;
					else
						PREUHF++;
				}
				else
				{
					if(PREUHF == 1)
						PREUHF = NUM_COMM_CHANNELS;	// ASSO:
					else
						PREUHF--;
				}
			}
			else if(IsICPSet(ICPClass::MODE_COMM2))
			{
				if(mode == NEXT_BUTTON)
				{
					if(PREVHF == NUM_COMM_CHANNELS)	// ASSO:
						PREVHF = 1;
					else
						PREVHF++;
				}
				else
				{
					if(PREVHF == 1)
						PREVHF = NUM_COMM_CHANNELS;	// ASSO:
					else
						PREVHF--;
				}
			}
			else if(IsICPSet(ICPClass::MODE_CNI) && mICPSecondaryMode == SIX_BUTTON)
			{
				if(mode == NEXT_BUTTON)
				{
					if(running)
					{
						running = FALSE;
						stopped = TRUE;
					}
					else if(stopped)
					{
						running = TRUE;
						stopped = FALSE;
					}
					else
					{
						Start = vuxGameTime;
						running = TRUE;
					}
				}
				else
				{
					Start = vuxGameTime;
					Difference = 0;
					running = FALSE;
					stopped = FALSE;
				}
			}
			else if(IsICPSet(ICPClass::MODE_LIST) && mICPSecondaryMode == EWS_MODE)
			{
				if(PGMFlare || PGMChaff)
					StepEWSProg(mode);
				else
					PNUpdateSTPTMode(mode, 0);
			}
			// Retro 3Jan2004 start
			else if ((g_bPilotEntertainment)&&(winamp)&&(IsICPSet(ICPClass::MISC_MODE) && mICPSecondaryMode == ZERO_MODE))
			{
				if (mode == PREV_BUTTON)
					winamp->VolDown();
				else if (mode == NEXT_BUTTON)
					winamp->VolUp();
			} // Retro 3Jan2004 end
		}
		else if(mode == ENTR_BUTTON) 
			ICPEnter();
		else if(mode == CLEAR_BUTTON)
		{
			if(IsICPSet(ICPClass::MODE_LIST) && mICPSecondaryMode == 0)
			{
				ClearStrings();
				ExecINTGMode();
				mICPSecondaryMode = 100;	//small hack
			}
			else
				ClearInput();
		}
		else if (mode == UP_MODE || mode == DOWN_MODE || mode == SEQ_MODE || mode == CNI_BUTTON)
		{
			if(mode == CNI_MODE)
				mICPTertiaryMode = CNI_MODE;
			CNISwitch(mode);

			// Retro 3Jan2004 start
			// Retro from here, kind of a hack having this here..
			if ((g_bPilotEntertainment)&&(winamp)&&(IsICPSet(ICPClass::MISC_MODE) && mICPSecondaryMode == ZERO_MODE))
			{
				if (mode == UP_MODE)
					winamp->Next();
				else if (mode == DOWN_MODE)
					winamp->Previous();
				else if (mode == SEQ_MODE)
					winamp->TogglePlayback();
			} // Retro 3Jan2004 end
		}
		//******************
		//******************
		//SECONDARY BUTTONS*
		//******************
		//******************

		//'1' BUTTON
		else if(mode == ONE_BUTTON)
		{
			if(CheckMode())
				return;
			else if(ManualInput())
				HandleManualInput(mode);
			else if(IsICPSet(ICPClass::EDIT_JAMMER) || IsICPSet(ICPClass::EWS_EDIT_BINGO))
				EWSOnOff();
			else
				OneButton(mode);
		}
		//'2' BUTTON
		else if(mode == TWO_BUTTON)
		{
			if(CheckMode())
				return;
			else if(ManualInput())
				HandleManualInput(mode);
			else if(IsICPSet(ICPClass::EDIT_JAMMER) || IsICPSet(ICPClass::EWS_EDIT_BINGO))
				EWSOnOff();
			else
				TwoButton(mode);
		}
		//'3' BUTTON
		else if(mode == THREE_BUTTON)
		{
			if(CheckMode())
				return;
			else if(ManualInput())
				HandleManualInput(mode);
			else if(IsICPSet(ICPClass::EDIT_JAMMER) || IsICPSet(ICPClass::EWS_EDIT_BINGO))
				EWSOnOff();
			else
				ThreeButton(mode);
		}
		//'4' BUTTON
		else if(mode  == FOUR_BUTTON)
		{
			if(CheckMode())
				return;
			else if(ManualInput())
				HandleManualInput(mode);
			else if(IsICPSet(ICPClass::EDIT_JAMMER) || IsICPSet(ICPClass::EWS_EDIT_BINGO))
				EWSOnOff();
			else
				FourButton(mode);
		}
		//'5' BUTTON
		else if(mode == FIFE_BUTTON)
		{
			if(CheckMode())
				return;
			else if(ManualInput())
				HandleManualInput(mode);
			else if(IsICPSet(ICPClass::EDIT_JAMMER) || IsICPSet(ICPClass::EWS_EDIT_BINGO))
				EWSOnOff();
			else
				FifeButton(mode);
		}
		//'6' BUTTON
		else if(mode == SIX_BUTTON)
		{
			if(CheckMode())
				return;
			else if(ManualInput())
				HandleManualInput(mode);
			else if(IsICPSet(ICPClass::EDIT_JAMMER) || IsICPSet(ICPClass::EWS_EDIT_BINGO))
				EWSOnOff();
			else
				SixButton(mode);
		}
		//'7' BUTTON
		else if(mode == SEVEN_BUTTON)
		{
			if(CheckMode())
				return;
			else if(ManualInput())
				HandleManualInput(mode);
			else if(IsICPSet(ICPClass::EDIT_JAMMER) || IsICPSet(ICPClass::EWS_EDIT_BINGO))
				EWSOnOff();
			else
				SevenButton(mode);
		}
		//'8' BUTTON
		else if(mode == EIGHT_BUTTON)
		{
			if(CheckMode())
				return;
			else if(ManualInput())
				HandleManualInput(mode);
			else if(IsICPSet(ICPClass::EDIT_JAMMER) || IsICPSet(ICPClass::EWS_EDIT_BINGO))
				EWSOnOff();
			else
				EightButton(mode);
		}
		//'9' BUTTON
		else if(mode == NINE_BUTTON)
		{
			if(CheckMode())
				return;
			else if(ManualInput())
				HandleManualInput(mode);
			else if(IsICPSet(ICPClass::EDIT_JAMMER) || IsICPSet(ICPClass::EWS_EDIT_BINGO))
				EWSOnOff();
			else
				NineButton(mode);
		}
		//'0' BUTTON
		else if(mode == ZERO_BUTTON)
		{
			if((IsICPSet(ICPClass::MODE_CNI) && mICPSecondaryMode == FIFE_BUTTON) && !IsICPSet(ICPClass::BLOCK_MODE))
			{
				if(Cruise_RNG)
				{
					if(GetCruiseIndex() == 1)
						SetCruiseIndex(-1);
					else
						SetCruiseIndex(1);
				}
				else if(Cruise_HOME)
				{
					if(GetCruiseIndex() == 2)
						SetCruiseIndex(-1);
					else
						SetCruiseIndex(2);
				}
				else if(Cruise_EDR)
				{
					if(GetCruiseIndex() == 3)
						SetCruiseIndex(-1);
					else
						SetCruiseIndex(3);
				}
				else
				{
					if(GetCruiseIndex() == 0)
						SetCruiseIndex(-1);
					else
						SetCruiseIndex(0);
				}
				return;
			}
			else if(IsICPSet(ICPClass::MISC_MODE) && mICPSecondaryMode == EIGHT_BUTTON)
			{
				if(ShowBullseyeInfo)
					ShowBullseyeInfo = FALSE;
				else
					ShowBullseyeInfo = TRUE;
				return;
			}
			if(CheckMode())
				return;
			else if(IsICPSet(ICPClass::EDIT_JAMMER) || IsICPSet(ICPClass::EWS_EDIT_BINGO))
				return;
			else if(ManualInput())
				HandleManualInput(mode);
			else
				ZeroButton(mode);
		}
		/*else if(mode == FACK_BUTTON)
		{
			ClearStrings();
			ClearFlags();
			SetICPFlag(ICPClass::MODE_FACK);
			PNUpdateFACKMode (NEXT_BUTTON, FACK_BUTTON);
			ExecFACKMode();
		}*/
	}
}
Exemplo n.º 25
0
//=========================================================================
//----- (00000148) --------------------------------------------------------
__myevic__ void Main()
{
	InitDevices();

	InitVariables();

	// Enable chip temp sensor sampling by ADC
	if ( ISRX300 )
	{
		SYS->IVSCTL |= SYS_IVSCTL_VTEMPEN_Msk;
	}

	InitHardware();

	myprintf( "\n\nJoyetech APROM\n" );
	myprintf( "CPU @ %dHz(PLL@ %dHz)\n", SystemCoreClock, PllClock );

	SetBatteryModel();

	gFlags.sample_vbat = 1;
	ReadBatteryVoltage();

	gFlags.sample_btemp = 1;
	ReadBoardTemp();

	InitDisplay();
	MainView();
	SplashTimer = 3;

	CustomStartup();

	if ( !PD3 )
	{
		DrawScreen();
		while ( !PD3 )
			;
	}

	while ( 1 )
	{
		while ( gFlags.playing_fb )
		{
			// Flappy Bird game loop
			fbCallTimeouts();
			if ( gFlags.tick_100hz )
			{
				// 100Hz
				gFlags.tick_100hz = 0;
				ResetWatchDog();
				TimedItems();
				SleepIfIdle();
				GetUserInput();
				if ( !PE0 )
					SleepTimer = 3000;
			}
			if ( gFlags.tick_10hz )
			{
				// 10Hz
				gFlags.tick_10hz = 0;
				DataFlashUpdateTick();
			}
		}

		if ( gFlags.firing )
		{
			ReadAtoCurrent();
		}

		if ( gFlags.tick_5khz )
		{
			// 5000Hz
			gFlags.tick_5khz = 0;

			if ( gFlags.firing )
			{
				RegulateBuckBoost();
			}
		}

		if ( gFlags.tick_1khz )
		{
			// 1000Hz
			gFlags.tick_1khz = 0;

			if ( gFlags.firing )
			{
				ReadAtomizer();

				if ( ISMODETC(dfMode) )
				{
					if ( gFlags.check_mode )
					{
						CheckMode();
					}
					TweakTargetVoltsTC();
				}
				else if ( ISMODEVW(dfMode) )
				{
					TweakTargetVoltsVW();
				}
			}

			if ( dfStatus.vcom )
			{
				VCOM_Poll();
			}
		}

		if ( gFlags.tick_100hz )
		{
			// 100Hz
			gFlags.tick_100hz = 0;

			ResetWatchDog();

			if ( gFlags.read_battery )
			{
				gFlags.read_battery = 0;
			}

			TimedItems();
			SleepIfIdle();
			ReadBatteryVoltage();
			ReadBoardTemp();

			if ( gFlags.firing && BoardTemp >= 70 )
			{
				Overtemp();
			}

			if ( ISVTCDUAL )
			{
				BatteryChargeDual();
			}
			else if ( ISCUBOID || ISCUBO200 || ISRX200S || ISRX23 || ISRX300 )
			{
				BatteryCharge();
			}

			if (( gFlags.anim3d ) && ( Screen == 1 ) && ( !EditModeTimer ))
			{
				anim3d( 0 );
			}

			if ( Screen == 60 )
			{
				AnimateScreenSaver();
			}

			if ( gFlags.firing )
			{
				if ( gFlags.read_bir && ( FireDuration > 10 ) )
				{
					ReadInternalResistance();
				}

				if ( PreheatTimer && !--PreheatTimer )
				{
					uint16_t pwr;

					if ( dfMode == 6 )
					{
						pwr = dfSavedCfgPwr[ConfigIndex];
					}
					else
					{
						pwr = dfPower;
					}

					if ( pwr > BatteryMaxPwr )
					{
						gFlags.limit_power = 1;
						PowerScale = 100 * BatteryMaxPwr / pwr;
					}
					else
					{
						gFlags.limit_power = 0;
						PowerScale = 100;
					}
				}
			}

			if ( KeyTicks >= 5 )
			{
				KeyRepeat();
			}

			GetUserInput();
		}

		if ( gFlags.tick_10hz )
		{
			// 10Hz
			gFlags.tick_10hz = 0;

			DataFlashUpdateTick();
			LEDTimerTick();

			if ( gFlags.firing )
			{
				++FireDuration;

				if ( gFlags.monitoring )
				{
					Monitor();
				}
			}

			if ( ShowWeakBatFlag )
				--ShowWeakBatFlag;

			if ( ShowProfNum )
				--ShowProfNum;

			if ( !( gFlags.firing && ISMODETC(dfMode) ) )
			{
				DrawScreen();
			}

			if ( KeyTicks < 5 )
			{
				KeyRepeat();
			}
		}

		if ( gFlags.tick_5hz )
		{
			// 5Hz
			gFlags.tick_5hz = 0;

			if ( !gFlags.rtcinit && NumBatteries )
			{
				InitRTC();
			}

			if ( gFlags.firing )
			{
				if ( TargetVolts == 0 )
				{
					ProbeAtomizer();
				}
			}
			else
			{
				if
				(	!dfStatus.off
					&& Event == 0
					&& ( AtoProbeCount < 12 )
					&& ( Screen == 0 || Screen == 1 || Screen == 5 ) )
				{
					ProbeAtomizer();
				}
			}

			if ( IsClockOnScreen() )
			{
				static uint8_t u8Seconds = 61;
				S_RTC_TIME_DATA_T rtd;

				GetRTC( &rtd );

				if ( (uint8_t)rtd.u32Second != u8Seconds )
				{
					u8Seconds = (uint8_t)rtd.u32Second;
					gFlags.refresh_display = 1;
				}
			}
		}

		if ( gFlags.tick_2hz )
		{
			// 2Hz
			gFlags.tick_2hz = 0;

			gFlags.osc_1hz ^= 1;

			if ( gFlags.firing )
			{
				if ( ISMODETC(dfMode) )
				{
					DrawScreen();
				}
			}
			else
			{
				if
				(	!dfStatus.off
					&& Event == 0
					&& ( AtoProbeCount >= 12 )
					&& ( Screen == 0 || Screen == 1 || Screen == 5 ) )
				{
					ProbeAtomizer();
				}

				if ( gFlags.monitoring )
				{
					Monitor();
				}
			}
		}

		if ( gFlags.tick_1hz )
		{
			// 1Hz
			gFlags.tick_1hz = 0;

			if ( SplashTimer )
			{
				--SplashTimer;
				
				if ( !SplashTimer )
				{
					MainView();
				}
			}

			if ( !gFlags.firing && !dfStatus.off && !EditModeTimer )
			{
				if ( HideLogo )
				{
					if ( Screen == 1 )
					{
						--HideLogo;

						if ( !HideLogo )
						{
							gFlags.refresh_display = 1;
						}
					}
				}
			}
		}

		EventHandler();

	}
}
Exemplo n.º 26
0
/*
 *----------------------------------------------------------------------
 *
 * VmInit --
 *
 * Stub for the VmInit system call.
 *
 * Results:
 *      None.
 *
 * Side effects:
 *      VM system is initialized.
 *
 *----------------------------------------------------------------------
 */
static void
vmInit(sysargs *sysargsPtr)
{
    CheckMode();
} /* vmInit */