Example #1
0
BOOL ar_handle_detect_error(int err)
{
	char text[128];
	u16 press;
	u16 vendor_id, device_id;
	if (err == IAPETUS_ERR_HWNOTFOUND)
		sprintf(text, "HW not found.");
	else if(err == IAPETUS_ERR_UNSUPPORTED)
		sprintf(text, "HW not supported.");
	else
		sprintf(text, "Unknown error.");
	vdp_printf(&main_font, 8, 8, 0xF, "Error detecting cart. %s", text);
	ar_get_product_id(&vendor_id, &device_id);
	vdp_printf(&main_font, 8, 16, 0xF, "HW ID: %04X %04X", vendor_id, device_id);

	press=wait_for_press(-1);

	if (err != IAPETUS_ERR_UNSUPPORTED)
		return FALSE;

	if (press & PAD_A && press & PAD_B && press & PAD_C)
	{
		vdp_vsync();
		vdp_clear_screen(&main_font);
		return TRUE;
	}

	return FALSE;
}
Example #2
0
int ar_init_flash_io(flash_info_struct *flash_info)
{
   u16 vendor_id, device_id;
   int i;

	if (flash_info_list == NULL)
		return IAPETUS_ERR_INVALIDARG;

   ar_get_product_id(&vendor_id, &device_id);

	i = ar_get_product_index(vendor_id, device_id);
   // Make sure vendor id and device id are supported
   if (i < 0)
   {
		memset(flash_info_list, 0, sizeof(flash_info_struct));

      if (vendor_id == 0xFFFF && device_id == 0xFFFF)
         return IAPETUS_ERR_HWNOTFOUND;
      else
		{
			if (vendor_id == 0x0101)
				flash_info->name = "Unknown AMD";
			else if (vendor_id == 0x1F1F)
				flash_info->name = "Unknown Atmel";
			else if (vendor_id == 0xBFBF)
				flash_info->name = "Unknown Silicon Storage Technology";
			else
				flash_info->name = "Unknown";
         return IAPETUS_ERR_UNSUPPORTED;
		}
   }
	else
	{
		memcpy(flash_info, flash_info_list+i, sizeof(flash_info_struct));
		return IAPETUS_ERR_OK;
	}
}