require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&_M88K_FRAME_H_)) {
    eval 'sub _M88K_FRAME_H_ () {1;}' unless defined(&_M88K_FRAME_H_);
    require 'machine/reg.ph';
    eval 'sub tf_r () { ($tf_regs->{r});}' unless defined(&tf_r);
    eval 'sub tf_sp () { ($tf_regs->{r[31]});}' unless defined(&tf_sp);
    eval 'sub tf_epsr () { ($tf_regs->{epsr});}' unless defined(&tf_epsr);
    eval 'sub tf_fpsr () { ($tf_regs->{fpsr});}' unless defined(&tf_fpsr);
    eval 'sub tf_fpcr () { ($tf_regs->{fpcr});}' unless defined(&tf_fpcr);
    eval 'sub tf_sxip () { ($tf_regs->{sxip});}' unless defined(&tf_sxip);
    eval 'sub tf_snip () { ($tf_regs->{snip});}' unless defined(&tf_snip);
    eval 'sub tf_sfip () { ($tf_regs->{sfip});}' unless defined(&tf_sfip);
    eval 'sub tf_exip () { ($tf_regs->{sxip});}' unless defined(&tf_exip);
    eval 'sub tf_enip () { ($tf_regs->{snip});}' unless defined(&tf_enip);
    eval 'sub tf_ssbr () { ($tf_regs->{ssbr});}' unless defined(&tf_ssbr);
    eval 'sub tf_dmt0 () { ($tf_regs->{dmt0});}' unless defined(&tf_dmt0);
    eval 'sub tf_dmd0 () { ($tf_regs->{dmd0});}' unless defined(&tf_dmd0);
    eval 'sub tf_dma0 () { ($tf_regs->{dma0});}' unless defined(&tf_dma0);
    eval 'sub tf_dmt1 () { ($tf_regs->{dmt1});}' unless defined(&tf_dmt1);
    eval 'sub tf_dmd1 () { ($tf_regs->{dmd1});}' unless defined(&tf_dmd1);
    eval 'sub tf_dma1 () { ($tf_regs->{dma1});}' unless defined(&tf_dma1);
    eval 'sub tf_dmt2 () { ($tf_regs->{dmt2});}' unless defined(&tf_dmt2);
    eval 'sub tf_dmd2 () { ($tf_regs->{dmd2});}' unless defined(&tf_dmd2);
    eval 'sub tf_dma2 () { ($tf_regs->{dma2});}' unless defined(&tf_dma2);
    eval 'sub tf_duap () { ($tf_regs->{ssbr});}' unless defined(&tf_duap);
    eval 'sub tf_dsr () { ($tf_regs->{dmt0});}' unless defined(&tf_dsr);
    eval 'sub tf_dlar () { ($tf_regs->{dmd0});}' unless defined(&tf_dlar);
    eval 'sub tf_dpar () { ($tf_regs->{dma0});}' unless defined(&tf_dpar);
    eval 'sub tf_isr () { ($tf_regs->{dmt1});}' unless defined(&tf_isr);
    eval 'sub tf_ilar () { ($tf_regs->{dmd1});}' unless defined(&tf_ilar);
    eval 'sub tf_ipar () { ($tf_regs->{dma1});}' unless defined(&tf_ipar);
    eval 'sub tf_isap () { ($tf_regs->{dmt2});}' unless defined(&tf_isap);
    eval 'sub tf_dsap () { ($tf_regs->{dmd2});}' unless defined(&tf_dsap);
    eval 'sub tf_iuap () { ($tf_regs->{dma2});}' unless defined(&tf_iuap);
    eval 'sub tf_fpecr () { ($tf_regs->{fpecr});}' unless defined(&tf_fpecr);
    eval 'sub tf_fphs1 () { ($tf_regs->{fphs1});}' unless defined(&tf_fphs1);
    eval 'sub tf_fpls1 () { ($tf_regs->{fpls1});}' unless defined(&tf_fpls1);
    eval 'sub tf_fphs2 () { ($tf_regs->{fphs2});}' unless defined(&tf_fphs2);
    eval 'sub tf_fpls2 () { ($tf_regs->{fpls2});}' unless defined(&tf_fpls2);
    eval 'sub tf_fppt () { ($tf_regs->{fppt});}' unless defined(&tf_fppt);
    eval 'sub tf_fprh () { ($tf_regs->{fprh});}' unless defined(&tf_fprh);
    eval 'sub tf_fprl () { ($tf_regs->{fprl});}' unless defined(&tf_fprl);
    eval 'sub tf_fpit () { ($tf_regs->{fpit});}' unless defined(&tf_fpit);
}
1;
