require '_h2ph_pre.ph';

unless(defined(&OPTI_REG_INIT_CONTROL)) {
    sub OPTI_REG_INIT_CONTROL () {	0x40;}
}
unless(defined(&OPTI_INIT_CONTROL_MODE_PIO_0)) {
    sub OPTI_INIT_CONTROL_MODE_PIO_0 () {	0;}
}
unless(defined(&OPTI_INIT_CONTROL_MODE_PIO_1)) {
    sub OPTI_INIT_CONTROL_MODE_PIO_1 () {	2;}
}
unless(defined(&OPTI_INIT_CONTROL_MODE_PIO_2)) {
    sub OPTI_INIT_CONTROL_MODE_PIO_2 () {	1;}
}
unless(defined(&OPTI_INIT_CONTROL_MODE_PIO_3)) {
    sub OPTI_INIT_CONTROL_MODE_PIO_3 () {	3;}
}
unless(defined(&OPTI_INIT_CONTROL_ADDR_RELOC)) {
    sub OPTI_INIT_CONTROL_ADDR_RELOC () {	(1 << 2);}
}
unless(defined(&OPTI_INIT_CONTROL_CH2_ENABLE)) {
    sub OPTI_INIT_CONTROL_CH2_ENABLE () {	0;}
}
unless(defined(&OPTI_INIT_CONTROL_CH2_DISABLE)) {
    sub OPTI_INIT_CONTROL_CH2_DISABLE () {	(1 << 3);}
}
unless(defined(&OPTI_INIT_CONTROL_FIFO_16)) {
    sub OPTI_INIT_CONTROL_FIFO_16 () {	0;}
}
unless(defined(&OPTI_INIT_CONTROL_FIFO_32)) {
    sub OPTI_INIT_CONTROL_FIFO_32 () {	(1 << 5);}
}
unless(defined(&OPTI_INIT_CONTROL_FIFO_REQ_32)) {
    sub OPTI_INIT_CONTROL_FIFO_REQ_32 () {	0;}
}
unless(defined(&OPTI_INIT_CONTROL_FIFO_REQ_30)) {
    sub OPTI_INIT_CONTROL_FIFO_REQ_30 () {	(1 << 6);}
}
unless(defined(&OPTI_INIT_CONTROL_FIFO_REQ_28)) {
    sub OPTI_INIT_CONTROL_FIFO_REQ_28 () {	(2 << 6);}
}
unless(defined(&OPTI_INIT_CONTROL_FIFO_REQ_26)) {
    sub OPTI_INIT_CONTROL_FIFO_REQ_26 () {	(3 << 6);}
}
unless(defined(&OPTI_REG_ENH_FEAT)) {
    sub OPTI_REG_ENH_FEAT () {	0x42;}
}
unless(defined(&OPTI_ENH_FEAT_X111_ENABLE)) {
    sub OPTI_ENH_FEAT_X111_ENABLE () {	(1 << 1);}
}
unless(defined(&OPTI_ENH_FEAT_CONCURRENT_MAST)) {
    sub OPTI_ENH_FEAT_CONCURRENT_MAST () {	(1 << 2);}
}
unless(defined(&OPTI_ENH_FEAT_PCI_INVALIDATE)) {
    sub OPTI_ENH_FEAT_PCI_INVALIDATE () {	(1 << 3);}
}
unless(defined(&OPTI_ENH_FEAT_IDE_CONCUR)) {
    sub OPTI_ENH_FEAT_IDE_CONCUR () {	(1 << 4);}
}
unless(defined(&OPTI_ENH_FEAT_SLAVE_FIFO_ISA)) {
    sub OPTI_ENH_FEAT_SLAVE_FIFO_ISA () {	(1 << 5);}
}
unless(defined(&OPTI_REG_ENH_MODE)) {
    sub OPTI_REG_ENH_MODE () {	0x43;}
}
unless(defined(&OPTI_ENH_MODE_MASK)) {
    sub OPTI_ENH_MODE_MASK {
	local($c,$d) = @_;
	eval q((3 << ((($c) * 4) + (($d) * 2))));
    }
}
unless(defined(&OPTI_ENH_MODE_USE_TIMING)) {
    sub OPTI_ENH_MODE_USE_TIMING {
	local($c,$d) = @_;
	eval q(0);
    }
}
unless(defined(&OPTI_ENH_MODE)) {
    sub OPTI_ENH_MODE {
	local($c,$d,$m) = @_;
	eval q((($m) << ((($c) * 4) + (($d) * 2))));
    }
}
unless(defined(&OPTI_REG_READ_CYCLE_TIMING)) {
    sub OPTI_REG_READ_CYCLE_TIMING () {	0x00;}
}
unless(defined(&OPTI_REG_WRITE_CYCLE_TIMING)) {
    sub OPTI_REG_WRITE_CYCLE_TIMING () {	0x01;}
}
unless(defined(&OPTI_RECOVERY_TIME_SHIFT)) {
    sub OPTI_RECOVERY_TIME_SHIFT () {	0;}
}
unless(defined(&OPTI_PULSE_WIDTH_SHIFT)) {
    sub OPTI_PULSE_WIDTH_SHIFT () {	4;}
}
unless(defined(&OPTI_REG_CONTROL)) {
    sub OPTI_REG_CONTROL () {	0x03;}
}
unless(defined(&OPTI_CONTROL_DISABLE)) {
    sub OPTI_CONTROL_DISABLE () {	0x11;}
}
unless(defined(&OPTI_CONTROL_ENABLE)) {
    sub OPTI_CONTROL_ENABLE () {	0x95;}
}
unless(defined(&OPTI_REG_STRAP)) {
    sub OPTI_REG_STRAP () {	0x05;}
}
unless(defined(&OPTI_STRAP_PCI_SPEED_MASK)) {
    sub OPTI_STRAP_PCI_SPEED_MASK () {	0x1;}
}
unless(defined(&OPTI_STRAP_PCI_33)) {
    sub OPTI_STRAP_PCI_33 () {	0;}
}
unless(defined(&OPTI_STRAP_PCI_25)) {
    sub OPTI_STRAP_PCI_25 () {	1;}
}
unless(defined(&OPTI_REG_MISC)) {
    sub OPTI_REG_MISC () {	0x06;}
}
unless(defined(&OPTI_MISC_INDEX)) {
    sub OPTI_MISC_INDEX {
	local($d) = @_;
	eval q((($d)));
    }
}
unless(defined(&OPTI_MISC_INDEX_MASK)) {
    sub OPTI_MISC_INDEX_MASK () {	0x01;}
}
unless(defined(&OPTI_MISC_DELAY_MASK)) {
    sub OPTI_MISC_DELAY_MASK () {	0x07;}
}
unless(defined(&OPTI_MISC_DELAY_SHIFT)) {
    sub OPTI_MISC_DELAY_SHIFT () {	1;}
}
unless(defined(&OPTI_MISC_ADDR_SETUP_MASK)) {
    sub OPTI_MISC_ADDR_SETUP_MASK () {	0x3;}
}
unless(defined(&OPTI_MISC_ADDR_SETUP_SHIFT)) {
    sub OPTI_MISC_ADDR_SETUP_SHIFT () {	4;}
}
unless(defined(&OPTI_MISC_READ_PREFETCH_ENABLE)) {
    sub OPTI_MISC_READ_PREFETCH_ENABLE () {	(1 << 6);}
}
unless(defined(&OPTI_MISC_ADDR_SETUP_MASK)) {
    sub OPTI_MISC_ADDR_SETUP_MASK () {	0x3;}
}
unless(defined(&OPTI_MISC_WRITE_MASK)) {
    sub OPTI_MISC_WRITE_MASK () {	0x7f;}
}
1;
