require '_h2ph_pre.ph';

if((defined(&notyet) ? &notyet : 0) ) {
    require 'machine/cpuconf.ph';
}
require 'm68k/cacheops_20.ph';
require 'm68k/cacheops_30.ph';
require 'm68k/cacheops_40.ph';
require 'm68k/cacheops_60.ph';
if(defined( &M68020)  && !(defined( &M68030)||defined( &M68040)||defined( &M68060))) {
    eval 'sub TBIA () {
        eval q( &TBIA_20());
    }' unless defined(&TBIA);
    eval 'sub TBIS {
        local($va) = @_;
	    eval q( &TBIS_20(($va)));
    }' unless defined(&TBIS);
    eval 'sub TBIAS () {
        eval q( &TBIAS_20());
    }' unless defined(&TBIAS);
    eval 'sub TBIAU () {
        eval q( &TBIAU_20());
    }' unless defined(&TBIAU);
    eval 'sub ICIA () {
        eval q( &ICIA_20());
    }' unless defined(&ICIA);
    eval 'sub ICPA () {
        eval q( &ICPA_20());
    }' unless defined(&ICPA);
    eval 'sub DCIA () {
        eval q( &DCIA_20());
    }' unless defined(&DCIA);
    eval 'sub DCIS () {
        eval q( &DCIS_20());
    }' unless defined(&DCIS);
    eval 'sub DCIU () {
        eval q( &DCIU_20());
    }' unless defined(&DCIU);
    eval 'sub DCIAS () {
        eval q( &DCIAS_20());
    }' unless defined(&DCIAS);
    eval 'sub PCIA () {
        eval q( &PCIA_20());
    }' unless defined(&PCIA);
}
 elsif(defined( &M68030)  && !(defined( &M68020)||defined( &M68040)||defined( &M68060))) {
    eval 'sub TBIS {
        local($va) = @_;
	    eval q( &TBIS_30(($va)));
    }' unless defined(&TBIS);
    eval 'sub TBIAS () {
        eval q( &TBIAS_30());
    }' unless defined(&TBIAS);
    eval 'sub TBIAU () {
        eval q( &TBIAU_30());
    }' unless defined(&TBIAU);
    eval 'sub ICIA () {
        eval q( &ICIA_30());
    }' unless defined(&ICIA);
    eval 'sub ICPA () {
        eval q( &ICPA_30());
    }' unless defined(&ICPA);
    eval 'sub DCIA () {
        eval q( &DCIA_30());
    }' unless defined(&DCIA);
    eval 'sub DCIS () {
        eval q( &DCIS_30());
    }' unless defined(&DCIS);
    eval 'sub DCIU () {
        eval q( &DCIU_30());
    }' unless defined(&DCIU);
    eval 'sub DCIAS () {
        eval q( &DCIAS_30());
    }' unless defined(&DCIAS);
    eval 'sub PCIA () {
        eval q( &PCIA_30());
    }' unless defined(&PCIA);
}
 elsif(defined( &M68040)  && !(defined( &M68020)||defined( &M68030)||defined( &M68060))) {
    eval 'sub TBIA () {
        eval q( &TBIA_40());
    }' unless defined(&TBIA);
    eval 'sub TBIS {
        local($va) = @_;
	    eval q( &TBIS_40(($va)));
    }' unless defined(&TBIS);
    eval 'sub TBIAS () {
        eval q( &TBIAS_40());
    }' unless defined(&TBIAS);
    eval 'sub TBIAU () {
        eval q( &TBIAU_40());
    }' unless defined(&TBIAU);
    eval 'sub ICIA () {
        eval q( &ICIA_40());
    }' unless defined(&ICIA);
    eval 'sub ICPA () {
        eval q( &ICPA_40());
    }' unless defined(&ICPA);
    eval 'sub DCIA () {
        eval q( &DCIA_40());
    }' unless defined(&DCIA);
    eval 'sub DCIS () {
        eval q( &DCIS_40());
    }' unless defined(&DCIS);
    eval 'sub DCIU () {
        eval q( &DCIU_40());
    }' unless defined(&DCIU);
    eval 'sub DCIAS {
        local($va) = @_;
	    eval q( &DCIAS_40(($va)));
    }' unless defined(&DCIAS);
    eval 'sub PCIA () {
        eval q( &PCIA_40());
    }' unless defined(&PCIA);
    eval 'sub ICPL {
        local($va) = @_;
	    eval q( &ICPL_40(($va)));
    }' unless defined(&ICPL);
    eval 'sub ICPP {
        local($va) = @_;
	    eval q( &ICPP_40(($va)));
    }' unless defined(&ICPP);
    eval 'sub DCPL {
        local($va) = @_;
	    eval q( &DCPL_40(($va)));
    }' unless defined(&DCPL);
    eval 'sub DCPP {
        local($va) = @_;
	    eval q( &DCPP_40(($va)));
    }' unless defined(&DCPP);
    eval 'sub DCPA () {
        eval q( &DCPA_40());
    }' unless defined(&DCPA);
    eval 'sub DCFL {
        local($va) = @_;
	    eval q( &DCFL_40(($va)));
    }' unless defined(&DCFL);
    eval 'sub DCFP {
        local($va) = @_;
	    eval q( &DCFP_40(($va)));
    }' unless defined(&DCFP);
}
 elsif(defined( &M68060)  && !(defined( &M68020)||defined( &M68030)||defined( &M68040))) {
    eval 'sub TBIA () {
        eval q( &TBIA_60());
    }' unless defined(&TBIA);
    eval 'sub TBIS {
        local($va) = @_;
	    eval q( &TBIS_60(($va)));
    }' unless defined(&TBIS);
    eval 'sub TBIAS () {
        eval q( &TBIAS_60());
    }' unless defined(&TBIAS);
    eval 'sub TBIAU () {
        eval q( &TBIAU_60());
    }' unless defined(&TBIAU);
    eval 'sub ICIA () {
        eval q( &ICIA_60());
    }' unless defined(&ICIA);
    eval 'sub ICPA () {
        eval q( &ICPA_60());
    }' unless defined(&ICPA);
    eval 'sub DCIA () {
        eval q( &DCIA_60());
    }' unless defined(&DCIA);
    eval 'sub DCIS () {
        eval q( &DCIS_60());
    }' unless defined(&DCIS);
    eval 'sub DCIU () {
        eval q( &DCIU_60());
    }' unless defined(&DCIU);
    eval 'sub DCIAS {
        local($va) = @_;
	    eval q( &DCIAS_60(($va)));
    }' unless defined(&DCIAS);
    eval 'sub PCIA () {
        eval q( &PCIA_60());
    }' unless defined(&PCIA);
    eval 'sub ICPL {
        local($va) = @_;
	    eval q( &ICPL_60(($va)));
    }' unless defined(&ICPL);
    eval 'sub ICPP {
        local($va) = @_;
	    eval q( &ICPP_60(($va)));
    }' unless defined(&ICPP);
    eval 'sub DCPL {
        local($va) = @_;
	    eval q( &DCPL_60(($va)));
    }' unless defined(&DCPL);
    eval 'sub DCPP {
        local($va) = @_;
	    eval q( &DCPP_60(($va)));
    }' unless defined(&DCPP);
    eval 'sub DCPA () {
        eval q( &DCPA_60());
    }' unless defined(&DCPA);
    eval 'sub DCFL {
        local($va) = @_;
	    eval q( &DCFL_60(($va)));
    }' unless defined(&DCFL);
    eval 'sub DCFP {
        local($va) = @_;
	    eval q( &DCFP_60(($va)));
    }' unless defined(&DCFP);
} else {
    unless(defined(&_MULTI_CPU)) {
	eval 'sub _MULTI_CPU () {1;}' unless defined(&_MULTI_CPU);
    }
    eval 'sub TBIA () {
        eval q( &_TBIA());
    }' unless defined(&TBIA);
    eval 'sub TBIS {
        local($va) = @_;
	    eval q( &_TBIS(($va)));
    }' unless defined(&TBIS);
    eval 'sub TBIAS () {
        eval q( &_TBIAS());
    }' unless defined(&TBIAS);
    eval 'sub TBIAU () {
        eval q( &_TBIAU());
    }' unless defined(&TBIAU);
    eval 'sub ICIA () {
        eval q( &_ICIA());
    }' unless defined(&ICIA);
    eval 'sub ICPA () {
        eval q( &_ICPA());
    }' unless defined(&ICPA);
    eval 'sub DCIA () {
        eval q( &_DCIA());
    }' unless defined(&DCIA);
    eval 'sub DCIS () {
        eval q( &_DCIS());
    }' unless defined(&DCIS);
    eval 'sub DCIU () {
        eval q( &_DCIU());
    }' unless defined(&DCIU);
    eval 'sub DCIAS {
        local($va) = @_;
	    eval q( &_DCIAS(($va)));
    }' unless defined(&DCIAS);
    if(defined( &M68040)||defined( &M68060)) {
	eval 'sub PCIA () {
	    eval q( &_PCIA());
	}' unless defined(&PCIA);
	eval 'sub DCFA () {
	    eval q( &_DCFA());
	}' unless defined(&DCFA);
	eval 'sub ICPL {
	    local($va) = @_;
    	    eval q( &_ICPL(($va)));
	}' unless defined(&ICPL);
	eval 'sub ICPP {
	    local($va) = @_;
    	    eval q( &_ICPP(($va)));
	}' unless defined(&ICPP);
	eval 'sub DCPL {
	    local($va) = @_;
    	    eval q( &_DCPL(($va)));
	}' unless defined(&DCPL);
	eval 'sub DCPP {
	    local($va) = @_;
    	    eval q( &_DCPP(($va)));
	}' unless defined(&DCPP);
	eval 'sub DCPA () {
	    eval q( &_DCPA());
	}' unless defined(&DCPA);
	eval 'sub DCFL {
	    local($va) = @_;
    	    eval q( &_DCFL(($va)));
	}' unless defined(&DCFL);
	eval 'sub DCFP {
	    local($va) = @_;
    	    eval q( &_DCFP(($va)));
	}' unless defined(&DCFP);
    }
}
1;
