require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&OPL_L)) {
    sub OPL_L () {	0;}
}
unless(defined(&OPL_R)) {
    sub OPL_R () {	2;}
}
unless(defined(&OPL_STATUS)) {
    sub OPL_STATUS () {	0;}
}
unless(defined(&OPL_STATUS_IRQ)) {
    sub OPL_STATUS_IRQ () {	0x80;}
}
unless(defined(&OPL_STATUS_FT1)) {
    sub OPL_STATUS_FT1 () {	0x40;}
}
unless(defined(&OPL_STATUS_FT2)) {
    sub OPL_STATUS_FT2 () {	0x20;}
}
unless(defined(&OPL_STATUS_MASK)) {
    sub OPL_STATUS_MASK () {	0xe0;}
}
unless(defined(&OPL_ADDR)) {
    sub OPL_ADDR () {	0;}
}
unless(defined(&OPL_DATA)) {
    sub OPL_DATA () {	1;}
}
unless(defined(&OPL_TEST)) {
    sub OPL_TEST () {	0x1;}
}
unless(defined(&OPL_ENABLE_WAVE_SELECT)) {
    sub OPL_ENABLE_WAVE_SELECT () {	0x20;}
}
unless(defined(&OPL_TIMER1)) {
    sub OPL_TIMER1 () {	0x2;}
}
unless(defined(&OPL_TIMER2)) {
    sub OPL_TIMER2 () {	0x3;}
}
unless(defined(&OPL_TIMER_CONTROL)) {
    sub OPL_TIMER_CONTROL () {	0x4;}
}
unless(defined(&OPL_TIMER1_START)) {
    sub OPL_TIMER1_START () {	0x1;}
}
unless(defined(&OPL_TIMER2_START)) {
    sub OPL_TIMER2_START () {	0x2;}
}
unless(defined(&OPL_TIMER2_MASK)) {
    sub OPL_TIMER2_MASK () {	0x20;}
}
unless(defined(&OPL_TIMER1_MASK)) {
    sub OPL_TIMER1_MASK () {	0x40;}
}
unless(defined(&OPL_IRQ_RESET)) {
    sub OPL_IRQ_RESET () {	0x80;}
}
unless(defined(&OPL_CONNECTION_SELECT)) {
    sub OPL_CONNECTION_SELECT () {	0x4;}
}
unless(defined(&OPL_NOCONNECTION)) {
    sub OPL_NOCONNECTION () {	0x;}
}
unless(defined(&OPL_R_4OP_0)) {
    sub OPL_R_4OP_0 () {	0x1;}
}
unless(defined(&OPL_R_4OP_1)) {
    sub OPL_R_4OP_1 () {	0x2;}
}
unless(defined(&OPL_R_4OP_2)) {
    sub OPL_R_4OP_2 () {	0x4;}
}
unless(defined(&OPL_L_4OP_0)) {
    sub OPL_L_4OP_0 () {	0x8;}
}
unless(defined(&OPL_L_4OP_1)) {
    sub OPL_L_4OP_1 () {	0x10;}
}
unless(defined(&OPL_L_4OP_2)) {
    sub OPL_L_4OP_2 () {	0x20;}
}
unless(defined(&OPL_MODE)) {
    sub OPL_MODE () {	0x5;}
}
unless(defined(&OPL3_ENABLE)) {
    sub OPL3_ENABLE () {	0x1;}
}
unless(defined(&OPL4_ENABLE)) {
    sub OPL4_ENABLE () {	0x2;}
}
unless(defined(&OPL_KBD_SPLIT)) {
    sub OPL_KBD_SPLIT () {	0x8;}
}
unless(defined(&OPL_KEYBOARD_SPLIT)) {
    sub OPL_KEYBOARD_SPLIT () {	0x40;}
}
unless(defined(&OPL_COMPOSITE_SINE_WAVE_MODE)) {
    sub OPL_COMPOSITE_SINE_WAVE_MODE () {	0x80;}
}
unless(defined(&OPL_PERCUSSION)) {
    sub OPL_PERCUSSION () {	0xbd;}
}
unless(defined(&OPL_NOPERCUSSION)) {
    sub OPL_NOPERCUSSION () {	0x;}
}
unless(defined(&OPL_HIHAT)) {
    sub OPL_HIHAT () {	0x1;}
}
unless(defined(&OPL_CYMBAL)) {
    sub OPL_CYMBAL () {	0x2;}
}
unless(defined(&OPL_TOMTOM)) {
    sub OPL_TOMTOM () {	0x4;}
}
unless(defined(&OPL_SNAREDRUM)) {
    sub OPL_SNAREDRUM () {	0x8;}
}
unless(defined(&OPL_BASSDRUM)) {
    sub OPL_BASSDRUM () {	0x10;}
}
unless(defined(&OPL_PERCUSSION_ENABLE)) {
    sub OPL_PERCUSSION_ENABLE () {	0x20;}
}
unless(defined(&OPL_VIBRATO_DEPTH)) {
    sub OPL_VIBRATO_DEPTH () {	0x40;}
}
unless(defined(&OPL_TREMOLO_DEPTH)) {
    sub OPL_TREMOLO_DEPTH () {	0x80;}
}
unless(defined(&OPL_AM_VIB)) {
    sub OPL_AM_VIB () {	0x20;}
}
unless(defined(&OPL_KSR)) {
    sub OPL_KSR () {	0x10;}
}
unless(defined(&OPL_SUSTAIN)) {
    sub OPL_SUSTAIN () {	0x20;}
}
unless(defined(&OPL_VIBRATO)) {
    sub OPL_VIBRATO () {	0x40;}
}
unless(defined(&OPL_TREMOLO)) {
    sub OPL_TREMOLO () {	0x80;}
}
unless(defined(&OPL_MULTIPLE_MASK)) {
    sub OPL_MULTIPLE_MASK () {	0xf;}
}
unless(defined(&OPL_KSL_LEVEL)) {
    sub OPL_KSL_LEVEL () {	0x40;}
}
unless(defined(&OPL_KSL_MASK)) {
    sub OPL_KSL_MASK () {	0xc0;}
}
unless(defined(&OPL_TOTAL_LEVEL_MASK)) {
    sub OPL_TOTAL_LEVEL_MASK () {	0x3f;}
}
unless(defined(&OPL_ATTACK_DECAY)) {
    sub OPL_ATTACK_DECAY () {	0x60;}
}
unless(defined(&OPL_ATTACK_MASK)) {
    sub OPL_ATTACK_MASK () {	0xf0;}
}
unless(defined(&DECAY_MASK)) {
    sub DECAY_MASK () {	0xf;}
}
unless(defined(&OPL_SUSTAIN_RELEASE)) {
    sub OPL_SUSTAIN_RELEASE () {	0x80;}
}
unless(defined(&OPL_SUSTAIN_MASK)) {
    sub OPL_SUSTAIN_MASK () {	0xf0;}
}
unless(defined(&OPL_RELEASE_MASK)) {
    sub OPL_RELEASE_MASK () {	0xf;}
}
unless(defined(&OPL_WAVE_SELECT)) {
    sub OPL_WAVE_SELECT () {	0xe0;}
}
unless(defined(&OPL_MAXREG)) {
    sub OPL_MAXREG () {	0xf5;}
}
unless(defined(&OPL_FNUM_LOW)) {
    sub OPL_FNUM_LOW () {	0xa0;}
}
unless(defined(&OPL_KEYON_BLOCK)) {
    sub OPL_KEYON_BLOCK () {	0xb0;}
}
unless(defined(&OPL_KEYON_BIT)) {
    sub OPL_KEYON_BIT () {	0x20;}
}
unless(defined(&OPL_BLOCKNUM_MASK)) {
    sub OPL_BLOCKNUM_MASK () {	0x1c;}
}
unless(defined(&OPL_FNUM_HIGH_MASK)) {
    sub OPL_FNUM_HIGH_MASK () {	0x3;}
}
unless(defined(&OPL_FEEDBACK_CONNECTION)) {
    sub OPL_FEEDBACK_CONNECTION () {	0xc0;}
}
unless(defined(&OPL_FEEDBACK_MASK)) {
    sub OPL_FEEDBACK_MASK () {	0xe;}
}
unless(defined(&OPL_CONNECTION_BIT)) {
    sub OPL_CONNECTION_BIT () {	0x1;}
}
unless(defined(&OPL_STEREO_BITS)) {
    sub OPL_STEREO_BITS () {	0x30;}
}
unless(defined(&OPL_VOICE_TO_LEFT)) {
    sub OPL_VOICE_TO_LEFT () {	0x10;}
}
unless(defined(&OPL_VOICE_TO_RIGHT)) {
    sub OPL_VOICE_TO_RIGHT () {	0x20;}
}
unless(defined(&OPL2_NVOICE)) {
    sub OPL2_NVOICE () {	9;}
}
unless(defined(&OPL3_NVOICE)) {
    sub OPL3_NVOICE () {	18;}
}
1;
