require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&IO_ISABEGIN)) {
    eval 'sub IO_ISABEGIN () {0x;}' unless defined(&IO_ISABEGIN);
    eval 'sub IO_DMA1 () {0x;}' unless defined(&IO_DMA1);
    eval 'sub IO_ICU1 () {0x20;}' unless defined(&IO_ICU1);
    eval 'sub IO_PMP1 () {0x26;}' unless defined(&IO_PMP1);
    eval 'sub IO_TIMER1 () {0x40;}' unless defined(&IO_TIMER1);
    eval 'sub IO_TIMER2 () {0x48;}' unless defined(&IO_TIMER2);
    eval 'sub IO_KBD () {0x60;}' unless defined(&IO_KBD);
    eval 'sub IO_PPI () {0x61;}' unless defined(&IO_PPI);
    eval 'sub IO_RTC () {0x70;}' unless defined(&IO_RTC);
    eval 'sub IO_NMI () { &IO_RTC;}' unless defined(&IO_NMI);
    eval 'sub IO_DMAPG () {0x80;}' unless defined(&IO_DMAPG);
    eval 'sub IO_ICU2 () {0xa0;}' unless defined(&IO_ICU2);
    eval 'sub IO_DMA2 () {0xc0;}' unless defined(&IO_DMA2);
    eval 'sub IO_NPX () {0xf0;}' unless defined(&IO_NPX);
    eval 'sub IO_WD2 () {0x170;}' unless defined(&IO_WD2);
    eval 'sub IO_PMP2 () {0x178;}' unless defined(&IO_PMP2);
    eval 'sub IO_WD1 () {0x1f0;}' unless defined(&IO_WD1);
    eval 'sub IO_GAME () {0x200;}' unless defined(&IO_GAME);
    eval 'sub IO_BMS2 () {0x238;}' unless defined(&IO_BMS2);
    eval 'sub IO_BMS1 () {0x23c;}' unless defined(&IO_BMS1);
    eval 'sub IO_LPT2 () {0x278;}' unless defined(&IO_LPT2);
    eval 'sub IO_COM4 () {0x2e8;}' unless defined(&IO_COM4);
    eval 'sub IO_COM2 () {0x2f8;}' unless defined(&IO_COM2);
    eval 'sub IO_BT0 () {0x330;}' unless defined(&IO_BT0);
    eval 'sub IO_AHA0 () {0x330;}' unless defined(&IO_AHA0);
    eval 'sub IO_UHA0 () {0x330;}' unless defined(&IO_UHA0);
    eval 'sub IO_BT1 () {0x334;}' unless defined(&IO_BT1);
    eval 'sub IO_AHA1 () {0x334;}' unless defined(&IO_AHA1);
    eval 'sub IO_WDS () {0x350;}' unless defined(&IO_WDS);
    eval 'sub IO_FD2 () {0x370;}' unless defined(&IO_FD2);
    eval 'sub IO_LPT1 () {0x378;}' unless defined(&IO_LPT1);
    eval 'sub IO_MDA () {0x3b0;}' unless defined(&IO_MDA);
    eval 'sub IO_LPT3 () {0x3bc;}' unless defined(&IO_LPT3);
    eval 'sub IO_VGA () {0x3c0;}' unless defined(&IO_VGA);
    eval 'sub IO_CGA () {0x3d0;}' unless defined(&IO_CGA);
    eval 'sub IO_COM3 () {0x3e8;}' unless defined(&IO_COM3);
    eval 'sub IO_FD1 () {0x3f0;}' unless defined(&IO_FD1);
    eval 'sub IO_COM1 () {0x3f8;}' unless defined(&IO_COM1);
    eval 'sub IO_ISAEND () {0x3ff;}' unless defined(&IO_ISAEND);
}
unless(defined(&IO_ISASIZES)) {
    eval 'sub IO_ISASIZES () {1;}' unless defined(&IO_ISASIZES);
    eval 'sub IO_COMSIZE () {8;}' unless defined(&IO_COMSIZE);
    eval 'sub IO_CGASIZE () {16;}' unless defined(&IO_CGASIZE);
    eval 'sub IO_DMASIZE () {16;}' unless defined(&IO_DMASIZE);
    eval 'sub IO_DPGSIZE () {32;}' unless defined(&IO_DPGSIZE);
    eval 'sub IO_FDCSIZE () {8;}' unless defined(&IO_FDCSIZE);
    eval 'sub IO_WDCSIZE () {8;}' unless defined(&IO_WDCSIZE);
    eval 'sub IO_GAMSIZE () {16;}' unless defined(&IO_GAMSIZE);
    eval 'sub IO_ICUSIZE () {16;}' unless defined(&IO_ICUSIZE);
    eval 'sub IO_KBDSIZE () {16;}' unless defined(&IO_KBDSIZE);
    eval 'sub IO_LPTSIZE () {8;}' unless defined(&IO_LPTSIZE);
    eval 'sub IO_MDASIZE () {16;}' unless defined(&IO_MDASIZE);
    eval 'sub IO_RTCSIZE () {16;}' unless defined(&IO_RTCSIZE);
    eval 'sub IO_TMRSIZE () {16;}' unless defined(&IO_TMRSIZE);
    eval 'sub IO_NPXSIZE () {16;}' unless defined(&IO_NPXSIZE);
    eval 'sub IO_VGASIZE () {16;}' unless defined(&IO_VGASIZE);
    eval 'sub IO_PMPSIZE () {2;}' unless defined(&IO_PMPSIZE);
}
unless(defined(&IOM_BEGIN)) {
    eval 'sub IOM_BEGIN () {0xa0000;}' unless defined(&IOM_BEGIN);
    eval 'sub IOM_END () {0x100000;}' unless defined(&IOM_END);
    eval 'sub IOM_SIZE () {( &IOM_END -  &IOM_BEGIN);}' unless defined(&IOM_SIZE);
}
1;
