
void msi_ms_6351(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x55;
    b->addr_day = 0x56;
    b->addr_hour = 0x57;
    b->addr_min = 0x58;
    b->addr_sec = 0x59;
    b->shift_stat = 3;
}

void bio_m6vcg(struct biosinfo *b)
{
    b->need_reboot = ON_STAT;
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x47;
    b->addr_day = 0x51;
    b->addr_hour = 0x41;
    b->addr_min = 0x40;
    b->addr_sec = 0x3F;
    b->shift_stat = 5;
}

void msi_ms_6368(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x47;
    b->addr_day = 0x51;
    b->addr_hour = 0x41;
    b->addr_min = 0x40;
    b->addr_sec = 0x3F;
    b->shift_stat = 5;
}

void msi_ms_6323(struct biosinfo *b)
{
    b->need_reboot = ON_STAT;
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x47;
    b->addr_day = 0x51;
    b->addr_hour = 0x41;
    b->addr_min = 0x40;
    b->addr_sec = 0x3F;
    b->shift_stat = 5;
    b->rtc_time = ON;
}

void ecs_k7vza(struct biosinfo *b)
{
    b->need_reboot = ON_STAT;
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x47;
    b->addr_day = 0x51;
    b->addr_hour = 0x41;
    b->addr_min = 0x40;
    b->shift_stat = 5;
}

void gig_ga_6bxc(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6F;
    b->addr_chk_l = 0x70;
    b->addr_stat = 0x46;
    b->addr_day = 0x47;
    b->addr_hour = 0x48;
    b->addr_min = 0x49;
    b->addr_sec = 0x4A;
}

void msi_ms_6178(struct biosinfo *b)
{
    b->need_reboot = ON_STAT;
    b->addr_chk_h = 0x6F;
    b->addr_chk_l = 0x70;
    b->addr_stat = 0x46;
    b->addr_day = 0x47;
    b->addr_hour = 0x48;
    b->addr_min = 0x49;
}

void chaintech_6oja3t(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6F;
    b->addr_chk_l = 0x70;
    b->addr_stat = 0x46;
    b->addr_day = 0x47;
    b->addr_hour = 0x48;
    b->addr_min = 0x49;
}

void epx_8kta3(struct biosinfo *b)
{
    b->need_reboot = ON_STAT;
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x47;
    b->addr_day = 0x53;
    b->addr_hour = 0x41;
    b->addr_min = 0x40;
    b->addr_sec = 0x3F;
    b->shift_stat = 5;
}

void asus_tusl2(struct biosinfo *b)
{
    b->addr_chk_h = 0x6C;
    b->addr_chk_l = 0x6D;
    b->addr_stat = 0x56;
    b->shift_stat = 4;
    b->rtc_time = ON;
    b->rtc_day = 0x7F;
    b->reset_day = ON;
}

void asus_cubx(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6C;
    b->addr_chk_l = 0x6D;
    b->addr_stat = 0x56;
    b->shift_stat = 4;
    b->rtc_time = ON;
    b->rtc_day = 0x7F;
    b->reset_day = ON;
}

void asus_cusi_fx(struct biosinfo *b)
{
    b->addr_chk_h = 0x6C;
    b->addr_chk_l = 0x6D;
    b->addr_stat = 0x56;
    b->addr_day = 0x57;
    b->shift_stat = 4;
    b->rtc_time = ON;
    b->rtc_day = 0x70;
    b->rtc_day_0_is_c0 = ON;
    b->reset_day = ON;
    b->nr_rtc_day = 8;
}

void ecs_p6bat(struct biosinfo *b)
{
    b->need_reboot = ON_STAT;
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x47;
    b->addr_day = 0x4F;
    b->addr_hour = 0x41;
    b->addr_min = 0x40;
    b->addr_sec = 0x3F;
    b->shift_stat = 5;
}

void ecs_p6vxat(struct biosinfo *b)
{
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x47;
    b->addr_day = 0x43;
    b->addr_hour = 0x41;
    b->addr_min = 0x40;
    b->addr_sec = 0x3F;
    b->shift_stat = 5;
}

void dfi_ak74_ec(struct biosinfo *b)
{
    b->need_reboot = ON_STAT;
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x47;
    b->addr_day = 0x37;
    b->addr_hour = 0x41;
    b->addr_min = 0x40;
    b->addr_sec = 0x3F;
    b->shift_stat = 5;
}

void shuttle_mvp3(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x47;
    b->addr_day = 0x4F;
    b->addr_hour = 0x41;
    b->addr_min = 0x40;
    b->addr_sec = 0x3F;
    b->shift_stat = 5;
}

void tekram_p5mvp3(struct biosinfo *b)
{
    b->need_reboot = ON_STAT;
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x47;
    b->addr_day = 0x4F;
    b->addr_hour = 0x41;
    b->addr_min = 0x40;
    b->addr_sec = 0x3F;
    b->shift_stat = 5;
    b->rtc_time = ON;
}

void tekram_p5m4_m(struct biosinfo *b)
{
    b->need_reboot = ON_STAT;
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x47;
    b->addr_day = 0x4F;
    b->addr_hour = 0x41;
    b->addr_min = 0x40;
    b->addr_sec = 0x3F;
    b->shift_stat = 5;
}

void msi_ms_6120(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x59;
    b->addr_day = 0x5A;
    b->addr_hour = 0x5B;
    b->addr_min = 0x5C;
    b->addr_sec = 0x5D;
    b->shift_stat = 5;
}

void asus_cuv4xe(struct biosinfo *b)
{
    b->addr_chk_h = 0x6C;
    b->addr_chk_l = 0x6D;
    b->addr_stat = 0x56;
    b->shift_stat = 4;
    b->rtc_time = ON;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void asus_a7s_vm(struct biosinfo *b)
{
    b->addr_chk_h = 0x6B;
    b->addr_chk_l = 0x6C;
    b->addr_stat = 0x4B;
    b->addr_day = 0x4C;
    b->shift_stat = 7;
    b->rtc_time = ON;
}

void asus_p2l97s(struct biosinfo *b)
{
    b->addr_chk_h = 0x6C;
    b->addr_chk_l = 0x6D;
    b->addr_stat = 0x40;
    b->shift_stat = 1;
    b->rtc_time = ON;
    b->rtc_day = 0x7F;
}

void asus_tx97_xe(struct biosinfo *b)
{
    b->addr_chk_h = 0x6C;
    b->addr_chk_l = 0x6D;
    b->addr_stat = 0x41;
    b->shift_stat = 2;
    b->rtc_time = ON;
    b->rtc_day = 0x7F;
}

void pb_bora_pro(struct biosinfo *b)
{
    b->need_reboot = OFF;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x5A;
    b->addr_day = 0x5A;
    b->addr_hour = 0x5B;
    b->addr_min = 0x5C;
    b->addr_sec = 0x5D;
    b->shift_day = 1;
}

void fic_va_503p(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x48;
    b->addr_mon = 0x4D;
    b->addr_day = 0x49;
    b->addr_hour = 0x4A;
    b->addr_min = 0x4B;
    b->addr_sec = 0x4C;
    b->shift_stat = 7;
    b->shift_mon = 4;
}

void msi_k7_pro(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x57;
    b->addr_day = 0x58;
    b->addr_hour = 0x59;
    b->addr_min = 0x5A;
    b->addr_sec = 0x5B;
}

void gig_ga_7zx(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x57;
    b->addr_day = 0x57;
    b->addr_hour = 0x58;
    b->addr_min = 0x59;
    b->addr_sec = 0x5A;
    b->shift_stat = 1;
    b->shift_day = 2;
    b->rtc_time = ON;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void asus_sp98_x(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6C;
    b->addr_chk_l = 0x6D;
    b->addr_stat = 0x3F;
    b->addr_wdays = 0x41;
    b->addr_hour = 0x42;
    b->addr_min = 0x43;
    b->addr_sec = 0x44;
    b->shift_wdays = 1;
    b->rtc_time = ON;
}

void soyo_sy5ssm(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6E;
    b->addr_chk_l = 0x6F;
    b->addr_stat = 0x32;
    b->addr_mon = 0x32;
    b->addr_day = 0x33;
    b->addr_hour = 0x35;
    b->addr_min = 0x36;
    b->addr_sec = 0x37;
    b->shift_mon = 4;
}

void msi_k7pro18(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x57;
    b->addr_day = 0x58;
    b->addr_hour = 0x59;
    b->addr_min = 0x5A;
    b->addr_sec = 0x5B;
    b->shift_stat = 7;
}

void qdi_brlx1(struct biosinfo *b)
{
    b->need_reboot = ON_STAT;
    b->addr_chk_h = 0x6F;
    b->addr_chk_l = 0x70;
    b->addr_stat = 0x46;
    b->addr_day = 0x47;
    b->addr_hour = 0x48;
    b->addr_min = 0x49;
    b->addr_sec = 0x4A;
}

void ga_6bxc_qdi_common(struct biosinfo *b)
{
    b->addr_chk_h = 0x6F;
    b->addr_chk_l = 0x70;
    b->addr_stat = 0x46;
    b->addr_day = 0x47;
    b->addr_hour = 0x48;
    b->addr_min = 0x49;
    b->addr_sec = 0x4A;
}

void epox_4g4a(struct biosinfo *b)
{
    b->addr_chk_h = 0x6F;
    b->addr_chk_l = 0x70;
    b->addr_stat = 0x46;
    b->addr_day = 0x47;
    b->addr_hour = 0x48;
    b->addr_min = 0x49;
}

void epox_4pgf(struct biosinfo *b)
{
    b->addr_chk_h = 0x6F;
    b->addr_chk_l = 0x70;
    b->addr_stat = 0x46;
    b->addr_day = 0x47;
    b->addr_hour = 0x48;
    b->addr_min = 0x49;
    b->shift_stat = 6;
}

void ecs_k7s5a(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x50;
    b->addr_day = 0x51;
    b->addr_hour = 0x52;
    b->addr_min = 0x53;
    b->addr_sec = 0x54;
    b->shift_stat = 7;
    b->shift_day = 3;
    b->rtc_day = 0x70;
    b->rtc_day_0_is_c0 = ON;
    b->reset_day = ON;
    b->nr_rtc_day = 8;
}

void ecs_k7s5a_1(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x51;
    b->addr_day = 0x52;
    b->addr_hour = 0x53;
    b->addr_min = 0x54;
    b->addr_sec = 0x55;
    b->shift_stat = 6;
    b->rtc_day = 0x70;
    b->rtc_day_0_is_c0 = ON;
    b->reset_day = ON;
    b->nr_rtc_day = 8;
}

void ecs_k7s5a_2(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x50;
    b->addr_day = 0x51;
    b->addr_hour = 0x52;
    b->addr_min = 0x53;
    b->addr_sec = 0x54;
    b->shift_stat = 6;
    b->rtc_day = 0x70;
    b->rtc_day_0_is_c0 = ON;
    b->reset_day = ON;
    b->nr_rtc_day = 8;
}

void ecs_k7s5au(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x51;
    b->addr_day = 0x52;
    b->addr_hour = 0x53;
    b->addr_min = 0x54;
    b->addr_sec = 0x55;
    b->shift_stat = 7;
    b->rtc_time = ON;
    b->rtc_day = 0x70;
    b->rtc_day_0_is_c0 = ON;
    b->reset_day = ON;
    b->nr_rtc_day = 8;
}

void ecs_k7s5al(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x50;
    b->addr_day = 0x52;
    b->addr_hour = 0x53;
    b->addr_min = 0x54;
    b->addr_sec = 0x55;
    b->shift_stat = 7;
    b->rtc_day = 0x70;
    b->rtc_day_0_is_c0 = ON;
    b->reset_day = ON;
    b->nr_rtc_day = 8;
}

void ecs_k7s7ag(struct biosinfo *b)
{
    b->need_reboot = ON_STAT;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x52;
    b->addr_day = 0x53;
    b->addr_hour = 0x54;
    b->addr_min = 0x55;
    b->addr_sec = 0x56;
    b->shift_stat = 7;
    b->shift_day = 3;
    b->rtc_time = ON;
    b->rtc_day = 0x70;
    b->rtc_day_0_is_c0 = ON;
    b->reset_day = ON;
    b->nr_rtc_day = 8;
}

void ecs_p4s5a(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x50;
    b->addr_day = 0x51;
    b->addr_hour = 0x52;
    b->addr_min = 0x53;
    b->addr_sec = 0x54;
    b->shift_stat = 7;
    b->rtc_time = ON;
    b->rtc_day = 0x70;
    b->rtc_day_0_is_c0 = ON;
    b->reset_day = ON;
    b->nr_rtc_day = 8;
}

void ecs_p4s8ag(struct biosinfo *b)
{
    b->need_reboot = OFF;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x50;
    b->addr_day = 0x52;
    b->addr_hour = 0x53;
    b->addr_min = 0x54;
    b->addr_sec = 0x55;
    b->shift_stat = 7;
    b->rtc_time = ON;
    b->rtc_day = 0x70;
    b->rtc_day_0_is_c0 = ON;
    b->reset_day = ON;
    b->nr_rtc_day = 8;
}

void gig_ga_7vkml(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x56;
    b->addr_day = 0x57;
    b->addr_hour = 0x58;
    b->addr_min = 0x59;
    b->addr_sec = 0x5A;
    b->shift_stat = 3;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void gig_ga_7vkml_2(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x54;
    b->addr_day = 0x55;
    b->addr_hour = 0x56;
    b->addr_min = 0x57;
    b->addr_sec = 0x58;
    b->shift_stat = 7;
    b->shift_day = 2;
    b->rtc_time = ON;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void gig_ga_k7vm4(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x56;
    b->addr_day = 0x57;
    b->addr_hour = 0x58;
    b->addr_min = 0x59;
    b->addr_sec = 0x5A;
    b->shift_stat = 3;
    b->rtc_time = ON;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void fic_sd_11(struct biosinfo *b)
{
    b->need_reboot = ON_STAT;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x55;
    b->addr_day = 0x56;
    b->addr_hour = 0x57;
    b->addr_min = 0x58;
    b->addr_sec = 0x59;
    b->shift_stat = 4;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void gig_ga_7zxe(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x57;
    b->addr_day = 0x57;
    b->addr_hour = 0x58;
    b->addr_min = 0x59;
    b->addr_sec = 0x5A;
    b->shift_day = 1;
    b->rtc_time = ON;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void gig_ga_5ax(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6E;
    b->addr_chk_l = 0x6F;
    b->addr_chk_h2 = 0x2B;
    b->addr_chk_l2 = 0x2C;
    b->addr_stat = 0x2A;
    b->addr_day = 0x44;
    b->addr_hour = 0x45;
    b->addr_min = 0x46;
    b->shift_stat = 7;
    b->rtc_time = ON;
    b->nr_mon = 5;
    b->nr_day = 6;
    b->nr_hour = 6;
    b->nr_min = 7;
    b->nr_sec = 7;
    b->bcd = 1;
}

void mp_avt_121(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x4E;
    b->addr_day = 0x4F;
    b->addr_hour = 0x50;
    b->addr_min = 0x51;
    b->addr_sec = 0x52;
    b->shift_stat = 2;
}

void mp_avt_122(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x53;
    b->addr_day = 0x53;
    b->addr_hour = 0x54;
    b->addr_min = 0x55;
    b->addr_sec = 0x56;
    b->shift_stat = 2;
    b->shift_day = 3;
}

void asus_p4t533_c(struct biosinfo *b)
{
    b->addr_chk_h = 0x6B;
    b->addr_chk_l = 0x6C;
    b->addr_stat = 0x4C;
    b->addr_day = 0x4D;
    b->shift_stat = 5;
    b->rtc_time = ON;
    b->day_hack = 2;
}

void asus_p4pe(struct biosinfo *b)
{
    b->addr_chk_h = 0x6B;
    b->addr_chk_l = 0x6C;
    b->addr_stat = 0x4E;
    b->addr_day = 0x4F;
    b->addr_hour = 0x68;
    b->addr_min = 0x69;
    b->addr_sec = 0x6A;
    b->shift_stat = 3;
    b->nr_mon = 5;
    b->nr_hour = 6;
    b->nr_min = 7;
    b->nr_sec = 7;
    b->bcd = 1;
    b->day_hack = 4;
}

void gig_ga_7vtxh(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x57;
    b->addr_day = 0x59;
    b->addr_hour = 0x5A;
    b->addr_min = 0x5B;
    b->addr_sec = 0x5C;
    b->shift_stat = 7;
    b->rtc_time = ON;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void gig_7vrx(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x56;
    b->addr_day = 0x57;
    b->addr_hour = 0x58;
    b->addr_min = 0x59;
    b->addr_sec = 0x5A;
    b->shift_stat = 7;
    b->rtc_time = ON;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void msi_ms_6380(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x58;
    b->addr_day = 0x59;
    b->addr_hour = 0x5A;
    b->addr_min = 0x5B;
    b->addr_sec = 0x5C;
    b->shift_stat = 3;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void ecs_k7som(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x52;
    b->addr_day = 0x52;
    b->addr_hour = 0x53;
    b->addr_min = 0x54;
    b->addr_sec = 0x55;
    b->shift_day = 1;
}

void via_p4ma(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x47;
    b->addr_day = 0x48;
    b->addr_hour = 0x49;
    b->addr_min = 0x4A;
    b->addr_sec = 0x4B;
    b->shift_stat = 3;
}

void msi_694tpro(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x57;
    b->addr_day = 0x58;
    b->addr_hour = 0x59;
    b->addr_min = 0x5A;
    b->addr_sec = 0x5B;
    b->shift_stat = 5;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void msi_ms_6309_2(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x57;
    b->addr_day = 0x58;
    b->addr_hour = 0x59;
    b->addr_min = 0x5A;
    b->addr_sec = 0x5B;
    b->shift_stat = 3;
    b->rtc_time = ON;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void gig_ga_7vtx(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x55;
    b->addr_day = 0x55;
    b->addr_hour = 0x56;
    b->addr_min = 0x57;
    b->addr_sec = 0x58;
    b->shift_stat = 2;
    b->shift_day = 3;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void acer_s58m(struct biosinfo *b)
{
    b->addr_stat = 0x41;
    b->addr_hour = 0x54;
    b->addr_min = 0x55;
    b->addr_sec = 0x56;
    b->shift_stat = 4;
    b->rtc_day = 0x5C;
    b->nr_mon = 5;
    b->nr_day = 6;
    b->nr_hour = 6;
    b->nr_min = 7;
    b->nr_sec = 7;
    b->bcd = 1;
}

void ecs_k7vmm(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x57;
    b->addr_day = 0x58;
    b->addr_hour = 0x59;
    b->addr_min = 0x5A;
    b->addr_sec = 0x5B;
    b->shift_stat = 3;
}

void ecs_k7vmmp(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x56;
    b->addr_day = 0x58;
    b->addr_hour = 0x59;
    b->addr_min = 0x5A;
    b->addr_sec = 0x5B;
    b->shift_stat = 7;
    b->rtc_time = ON;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void msi_6535(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x55;
    b->addr_day = 0x56;
    b->addr_hour = 0x57;
    b->addr_min = 0x58;
    b->addr_sec = 0x59;
    b->shift_stat = 4;
    b->rtc_day = 0x70;
    b->rtc_day_0_is_c0 = ON;
    b->reset_day = ON;
    b->nr_rtc_day = 8;
}

void msi_6535_oldbios(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x54;
    b->addr_day = 0x55;
    b->addr_hour = 0x56;
    b->addr_min = 0x57;
    b->addr_sec = 0x58;
    b->shift_stat = 7;
    b->shift_day = 2;
    b->rtc_day = 0x70;
    b->rtc_day_0_is_c0 = ON;
    b->reset_day = ON;
    b->nr_rtc_day = 8;
}

void msi_6535_20b(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x53;
    b->addr_day = 0x55;
    b->addr_hour = 0x56;
    b->addr_min = 0x57;
    b->addr_sec = 0x58;
    b->shift_stat = 7;
    b->shift_day = 3;
    b->rtc_time = ON;
    b->rtc_day = 0x70;
    b->rtc_day_0_is_c0 = ON;
    b->reset_day = ON;
    b->nr_rtc_day = 8;
}

void sis_630s(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6E;
    b->addr_chk_l = 0x6F;
    b->addr_stat = 0x32;
    b->addr_mon = 0x32;
    b->addr_day = 0x33;
    b->addr_hour = 0x34;
    b->addr_min = 0x35;
    b->addr_sec = 0x36;
    b->shift_mon = 4;
    b->rtc_time = ON;
    b->rtc_day = 0x70;
    b->rtc_day_0_is_c0 = ON;
    b->reset_day = ON;
    b->nr_rtc_day = 8;
}

void chaintech_8363(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_day = 0x51;
    b->addr_hour = 0x41;
    b->addr_min = 0x40;
}

void asus_a7v333(struct biosinfo *b)
{
    b->need_reboot = OFF;
    b->addr_chk_h = 0x6B;
    b->addr_chk_l = 0x6C;
    b->addr_stat = 0x4B;
    b->addr_day = 0x4B;
    b->shift_stat = 1;
    b->shift_day = 2;
    b->rtc_time = ON;
}

void asus_a7s333(struct biosinfo *b)
{
    b->need_reboot = OFF;
    b->addr_chk_h = 0x6B;
    b->addr_chk_l = 0x6C;
    b->addr_stat = 0x4B;
    b->addr_day = 0x4C;
    b->shift_stat = 6;
    b->rtc_time = ON;
}

void asus_p4t533(struct biosinfo *b)
{
    b->addr_chk_h = 0x6B;
    b->addr_chk_l = 0x6C;
    b->addr_stat = 0x4C;
    b->addr_day = 0x4C;
    b->shift_stat = 5;
    b->shift_day = 2;
    b->rtc_time = ON;
    b->day_hack = 2;
}

void via_epia_m(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x4B;
    b->addr_day = 0x4C;
    b->addr_hour = 0x4D;
    b->addr_min = 0x4E;
    b->addr_sec = 0x4F;
    b->shift_stat = 3;
}

void gig_ga_7zxr30(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x56;
    b->addr_day = 0x57;
    b->addr_hour = 0x58;
    b->addr_min = 0x59;
    b->addr_sec = 0x5A;
    b->shift_stat = 5;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void gig_ga_7ixe4(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x54;
    b->addr_day = 0x55;
    b->addr_hour = 0x56;
    b->addr_min = 0x57;
    b->addr_sec = 0x58;
    b->shift_stat = 6;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void ecs_k7sem(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6E;
    b->addr_chk_l = 0x6F;
    b->addr_stat = 0x32;
    b->addr_mon = 0x32;
    b->addr_day = 0x33;
    b->addr_hour = 0x34;
    b->addr_min = 0x35;
    b->addr_sec = 0x36;
    b->shift_mon = 4;
}

void shuttle_fs40(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6E;
    b->addr_chk_l = 0x6F;
    b->addr_stat = 0x32;
    b->addr_mon = 0x32;
    b->addr_day = 0x33;
    b->addr_hour = 0x34;
    b->addr_min = 0x35;
    b->addr_sec = 0x36;
    b->shift_mon = 4;
    b->rtc_time = ON;
    b->rtc_day = 0x70;
    b->rtc_mon = 113;
    b->rtc_day_0_is_c0 = ON;
    b->rtc_mon_0_is_c0 = ON;
    b->reset_day = ON;
    b->reset_mon = ON;
    b->nr_rtc_day = 8;
    b->nr_rtc_mon = 8;
}

void ecs_k7s6a(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6E;
    b->addr_chk_l = 0x6F;
    b->addr_stat = 0x32;
    b->addr_day = 0x33;
    b->addr_hour = 0x34;
    b->addr_min = 0x35;
    b->addr_sec = 0x36;
    b->rtc_time = ON;
    b->rtc_day = 0x70;
    b->rtc_day_0_is_c0 = ON;
    b->reset_day = ON;
    b->nr_rtc_day = 8;
}

void gig_sis_645(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6E;
    b->addr_chk_l = 0x6F;
    b->addr_stat = 0x32;
    b->addr_mon = 0x32;
    b->addr_day = 0x33;
    b->addr_hour = 0x34;
    b->addr_min = 0x35;
    b->addr_sec = 0x36;
    b->shift_mon = 4;
    b->rtc_time = ON;
}

void gig_sis_645_new(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6E;
    b->addr_chk_l = 0x6F;
    b->addr_stat = 0x32;
    b->addr_mon = 0x32;
    b->addr_day = 0x33;
    b->addr_hour = 0x34;
    b->addr_min = 0x35;
    b->addr_sec = 0x36;
    b->shift_mon = 4;
}

void msi_ms_6243(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x57;
    b->addr_day = 0x58;
    b->addr_hour = 0x59;
    b->addr_min = 0x5A;
    b->addr_sec = 0x5B;
    b->shift_stat = 5;
}

void msi_ms_6765(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x57;
    b->addr_day = 0x58;
    b->addr_hour = 0x59;
    b->addr_min = 0x5A;
    b->addr_sec = 0x5B;
    b->shift_stat = 6;
}

void tosh_eq_3300m(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x55;
    b->addr_day = 0x56;
    b->addr_hour = 0x57;
    b->addr_min = 0x58;
    b->addr_sec = 0x59;
    b->shift_stat = 6;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void asrock_k7vm2(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x59;
    b->addr_day = 0x59;
    b->addr_hour = 0x5A;
    b->addr_min = 0x5B;
    b->addr_sec = 0x5C;
    b->shift_day = 1;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void asrock_k7vm2_new(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x56;
    b->addr_day = 0x57;
    b->addr_hour = 0x58;
    b->addr_min = 0x59;
    b->addr_sec = 0x5A;
    b->shift_stat = 6;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void asrock_k7s8xe2(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x50;
    b->addr_day = 0x52;
    b->addr_hour = 0x53;
    b->addr_min = 0x54;
    b->addr_sec = 0x55;
    b->shift_stat = 7;
}

void asrock_k7s8xep(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x51;
    b->addr_day = 0x53;
    b->addr_hour = 0x54;
    b->addr_min = 0x55;
    b->addr_sec = 0x56;
    b->shift_stat = 5;
    b->rtc_time = ON;
    b->rtc_day = 0x70;
    b->rtc_day_0_is_c0 = ON;
    b->reset_day = ON;
    b->nr_rtc_day = 8;
}

void asrock_k7s8xe(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x55;
    b->addr_day = 0x57;
    b->addr_hour = 0x58;
    b->addr_min = 0x59;
    b->addr_sec = 0x5A;
    b->shift_stat = 6;
}

void asrock_k7s8xep_m(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x57;
    b->addr_day = 0x57;
    b->addr_hour = 0x58;
    b->addr_min = 0x59;
    b->addr_sec = 0x5A;
    b->shift_day = 1;
    b->rtc_time = ON;
    b->rtc_day = 0x70;
    b->reset_day = ON;
}

void asrock_k7s8x(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x51;
    b->addr_day = 0x54;
    b->addr_hour = 0x55;
    b->addr_min = 0x56;
    b->addr_sec = 0x57;
    b->shift_stat = 6;
}

void asrock_k7s8x2(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x50;
    b->addr_day = 0x53;
    b->addr_hour = 0x54;
    b->addr_min = 0x55;
    b->addr_sec = 0x56;
    b->shift_stat = 6;
    b->shift_day = 3;
    b->rtc_time = ON;
    b->rtc_day = 0x70;
    b->rtc_day_0_is_c0 = ON;
    b->reset_day = ON;
    b->nr_rtc_day = 8;
}

void asrock_k7s8x4(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x50;
    b->addr_day = 0x53;
    b->addr_hour = 0x54;
    b->addr_min = 0x55;
    b->addr_sec = 0x56;
    b->shift_stat = 7;
    b->shift_day = 3;
    b->rtc_time = ON;
    b->rtc_day = 0x70;
    b->rtc_day_0_is_c0 = ON;
    b->reset_day = ON;
    b->nr_rtc_day = 8;
}

void asrock_k7s8x3(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x50;
    b->addr_day = 0x52;
    b->addr_hour = 0x53;
    b->addr_min = 0x54;
    b->addr_sec = 0x55;
    b->shift_stat = 6;
    b->rtc_time = ON;
    b->rtc_day = 0x70;
    b->reset_day = ON;
}

void asrock_k7vm4(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x56;
    b->addr_day = 0x56;
    b->addr_hour = 0x57;
    b->addr_min = 0x58;
    b->addr_sec = 0x59;
    b->shift_stat = 2;
    b->shift_day = 3;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void asus_k7m(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x56;
    b->addr_day = 0x57;
    b->addr_hour = 0x58;
    b->addr_min = 0x59;
    b->addr_sec = 0x5A;
    b->shift_stat = 4;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void asus_p4s8l(struct biosinfo *b)
{
    b->addr_chk_h = 0x6B;
    b->addr_chk_l = 0x6C;
    b->addr_stat = 0x49;
    b->addr_day = 0x49;
    b->shift_stat = 1;
    b->shift_day = 2;
    b->rtc_time = ON;
}

void asus_a7v600(struct biosinfo *b)
{
    b->addr_chk_h = 0x6B;
    b->addr_chk_l = 0x6C;
    b->addr_stat = 0x4F;
    b->addr_day = 0x4F;
    b->shift_stat = 1;
    b->shift_day = 2;
    b->rtc_time = ON;
}

void asus_p4s8x(struct biosinfo *b)
{
    b->addr_chk_h = 0x6B;
    b->addr_chk_l = 0x6C;
    b->addr_stat = 0x4C;
    b->addr_day = 0x4D;
    b->shift_stat = 3;
    b->rtc_time = ON;
    b->day_hack = 4;
}

void msi_ms_6524(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6E;
    b->addr_chk_l = 0x6F;
    b->addr_stat = 0x32;
    b->addr_day = 0x33;
    b->addr_hour = 0x34;
    b->addr_min = 0x35;
    b->addr_sec = 0x36;
    b->rtc_day = 0x70;
    b->reset_day = ON;
}

void pcchips_810lmr(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x5A;
    b->addr_day = 0x5B;
    b->addr_hour = 0x5C;
    b->addr_min = 0x5D;
    b->addr_sec = 0x5E;
    b->shift_stat = 3;
    b->rtc_day = 0x70;
    b->reset_day = ON;
}

void msi_ms_6764(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x5A;
    b->addr_day = 0x5B;
    b->addr_hour = 0x5C;
    b->addr_min = 0x5D;
    b->addr_sec = 0x5E;
    b->shift_stat = 5;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void msi_ms_6712_1(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x58;
    b->addr_day = 0x5A;
    b->addr_hour = 0x5B;
    b->addr_min = 0x5C;
    b->addr_sec = 0x5D;
    b->shift_stat = 7;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void msi_ms_6712_2(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x5A;
    b->addr_day = 0x5A;
    b->addr_hour = 0x5B;
    b->addr_min = 0x5C;
    b->addr_sec = 0x5D;
    b->shift_day = 1;
    b->rtc_time = ON;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void msi_ms_6712_3(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x5A;
    b->addr_day = 0x5A;
    b->addr_hour = 0x5B;
    b->addr_min = 0x5C;
    b->addr_sec = 0x5D;
    b->shift_stat = 2;
    b->shift_day = 3;
    b->rtc_time = ON;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void msi_ms_6764_brkn(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x59;
    b->addr_day = 0x5B;
    b->addr_hour = 0x5C;
    b->addr_min = 0x5D;
    b->addr_sec = 0x5E;
    b->shift_stat = 7;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void msi_ms_6593(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x59;
    b->addr_day = 0x5A;
    b->addr_hour = 0x5B;
    b->addr_min = 0x5C;
    b->addr_sec = 0x5D;
    b->shift_stat = 3;
    b->rtc_time = ON;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void msi_ms_6593_2(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x59;
    b->addr_day = 0x59;
    b->addr_hour = 0x5A;
    b->addr_min = 0x5B;
    b->addr_sec = 0x5C;
    b->shift_stat = 2;
    b->shift_day = 3;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void msi_ms_7021(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x5A;
    b->addr_day = 0x5B;
    b->addr_hour = 0x5C;
    b->addr_min = 0x5D;
    b->addr_sec = 0x5E;
    b->shift_stat = 3;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void msi_ms_6160(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6F;
    b->addr_chk_l = 0x70;
    b->addr_stat = 0x46;
    b->addr_day = 0x47;
    b->addr_hour = 0x48;
    b->addr_min = 0x49;
    b->addr_sec = 0x4A;
    b->rtc_time = ON;
}

void asus_a7v8x(struct biosinfo *b)
{
    b->addr_chk_h = 0x6B;
    b->addr_chk_l = 0x6C;
    b->addr_stat = 0x4D;
    b->addr_day = 0x4E;
    b->shift_stat = 5;
    b->rtc_time = ON;
    b->day_hack = 2;
}

void abit_bp6(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6C;
    b->addr_chk_l = 0x6D;
    b->addr_stat = 0x46;
    b->addr_day = 0x47;
    b->addr_hour = 0x48;
    b->addr_min = 0x49;
    b->addr_sec = 0x4A;
}

void aopen_ax4pe_max(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_stat = 0x46;
    b->addr_day = 0x47;
    b->addr_hour = 0x48;
    b->addr_min = 0x49;
    b->addr_sec = 0x4A;
}

void msi_ms_6570(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x46;
    b->addr_day = 0x48;
    b->addr_hour = 0x49;
    b->addr_min = 0x4A;
    b->shift_stat = 3;
}

void shttl_fn41(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x46;
    b->addr_hour = 0x48;
    b->addr_min = 0x49;
    b->addr_sec = 0x4A;
    b->shift_stat = 3;
}

void chain_7nif2(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x46;
    b->addr_day = 0x48;
    b->addr_hour = 0x49;
    b->addr_min = 0x4A;
    b->addr_sec = 0x4B;
    b->shift_stat = 3;
}

void ecs_rs482(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x0;
    b->addr_day = 0x48;
    b->addr_hour = 0x49;
    b->addr_min = 0x4A;
    b->addr_sec = 0x4B;
}

void msi_ms_7093(struct biosinfo *b)
{
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x0;
    b->addr_day = 0x48;
    b->addr_hour = 0x49;
    b->addr_min = 0x4A;
    b->addr_sec = 0x4B;
    b->rtc_time = ON;
}

void asus_a7n8x_x(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x3D;
    b->addr_hour = 0x48;
    b->addr_min = 0x49;
    b->addr_sec = 0x4A;
    b->shift_stat = 6;
}

void ecs_k7som_p(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x4F;
    b->addr_day = 0x51;
    b->addr_hour = 0x52;
    b->addr_min = 0x53;
    b->addr_sec = 0x54;
    b->shift_stat = 7;
    b->shift_day = 3;
    b->rtc_day = 0x70;
    b->rtc_day_0_is_c0 = ON;
    b->reset_day = ON;
    b->nr_rtc_day = 8;
}

void asus_a4s333(struct biosinfo *b)
{
    b->addr_chk_h = 0x6B;
    b->addr_chk_l = 0x6C;
    b->addr_stat = 0x4B;
    b->addr_day = 0x4C;
    b->shift_stat = 6;
    b->rtc_time = ON;
    b->day_hack = 1;
}

void dell_optiplex_dxa(struct biosinfo *b)
{
    b->addr_chk_h = 0x5F;
    b->addr_chk_l = 0x60;
    b->addr_stat = 0x4B;
    b->addr_hour = 0x4C;
    b->addr_min = 0x4D;
    b->shift_stat = 6;
    b->nr_mon = 5;
    b->nr_day = 6;
    b->nr_hour = 6;
    b->nr_min = 7;
    b->nr_sec = 7;
    b->bcd = 1;
    b->chk_method = 1;
}

void asus_p4bgl(struct biosinfo *b)
{
    b->addr_chk_h = 0x6B;
    b->addr_chk_l = 0x6C;
    b->addr_stat = 0x4C;
    b->addr_day = 0x4D;
    b->addr_hour = 0x68;
    b->addr_min = 0x69;
    b->addr_sec = 0x6A;
    b->shift_stat = 7;
    b->nr_mon = 5;
    b->nr_hour = 6;
    b->nr_min = 7;
    b->nr_sec = 7;
    b->bcd = 1;
    b->day_no_bcd = ON;
}

void asus_p4b266(struct biosinfo *b)
{
    b->addr_chk_h = 0x6B;
    b->addr_chk_l = 0x6C;
    b->addr_stat = 0x4B;
    b->addr_day = 0x4C;
    b->shift_stat = 5;
    b->rtc_time = ON;
    b->day_hack = 2;
}

void asus_p4b266_m(struct biosinfo *b)
{
    b->addr_chk_h = 0x6B;
    b->addr_chk_l = 0x6C;
    b->addr_stat = 0x4A;
    b->addr_day = 0x4B;
    b->shift_stat = 4;
    b->rtc_time = ON;
    b->day_hack = 3;
}

void asus_p4b266_e(struct biosinfo *b)
{
    b->addr_chk_h = 0x6B;
    b->addr_chk_l = 0x6C;
    b->addr_stat = 0x4B;
    b->addr_day = 0x4C;
    b->shift_stat = 3;
    b->rtc_time = ON;
    b->day_hack = 4;
}

void msi_ms_6380e(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x59;
    b->addr_day = 0x5A;
    b->addr_hour = 0x5B;
    b->addr_min = 0x5C;
    b->addr_sec = 0x5D;
    b->shift_stat = 5;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void msi_ms_6590(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x59;
    b->addr_day = 0x5A;
    b->addr_hour = 0x5B;
    b->addr_min = 0x5C;
    b->addr_sec = 0x5D;
    b->shift_stat = 6;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void chaintech_6aja4(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x47;
    b->addr_day = 0x43;
    b->addr_hour = 0x41;
    b->addr_min = 0x40;
    b->addr_sec = 0x3F;
    b->shift_stat = 5;
}

void dfi_ak70(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x46;
    b->addr_day = 0x48;
    b->addr_hour = 0x49;
    b->addr_min = 0x4A;
    b->addr_sec = 0x4B;
    b->shift_stat = 2;
}

void asrock_g_pro(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x55;
    b->addr_day = 0x55;
    b->addr_hour = 0x56;
    b->addr_min = 0x57;
    b->addr_sec = 0x58;
    b->shift_day = 1;
    b->rtc_day = 0x70;
    b->reset_day = ON;
}

void asrock_g_pro_new(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x58;
    b->addr_day = 0x59;
    b->addr_hour = 0x5A;
    b->addr_min = 0x5B;
    b->addr_sec = 0x5C;
    b->shift_stat = 7;
    b->shift_day = 3;
    b->rtc_day = 0x70;
    b->reset_day = ON;
}

void asrock_k7vt2(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x59;
    b->addr_day = 0x59;
    b->addr_hour = 0x5A;
    b->addr_min = 0x5B;
    b->addr_sec = 0x5C;
    b->shift_stat = 1;
    b->shift_day = 2;
    b->rtc_time = ON;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void asrock_k7vt4(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x55;
    b->addr_day = 0x56;
    b->addr_hour = 0x57;
    b->addr_min = 0x58;
    b->addr_sec = 0x59;
    b->shift_stat = 5;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void asrock_k7vt4a(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x56;
    b->addr_day = 0x56;
    b->addr_hour = 0x57;
    b->addr_min = 0x58;
    b->addr_sec = 0x59;
    b->shift_day = 1;
    b->rtc_time = ON;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void asus_p4s533(struct biosinfo *b)
{
    b->addr_chk_h = 0x6B;
    b->addr_chk_l = 0x6C;
    b->addr_stat = 0x4A;
    b->addr_day = 0x4A;
    b->shift_stat = 1;
    b->shift_day = 2;
    b->rtc_time = ON;
}

void asus_p4s533_x(struct biosinfo *b)
{
    b->addr_chk_h = 0x6B;
    b->addr_chk_l = 0x6C;
    b->addr_stat = 0x4B;
    b->addr_day = 0x4B;
    b->shift_stat = 1;
    b->shift_day = 2;
    b->rtc_time = ON;
}

void asrock_m266a(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x57;
    b->addr_day = 0x58;
    b->addr_hour = 0x59;
    b->addr_min = 0x5A;
    b->addr_sec = 0x5B;
    b->shift_stat = 3;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void msi_ms_6398e(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x55;
    b->addr_day = 0x55;
    b->addr_hour = 0x56;
    b->addr_min = 0x57;
    b->addr_sec = 0x58;
    b->shift_day = 1;
}

void shuttle_mv43vn(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x55;
    b->addr_day = 0x56;
    b->addr_hour = 0x57;
    b->addr_min = 0x58;
    b->addr_sec = 0x59;
    b->shift_stat = 7;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void gigabyte_5aa(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x51;
    b->addr_day = 0x52;
    b->addr_hour = 0x53;
    b->addr_min = 0x54;
    b->addr_sec = 0x55;
    b->shift_stat = 7;
}

void asus_p4b533(struct biosinfo *b)
{
    b->need_reboot = OFF;
    b->addr_chk_h = 0x6B;
    b->addr_chk_l = 0x6C;
    b->addr_stat = 0x4C;
    b->addr_day = 0x4D;
    b->addr_hour = 0x68;
    b->addr_min = 0x69;
    b->addr_sec = 0x6A;
    b->shift_stat = 5;
    b->nr_mon = 5;
    b->nr_hour = 6;
    b->nr_min = 7;
    b->nr_sec = 7;
    b->bcd = 1;
    b->day_hack = 2;
}

void asus_p4b533_e(struct biosinfo *b)
{
    b->addr_chk_h = 0x6B;
    b->addr_chk_l = 0x6C;
    b->addr_stat = 0x4C;
    b->addr_day = 0x4C;
    b->addr_hour = 0x68;
    b->addr_min = 0x69;
    b->addr_sec = 0x6A;
    b->shift_day = 1;
    b->nr_mon = 5;
    b->nr_hour = 6;
    b->nr_min = 7;
    b->nr_sec = 7;
    b->bcd = 1;
    b->day_no_bcd = ON;
}

void msi_ms_5169(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x51;
    b->addr_day = 0x52;
    b->addr_hour = 0x53;
    b->addr_min = 0x54;
    b->addr_sec = 0x55;
    b->shift_stat = 5;
}

void aopen_ax45_4d(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6E;
    b->addr_chk_l = 0x6F;
    b->addr_stat = 0x32;
    b->addr_day = 0x33;
    b->addr_hour = 0x40;
    b->addr_min = 0x41;
    b->addr_sec = 0x36;
    b->rtc_time = ON;
    b->rtc_day = 0x70;
    b->reset_day = ON;
}

void asus_p4p800(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x9B;
    b->addr_day = 0x9C;
    b->addr_hour = 0x9D;
    b->addr_min = 0x9E;
    b->addr_sec = 0x9F;
    b->shift_stat = 4;
    b->upper_method = INTEL;
}

void asus_p4c800(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x9B;
    b->addr_day = 0x9C;
    b->addr_hour = 0x9D;
    b->addr_min = 0x9E;
    b->addr_sec = 0x9F;
    b->shift_stat = 5;
    b->upper_method = INTEL;
}

void asus_p4c800_e(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x9B;
    b->addr_day = 0x9C;
    b->addr_hour = 0x9D;
    b->addr_min = 0x9E;
    b->addr_sec = 0x9F;
    b->shift_stat = 6;
    b->upper_method = INTEL;
}

void asus_p4p800_se(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x9C;
    b->addr_day = 0x9D;
    b->addr_hour = 0x9E;
    b->addr_min = 0x9F;
    b->addr_sec = 0xA0;
    b->shift_stat = 7;
    b->upper_method = INTEL;
}

void asus_p4p800_e(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x9C;
    b->addr_day = 0x9D;
    b->addr_hour = 0x9E;
    b->addr_min = 0x9F;
    b->addr_sec = 0xA0;
    b->shift_stat = 7;
    b->upper_method = INTEL;
}

void asus_p4p800_vm(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x97;
    b->addr_day = 0x97;
    b->addr_hour = 0x98;
    b->addr_min = 0x99;
    b->addr_sec = 0x9A;
    b->shift_stat = 1;
    b->shift_day = 2;
    b->upper_method = INTEL;
}

void asus_p4p800_vm_2(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x98;
    b->addr_day = 0x99;
    b->addr_hour = 0x9A;
    b->addr_min = 0x9B;
    b->addr_sec = 0x9C;
    b->shift_stat = 4;
    b->upper_method = INTEL;
}

void aopen_mk73le_n(struct biosinfo *b)
{
    b->addr_stat = 0xD2;
    b->addr_day = 0xD8;
    b->addr_hour = 0xD9;
    b->addr_min = 0xDA;
    b->addr_sec = 0xDB;
    b->shift_stat = 5;
    b->upper_method = VT82Cxxx;
}

void ibm_pc_300pl(struct biosinfo *b)
{
    b->addr_stat = 0x9B;
    b->addr_day = 0x9A;
    b->addr_hour = 0x99;
    b->addr_min = 0x98;
    b->nr_mon = 5;
    b->nr_day = 6;
    b->nr_hour = 6;
    b->nr_min = 7;
    b->nr_sec = 7;
    b->bcd = 1;
    b->upper_method = VT82Cxxx;
}

void springdale(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x92;
    b->addr_day = 0x92;
    b->addr_hour = 0x93;
    b->addr_min = 0x94;
    b->addr_sec = 0x95;
    b->shift_day = 1;
    b->upper_method = INTEL;
}

void springdale2(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x92;
    b->addr_day = 0x93;
    b->addr_hour = 0x94;
    b->addr_min = 0x95;
    b->addr_sec = 0x96;
    b->shift_stat = 7;
    b->shift_day = 3;
    b->upper_method = INTEL;
}

void gig_ga_8simlh(struct biosinfo *b)
{
    b->need_reboot = OFF;
    b->addr_chk_h = 0x6E;
    b->addr_chk_l = 0x6F;
    b->addr_stat = 0x32;
    b->addr_day = 0x33;
    b->addr_hour = 0x34;
    b->addr_min = 0x35;
    b->addr_sec = 0x36;
}

void gig_ga_8sgxlfs(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6E;
    b->addr_chk_l = 0x6F;
    b->addr_stat = 0x32;
    b->addr_day = 0x33;
    b->addr_hour = 0x34;
    b->addr_min = 0x35;
    b->addr_sec = 0x36;
    b->rtc_day = 0x70;
    b->reset_day = ON;
}

void sis_730(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6E;
    b->addr_chk_l = 0x6F;
    b->addr_stat = 0x32;
    b->addr_day = 0x33;
    b->addr_hour = 0x34;
    b->addr_min = 0x35;
    b->addr_sec = 0x36;
}

void asus_a7n8x_vm400(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x88;
    b->addr_day = 0x89;
    b->addr_hour = 0x8A;
    b->addr_min = 0x8B;
    b->addr_sec = 0x8C;
    b->shift_stat = 5;
    b->upper_method = VT82Cxxx;
}

void gig_ga_7vt600(struct biosinfo *b)
{
    b->addr_stat = 0xD2;
    b->addr_day = 0xD8;
    b->addr_hour = 0xD9;
    b->addr_min = 0xDA;
    b->addr_sec = 0xDB;
    b->shift_stat = 5;
    b->rtc_time = ON;
    b->upper_method = VT8235_37;
}

void shuttle_sk43g(struct biosinfo *b)
{
    b->need_reboot = ON_STAT;
    b->addr_chk_h = 0xDE;
    b->addr_chk_l = 0xDF;
    b->addr_stat = 0xD2;
    b->addr_day = 0xD8;
    b->addr_hour = 0xD9;
    b->addr_min = 0xDA;
    b->addr_sec = 0xDB;
    b->shift_stat = 5;
    b->upper_method = VT8235_37;
}

void asus_p4v8x_x(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0xE6;
    b->addr_day = 0xE7;
    b->addr_hour = 0xE8;
    b->addr_min = 0xE9;
    b->addr_sec = 0xEA;
    b->shift_stat = 6;
    b->rtc_time = ON;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
    b->upper_method = VT8235_37;
}

void asus_p4vp_mx(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0xE5;
    b->addr_day = 0xE7;
    b->addr_hour = 0xE8;
    b->addr_min = 0xE9;
    b->addr_sec = 0xEA;
    b->shift_stat = 6;
    b->rtc_time = ON;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
    b->upper_method = VT8235_37;
}

void asus_k8v(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0xE2;
    b->addr_day = 0xE4;
    b->addr_hour = 0xE5;
    b->addr_min = 0xE6;
    b->addr_sec = 0xE7;
    b->shift_stat = 7;
    b->shift_day = 2;
    b->rtc_time = ON;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
    b->upper_method = VT8235_37;
}

void asus_k8v_x(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0xE4;
    b->addr_day = 0xE6;
    b->addr_hour = 0xE7;
    b->addr_min = 0xE8;
    b->addr_sec = 0xE9;
    b->shift_stat = 4;
    b->rtc_time = ON;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
    b->upper_method = VT8235_37;
}

void asus_k8v_x_se(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_day = 0x94;
    b->addr_hour = 0x95;
    b->addr_min = 0x96;
    b->addr_sec = 0x97;
    b->shift_day = 3;
    b->rtc_time = ON;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
    b->upper_method = VT8235_37;
}

void asus_k8v_x_se2(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x8E;
    b->shift_stat = 5;
    b->rtc_time = ON;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
    b->upper_method = VT8235_37;
}

void asus_k8vsedx(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0xE3;
    b->addr_day = 0xE5;
    b->addr_hour = 0xE6;
    b->addr_min = 0xE7;
    b->addr_sec = 0xE8;
    b->shift_stat = 3;
    b->rtc_time = ON;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
    b->upper_method = VT8235_37;
}

void asus_a8v_luxe(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0xE7;
    b->addr_day = 0xEA;
    b->addr_hour = 0xEB;
    b->addr_min = 0xEC;
    b->addr_sec = 0xED;
    b->shift_stat = 3;
    b->rtc_time = ON;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
    b->upper_method = VT8235_37;
}

void asus_a8v_luxe2(struct biosinfo *b)
{
    b->need_reboot = ON_STAT;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x94;
    b->addr_day = 0x96;
    b->addr_hour = 0x97;
    b->addr_min = 0x98;
    b->addr_sec = 0x99;
    b->shift_stat = 6;
    b->rtc_time = ON;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
    b->upper_method = VT8235_37;
}

void asus_p4xp_x(struct biosinfo *b)
{
    b->addr_chk_h = 0x6B;
    b->addr_chk_l = 0x6C;
    b->addr_stat = 0x4D;
    b->addr_day = 0x4E;
    b->addr_hour = 0x68;
    b->addr_min = 0x69;
    b->addr_sec = 0x6A;
    b->shift_stat = 3;
    b->nr_mon = 5;
    b->nr_hour = 6;
    b->nr_min = 7;
    b->nr_sec = 7;
    b->bcd = 1;
    b->day_hack = 4;
}

void msi_ms_6580(struct biosinfo *b)
{
    b->need_reboot = OFF;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x59;
    b->addr_day = 0x59;
    b->addr_hour = 0x5A;
    b->addr_min = 0x5B;
    b->addr_sec = 0x5C;
    b->shift_stat = 1;
    b->shift_day = 2;
    b->rtc_time = ON;
    b->rtc_day = 0x7F;
    b->reset_day = ON;
    b->upper_method = INTEL;
}

void msi_ms_6704(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x59;
    b->addr_day = 0x59;
    b->addr_hour = 0x5A;
    b->addr_min = 0x5B;
    b->addr_sec = 0x5C;
    b->shift_stat = 1;
    b->shift_day = 2;
}

void aopen_ax37(struct biosinfo *b)
{
    b->addr_stat = 0xD2;
    b->addr_day = 0xD8;
    b->addr_hour = 0xD9;
    b->addr_min = 0xDA;
    b->addr_sec = 0xDB;
    b->shift_stat = 5;
    b->upper_method = VT8235_37;
}

void epox_8khap(struct biosinfo *b)
{
    b->need_reboot = ON_STAT;
    b->addr_stat = 0xD2;
    b->addr_day = 0xD8;
    b->addr_hour = 0xD9;
    b->addr_min = 0xDA;
    b->addr_sec = 0xDB;
    b->shift_stat = 5;
    b->upper_method = VT8235_37;
}

void shuttle_fx41(struct biosinfo *b)
{
    b->addr_stat = 0xD2;
    b->addr_day = 0xD8;
    b->addr_hour = 0xD9;
    b->addr_min = 0xDA;
    b->addr_sec = 0;
    b->shift_stat = 5;
    b->upper_method = VT8235_37;
}

void asrock_k7s41gx(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x54;
    b->addr_day = 0x56;
    b->addr_hour = 0x57;
    b->addr_min = 0x58;
    b->addr_sec = 0x59;
    b->shift_stat = 7;
    b->rtc_time = ON;
    b->rtc_day = 0x70;
    b->rtc_day_0_is_c0 = ON;
    b->reset_day = ON;
    b->nr_rtc_day = 8;
}

void abit_kg7(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x46;
    b->addr_day = 0x47;
    b->addr_hour = 0x48;
    b->addr_min = 0x49;
    b->shift_stat = 3;
}

void msi_ms_6760(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6E;
    b->addr_chk_l = 0x6F;
    b->addr_stat = 0x32;
    b->addr_day = 0x33;
    b->addr_hour = 0x34;
    b->addr_min = 0x35;
    b->addr_sec = 0x36;
    b->shift_stat = 3;
    b->rtc_time = ON;
    b->rtc_day = 0x70;
    b->rtc_day_0_is_c0 = ON;
    b->reset_day = ON;
    b->nr_rtc_day = 8;
}

void msi_ms_6760_2(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6E;
    b->addr_chk_l = 0x6F;
    b->addr_stat = 0x32;
    b->addr_day = 0x33;
    b->addr_hour = 0x34;
    b->addr_min = 0x35;
    b->addr_sec = 0x36;
    b->rtc_time = ON;
    b->rtc_day = 0x70;
    b->rtc_day_0_is_c0 = ON;
    b->reset_day = ON;
    b->nr_rtc_day = 8;
}

void msi_ms_6728(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x58;
    b->addr_day = 0x59;
    b->addr_hour = 0x5A;
    b->addr_min = 0x5B;
    b->addr_sec = 0x5C;
    b->shift_stat = 3;
    b->rtc_time = ON;
    b->rtc_day = 0x7F;
    b->reset_day = ON;
}

void msi_ms_6728_2(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x59;
    b->addr_day = 0x5A;
    b->addr_hour = 0x5B;
    b->addr_min = 0x5C;
    b->addr_sec = 0x5D;
    b->shift_stat = 4;
    b->rtc_time = ON;
    b->rtc_day = 0x7F;
    b->reset_day = ON;
}

void msi_ms_6788(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x58;
    b->addr_day = 0x59;
    b->addr_hour = 0x5A;
    b->addr_min = 0x5B;
    b->addr_sec = 0x5C;
    b->shift_stat = 4;
    b->rtc_time = ON;
    b->rtc_day = 0x7F;
    b->reset_day = ON;
}

void asrock_ge_pro(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x54;
    b->addr_day = 0x55;
    b->addr_hour = 0x56;
    b->addr_min = 0x57;
    b->addr_sec = 0x58;
    b->shift_stat = 6;
    b->rtc_time = ON;
    b->rtc_day = 0x70;
    b->rtc_day_0_is_c0 = ON;
    b->reset_day = ON;
    b->nr_rtc_day = 8;
}

void shuttle_fn85(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x4A;
    b->addr_day = 0x4C;
    b->addr_hour = 0x4D;
    b->addr_min = 0x4E;
    b->addr_sec = 0x4F;
    b->shift_stat = 3;
}

void gig_ga_k8ne(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x43;
    b->addr_day = 0x4C;
    b->addr_hour = 0x4D;
    b->addr_min = 0x4E;
    b->addr_sec = 0x4F;
    b->shift_stat = 5;
}

void asrock_k7v88(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x86;
    b->addr_day = 0xA4;
    b->addr_hour = 0xA5;
    b->addr_min = 0xA6;
    b->addr_sec = 0xA7;
    b->shift_stat = 7;
    b->upper_method = VT8235_37;
}

void asrock_p4i65gv(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x90;
    b->addr_day = 0x90;
    b->addr_hour = 0x91;
    b->addr_min = 0x92;
    b->addr_sec = 0x93;
    b->shift_stat = 2;
    b->shift_day = 3;
    b->upper_method = INTEL;
}

void asrock_p4i45gx(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x5A;
    b->addr_day = 0x5A;
    b->addr_hour = 0x5B;
    b->addr_min = 0x5C;
    b->addr_sec = 0x5D;
    b->shift_stat = 1;
    b->shift_day = 2;
    b->rtc_time = ON;
    b->rtc_day = 0x7F;
    b->reset_day = ON;
}

void tyan_tiger_k8w(struct biosinfo *b)
{
    b->need_reboot = OFF;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x8D;
    b->addr_day = 0x8D;
    b->addr_hour = 0x8E;
    b->addr_min = 0x8F;
    b->addr_sec = 0x90;
    b->shift_stat = 1;
    b->shift_day = 2;
    b->upper_method = VT82Cxxx;
}

void msi_ms_6159(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x58;
    b->addr_day = 0x58;
    b->addr_hour = 0x59;
    b->addr_min = 0x5A;
    b->addr_sec = 0x5B;
    b->shift_stat = 2;
    b->shift_day = 3;
    b->rtc_time = ON;
}

void supermicro(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x5D;
    b->addr_day = 0x5D;
    b->addr_hour = 0x5E;
    b->addr_min = 0x5F;
    b->addr_sec = 0x60;
    b->shift_day = 1;
}

void ct_5rsa2(struct biosinfo *b)
{
    b->addr_chk_h = 0x6E;
    b->addr_chk_l = 0x6F;
    b->addr_chk_h2 = 0x2B;
    b->addr_chk_l2 = 0x2C;
    b->addr_stat = 0x2A;
    b->addr_day = 0x44;
    b->addr_hour = 0x45;
    b->addr_min = 0x46;
    b->addr_sec = 0x47;
    b->shift_stat = 7;
}

void msi_ms_6702(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x5A;
    b->addr_day = 0x5B;
    b->addr_hour = 0x5C;
    b->addr_min = 0x5D;
    b->addr_sec = 0x5E;
    b->shift_stat = 7;
    b->shift_day = 3;
    b->rtc_time = ON;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void msi_ms_6702_e(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x5C;
    b->addr_day = 0x5C;
    b->addr_hour = 0x5D;
    b->addr_min = 0x5E;
    b->addr_sec = 0x5F;
    b->shift_day = 1;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void asus_p4pe2_x(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x87;
    b->addr_day = 0x88;
    b->addr_hour = 0x89;
    b->addr_min = 0x8A;
    b->addr_sec = 0x8B;
    b->shift_stat = 4;
    b->upper_method = INTEL;
}

void msi_ms_6195(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x57;
    b->addr_day = 0x58;
    b->addr_hour = 0x59;
    b->addr_min = 0x5A;
    b->addr_sec = 0x5B;
    b->shift_stat = 7;
    b->rtc_time = ON;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void asrock_p4vt8(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x6B;
    b->addr_stat = 0x54;
    b->addr_day = 0x55;
    b->addr_hour = 0x56;
    b->addr_min = 0x57;
    b->addr_sec = 0x58;
    b->shift_day = 7;
    b->rtc_time = ON;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void asrock_p4vt8p(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x6B;
    b->addr_stat = 0x55;
    b->addr_day = 0x55;
    b->addr_hour = 0x56;
    b->addr_min = 0x57;
    b->addr_sec = 0x58;
    b->shift_day = 1;
    b->rtc_time = ON;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
}

void asus_a7v880(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x8B;
    b->addr_day = 0x8D;
    b->addr_hour = 0x8E;
    b->addr_min = 0x8F;
    b->addr_sec = 0x90;
    b->shift_stat = 4;
    b->rtc_time = ON;
    b->rtc_day = 0x6F;
    b->reset_day = ON;
    b->upper_method = VT8235_37;
}

void asus_p5gd2_lx(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x9F;
    b->addr_day = 0xA0;
    b->addr_hour = 0xA1;
    b->addr_min = 0xA2;
    b->addr_sec = 0xA3;
    b->shift_stat = 5;
    b->upper_method = INTEL;
}

void ecs_m863(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x6F;
    b->shift_stat = 7;
    b->rtc_time = ON;
    b->rtc_day = 0x70;
    b->rtc_day_0_is_c0 = ON;
    b->reset_day = ON;
    b->nr_rtc_day = 8;
}

void ecs_k7ama(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x55;
    b->addr_day = 0x55;
    b->addr_hour = 0x56;
    b->addr_min = 0x57;
    b->addr_sec = 0x58;
    b->shift_stat = 1;
    b->shift_day = 2;
}

void aopen_ax63(struct biosinfo *b)
{
    b->need_reboot = ON_STAT;
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x47;
    b->addr_day = 0x4F;
    b->addr_hour = 0x35;
    b->addr_min = 0x53;
    b->addr_sec = 0x54;
    b->shift_stat = 5;
}

void atia3_m1535d(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6E;
    b->addr_chk_l = 0x6F;
    b->addr_stat = 0x39;
    b->addr_day = 0x3A;
    b->addr_hour = 0x3B;
    b->addr_min = 0x3C;
    b->addr_sec = 0x3D;
    b->shift_stat = 3;
}

void asus_p5ad2(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0xA2;
    b->addr_day = 0xA2;
    b->addr_hour = 0xA3;
    b->addr_min = 0xA4;
    b->addr_sec = 0xA5;
    b->shift_stat = 2;
    b->shift_day = 3;
    b->upper_method = INTEL;
}

void asus_p5ad2_e(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0xA0;
    b->addr_day = 0xA1;
    b->addr_hour = 0xA2;
    b->addr_min = 0xA3;
    b->addr_sec = 0xA4;
    b->shift_stat = 4;
    b->upper_method = INTEL;
}

void asus_p5p800s(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x9F;
    b->addr_day = 0x9F;
    b->addr_hour = 0xA0;
    b->addr_min = 0xA1;
    b->addr_sec = 0xA2;
    b->shift_stat = 1;
    b->shift_day = 2;
    b->upper_method = INTEL;
}

void asus_p5p800s_2(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x9F;
    b->addr_day = 0xA0;
    b->addr_hour = 0xA1;
    b->addr_min = 0xA2;
    b->addr_sec = 0xA3;
    b->shift_stat = 4;
    b->upper_method = INTEL;
}

void msi_ms_6567(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x56;
    b->addr_day = 0x57;
    b->addr_hour = 0x58;
    b->addr_min = 0x59;
    b->addr_sec = 0x5A;
    b->shift_stat = 4;
    b->rtc_time = ON;
    b->rtc_day = 0x70;
    b->reset_day = ON;
}

void asus_a8n_vm_csm(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0xCB;
    b->addr_day = 0x62;
    b->addr_hour = 0x63;
    b->addr_min = 0x57;
    b->addr_sec = 0x58;
    b->shift_stat = 4;
    b->upper_method = VT82Cxxx;
}

void asus_a8r_mvp(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0xCE;
    b->addr_day = 0x5B;
    b->addr_hour = 0x5C;
    b->addr_min = 0x66;
    b->addr_sec = 0x67;
    b->shift_stat = 5;
    b->upper_method = VT82Cxxx;
}

void asus_k8n_e_dlx(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x8D;
    b->addr_day = 0x8E;
    b->addr_hour = 0x8F;
    b->addr_min = 0x90;
    b->addr_sec = 0x91;
    b->shift_stat = 4;
    b->upper_method = VT82Cxxx;
}

void infowriter_0001(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0xDE;
    b->addr_chk_l = 0xDF;
    b->addr_stat = 0xD2;
    b->addr_day = 0xD8;
    b->addr_hour = 0xD9;
    b->addr_min = 0xDA;
    b->addr_sec = 0xDB;
    b->shift_stat = 5;
    b->upper_method = VT8235_37;
}

void infowriter_0002(struct biosinfo *b)
{
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x4A;
    b->addr_day = 0x4C;
    b->addr_hour = 0x4D;
    b->addr_min = 0x4E;
    b->addr_sec = 0x4F;
    b->shift_stat = 3;
}

void infowriter_0003(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x42;
    b->addr_day = 0x48;
    b->addr_hour = 0x49;
    b->addr_min = 0x4A;
    b->addr_sec = 0x4B;
    b->shift_stat = 3;
}

void infowriter_0004(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_stat = 0x46;
    b->addr_day = 0x47;
    b->addr_hour = 0x48;
    b->addr_min = 0x49;
}

void infowriter_0005(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x31;
    b->addr_day = 0x45;
    b->addr_hour = 0x46;
    b->addr_min = 0x3E;
    b->addr_sec = 0x3F;
    b->shift_stat = 4;
    b->shift_sec = 2;
}

void infowriter_0006(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x5D;
    b->addr_day = 0x5D;
    b->addr_hour = 0x5E;
    b->addr_min = 0x5F;
    b->addr_sec = 0x60;
    b->shift_day = 1;
}

void infowriter_0007(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0xBE;
    b->addr_day = 0x90;
    b->addr_hour = 0x91;
    b->addr_min = 0x61;
    b->addr_sec = 0x6D;
    b->shift_min = 1;
    b->upper_method = INTEL;
}

void infowriter_0008(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0xA8;
    b->addr_day = 0x5F;
    b->addr_hour = 0x60;
    b->addr_min = 0x5B;
    b->addr_sec = 0x5C;
    b->shift_stat = 1;
    b->shift_hour = 1;
    b->upper_method = VT82Cxxx;
}

void infowriter_0009(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x59;
    b->addr_day = 0x5A;
    b->addr_hour = 0x5B;
    b->addr_min = 0x5C;
    b->addr_sec = 0x5D;
    b->shift_stat = 4;
}

void infowriter_0010(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0xDD;
    b->addr_day = 0x8B;
    b->addr_hour = 0x8C;
    b->addr_min = 0x61;
    b->addr_sec = 0x6B;
    b->shift_stat = 5;
    b->shift_min = 1;
    b->upper_method = INTEL;
}

void infowriter_0011(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x9A;
    b->addr_day = 0x5E;
    b->addr_hour = 0x5F;
    b->addr_min = 0x51;
    b->addr_sec = 0x5B;
    b->shift_stat = 7;
    b->upper_method = VT82Cxxx;
}

void infowriter_0012(struct biosinfo *b)
{
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x4A;
    b->addr_day = 0x4C;
    b->addr_hour = 0x4D;
    b->addr_min = 0x4E;
    b->addr_sec = 0x4F;
    b->shift_stat = 3;
}

void infowriter_0013(struct biosinfo *b)
{
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x4A;
    b->addr_day = 0x4C;
    b->addr_hour = 0x4D;
    b->addr_min = 0x4E;
    b->addr_sec = 0x4F;
    b->shift_stat = 3;
}

void infowriter_0014(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0xFA;
    b->addr_day = 0x96;
    b->addr_hour = 0x97;
    b->addr_min = 0x94;
    b->addr_sec = 0x95;
    b->shift_stat = 2;
    b->upper_method = VT8235_37;
}

void infowriter_0015(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0xFD;
    b->addr_day = 0x98;
    b->addr_hour = 0x99;
    b->addr_min = 0x96;
    b->addr_sec = 0x97;
    b->shift_stat = 5;
    b->upper_method = VT8235_37;
}

void infowriter_0016(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x50;
    b->addr_day = 0x51;
    b->addr_hour = 0x52;
    b->addr_min = 0x53;
    b->addr_sec = 0x54;
    b->shift_stat = 7;
    b->shift_day = 3;
    b->rtc_time = ON;
    b->rtc_day = 0x70;
    b->reset_day = ON;
}

void infowriter_0017(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0xFB;
    b->addr_day = 0x96;
    b->addr_hour = 0x97;
    b->addr_min = 0x61;
    b->addr_sec = 0x95;
    b->shift_stat = 3;
    b->shift_min = 1;
    b->upper_method = VT8235_37;
}

void infowriter_0018(struct biosinfo *b)
{
    b->addr_chk_h = 0x6E;
    b->addr_chk_l = 0x6F;
    b->addr_stat = 0x70;
    b->addr_day = 0x47;
    b->addr_hour = 0x48;
    b->addr_min = 0x49;
    b->addr_sec = 0x4A;
    b->shift_stat = 2;
}

void infowriter_0019(struct biosinfo *b)
{
    b->addr_chk_h = 0xDE;
    b->addr_chk_l = 0xDF;
    b->addr_stat = 0xD2;
    b->addr_day = 0xD8;
    b->addr_hour = 0xD9;
    b->addr_min = 0xDA;
    b->addr_sec = 0xDB;
    b->shift_stat = 5;
    b->upper_method = VT8235_37;
}

void infowriter_0020(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0xB5;
    b->addr_day = 0xB5;
    b->addr_hour = 0xB6;
    b->addr_min = 0xB7;
    b->addr_sec = 0xB8;
    b->shift_day = 1;
    b->upper_method = INTEL;
}

void infowriter_0021(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0xA5;
    b->addr_day = 0x50;
    b->addr_hour = 0x51;
    b->addr_min = 0x41;
    b->addr_sec = 0x42;
    b->shift_stat = 2;
    b->shift_min = 2;
    b->shift_sec = 1;
    b->upper_method = VT82Cxxx;
}

void infowriter_0022(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0xA5;
    b->addr_day = 0x50;
    b->addr_hour = 0x51;
    b->addr_min = 0x41;
    b->addr_sec = 0x42;
    b->shift_stat = 2;
    b->shift_min = 2;
    b->shift_sec = 1;
    b->upper_method = VT82Cxxx;
}

void infowriter_0023(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0xB1;
    b->addr_day = 0x41;
    b->addr_hour = 0x44;
    b->addr_min = 0x2F;
    b->addr_sec = 0x3E;
    b->shift_stat = 7;
    b->shift_hour = 2;
    b->shift_sec = 1;
    b->upper_method = INTEL;
}

void infowriter_0024(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0x5E;
    b->addr_day = 0x62;
    b->addr_hour = 0x64;
    b->addr_min = 0x5D;
    b->addr_sec = 0x5E;
    b->shift_stat = 6;
    b->shift_hour = 1;
}

void infowriter_0025(struct biosinfo *b)
{
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x43;
    b->addr_day = 0x4C;
    b->addr_hour = 0x4D;
    b->addr_min = 0x4E;
    b->addr_sec = 0x4F;
    b->shift_stat = 5;
}

void infowriter_0026(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0xA9;
    b->addr_day = 0x5F;
    b->addr_hour = 0x60;
    b->addr_min = 0x42;
    b->addr_sec = 0x51;
    b->shift_stat = 2;
    b->shift_min = 2;
    b->upper_method = VT82Cxxx;
}

void infowriter_0027(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0xF6;
    b->addr_day = 0x8D;
    b->addr_hour = 0x8E;
    b->addr_min = 0x81;
    b->addr_sec = 0x82;
    b->shift_stat = 5;
    b->rtc_day = 0x7F;
    b->upper_method = VT82Cxxx;
}

void infowriter_0028(struct biosinfo *b)
{
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x4A;
    b->addr_day = 0x4C;
    b->addr_hour = 0x4D;
    b->addr_min = 0x4E;
    b->addr_sec = 0x4F;
    b->shift_stat = 3;
}

void infowriter_0029(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x43;
    b->addr_day = 0x4C;
    b->addr_hour = 0x4D;
    b->addr_min = 0x4E;
    b->addr_sec = 0x4F;
    b->shift_stat = 5;
    b->upper_method = VT82Cxxx;
}

void infowriter_0030(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x43;
    b->addr_day = 0x4C;
    b->addr_hour = 0x4D;
    b->addr_min = 0x4E;
    b->addr_sec = 0x4F;
    b->shift_stat = 5;
    b->upper_method = VT82Cxxx;
}

void infowriter_0031(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0xE4;
    b->addr_day = 0x8A;
    b->addr_hour = 0x8B;
    b->addr_min = 0x85;
    b->addr_sec = 0x86;
    b->shift_stat = 3;
    b->upper_method = INTEL;
}

void infowriter_0032(struct biosinfo *b)
{
    b->addr_chk_h = 0x6F;
    b->addr_chk_l = 0x70;
    b->addr_stat = 0x46;
    b->addr_day = 0x47;
    b->addr_hour = 0x48;
    b->addr_min = 0x49;
    b->addr_sec = 0x4A;
    b->upper_method = INTEL;
}

void infowriter_0033(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0xBF;
    b->addr_day = 0x89;
    b->addr_hour = 0x8A;
    b->addr_min = 0x5A;
    b->addr_sec = 0x5B;
    b->shift_stat = 4;
    b->upper_method = INTEL;
}

void infowriter_0034(struct biosinfo *b)
{
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x43;
    b->addr_day = 0x48;
    b->addr_hour = 0x49;
    b->addr_min = 0x4A;
    b->shift_stat = 5;
}

void infowriter_0035(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0xE1;
    b->addr_day = 0x81;
    b->addr_hour = 0x82;
    b->addr_min = 0x6E;
    b->addr_sec = 0x6F;
    b->shift_stat = 3;
    b->upper_method = INTEL;
}

void infowriter_0036(struct biosinfo *b)
{
    b->addr_chk_h = 0x4B;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x46;
    b->addr_day = 0x48;
    b->addr_hour = 0x49;
    b->addr_min = 0x4A;
    b->shift_stat = 3;
}

void infowriter_0037(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0xBF;
    b->addr_day = 0x55;
    b->addr_hour = 0x56;
    b->addr_min = 0x4F;
    b->addr_sec = 0x50;
    b->shift_stat = 7;
    b->upper_method = INTEL;
}

void infowriter_0038(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0xA6;
    b->addr_day = 0x48;
    b->addr_hour = 0x51;
    b->addr_min = 0x41;
    b->addr_sec = 0x42;
    b->shift_stat = 4;
    b->shift_sec = 2;
    b->upper_method = VT82Cxxx;
}

void infowriter_0039(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0xA6;
    b->addr_day = 0x48;
    b->addr_hour = 0x51;
    b->addr_min = 0x41;
    b->addr_sec = 0x42;
    b->shift_stat = 5;
    b->shift_sec = 2;
    b->upper_method = VT82Cxxx;
}

void infowriter_0040(struct biosinfo *b)
{
    b->need_reboot = ON_ANY_CHANGE;
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0xB6;
    b->addr_day = 0x5F;
    b->addr_hour = 0x61;
    b->addr_min = 0x59;
    b->addr_sec = 0x5A;
    b->shift_stat = 7;
    b->upper_method = INTEL;
}

void infowriter_0041(struct biosinfo *b)
{
    b->addr_chk_h = 0x6D;
    b->addr_chk_l = 0x6E;
    b->addr_stat = 0x4A;
    b->addr_day = 0x4C;
    b->addr_hour = 0x4D;
    b->addr_min = 0x4E;
    b->shift_stat = 3;
    b->upper_method = VT82Cxxx;
}

void infowriter_0042(struct biosinfo *b)
{
    b->addr_chk_h = 0x30;
    b->addr_chk_l = 0x31;
    b->addr_stat = 0xC8;
    b->addr_day = 0x6C;
    b->addr_hour = 0x6D;
    b->addr_min = 0x5E;
    b->addr_sec = 0x5F;
    b->shift_stat = 4;
    b->upper_method = INTEL;
}

void infowriter_0043(struct biosinfo *b)
{
    b->addr_stat = 0xC8;
    b->addr_day = 0x4E;
    b->addr_hour = 0x4F;
    b->addr_min = 0x3E;
    b->addr_sec = 0x4D;
    b->shift_stat = 6;
    b->shift_min = 1;
    b->upper_method = INTEL;
}

void infowriter_0044(struct biosinfo *b)
{
    b->addr_chk_h = 0x75;
    b->addr_chk_l = 0x73;
    b->addr_stat = 0xD2;
    b->addr_day = 0xD8;
    b->addr_hour = 0xD9;
    b->addr_min = 0xDA;
    b->addr_sec = 0xDB;
    b->shift_stat = 5;
    b->upper_method = VT8235_37;
}
