require '_h2ph_pre.ph';

unless(defined(&NFORCE_CONF)) {
    sub NFORCE_CONF () {	0x50;}
}
unless(defined(&NFORCE_CHAN_EN)) {
    sub NFORCE_CHAN_EN {
	local($chan) = @_;
	eval q((0x1 << (1- ($chan))));
    }
}
unless(defined(&NFORCE_CONF_CABLE)) {
    sub NFORCE_CONF_CABLE {
	local($chan, $drive) = @_;
	eval q((0x10000 << (($chan) * 2+ ($drive))));
    }
}
unless(defined(&NFORCE_PIODMATIM)) {
    sub NFORCE_PIODMATIM () {	0x58;}
}
unless(defined(&NFORCE_PIODMATIM_MASK)) {
    sub NFORCE_PIODMATIM_MASK {
	local($chan) = @_;
	eval q((0xffff << ((1- ($chan)) * 16)));
    }
}
unless(defined(&NFORCE_PIODMATIM_SET)) {
    sub NFORCE_PIODMATIM_SET {
	local($chan, $drive, $x) = @_;
	eval q((($x) << ((3- (($chan) * 2+ ($drive))) * 8)));
    }
}
unless(defined(&NFORCE_PIOTIM)) {
    sub NFORCE_PIOTIM () {	0x5c;}
}
unless(defined(&NFORCE_UDMATIM)) {
    sub NFORCE_UDMATIM () {	0x60;}
}
unless(defined(&NFORCE_UDMATIM_MASK)) {
    sub NFORCE_UDMATIM_MASK {
	local($chan) = @_;
	eval q((0xffff << ((1- ($chan)) * 16)));
    }
}
unless(defined(&NFORCE_UDMATIM_SET)) {
    sub NFORCE_UDMATIM_SET {
	local($chan, $drive, $x) = @_;
	eval q((($x) << ((3- (($chan) * 2+ ($drive))) * 8)));
    }
}
unless(defined(&NFORCE_UDMA_EN)) {
    sub NFORCE_UDMA_EN {
	local($chan, $drive) = @_;
	eval q((0x40 << ((3- (($chan) * 2+ ($drive))) * 8)));
    }
}
unless(defined(&NFORCE_UDMA_ENM)) {
    sub NFORCE_UDMA_ENM {
	local($chan, $drive) = @_;
	eval q((0x80 << ((3- (($chan) * 2+ ($drive))) * 8)));
    }
}
1;
