diff options
| author | Jordan K. Hubbard <jkh@FreeBSD.org> | 1996-12-30 22:26:26 +0000 | 
|---|---|---|
| committer | Jordan K. Hubbard <jkh@FreeBSD.org> | 1996-12-30 22:26:26 +0000 | 
| commit | 08cd925b650058d7d0da644de39ee946698d442d (patch) | |
| tree | efd1622bced6f80578a3812176fe6ab017c98df1 | |
| parent | 218cd1c42d8b42584d70ea7e99f27879188c7ad7 (diff) | |
Notes
| -rw-r--r-- | sys/i386/isa/sound/mpu401.c | 30 | ||||
| -rw-r--r-- | sys/i386/isa/sound/opl3.c | 2 | ||||
| -rw-r--r-- | sys/i386/isa/sound/sound_config.h | 4 | 
3 files changed, 21 insertions, 15 deletions
diff --git a/sys/i386/isa/sound/mpu401.c b/sys/i386/isa/sound/mpu401.c index eaee157ebb2a..26ed9269a041 100644 --- a/sys/i386/isa/sound/mpu401.c +++ b/sys/i386/isa/sound/mpu401.c @@ -96,7 +96,7 @@ struct mpu_config  #define	OUTPUT_READY	0x40  #define	INPUT_AVAIL	0x80 -#define	MPU_ACK		0xF7 +#define	MPU_ACK		0xFE  #define	MPU_RESET	0xFF  #define	UART_MODE_ON	0x3F @@ -210,7 +210,7 @@ mpu_input_scanner (struct mpu_config *devc, unsigned char midic)  	      devc->m_state = ST_TIMED;  	    }  	  else -	    printk ("<MPU: Unknown event %02x> ", midic); +	    printk ("<MPU: Unknown event %#x> ", midic);  	}        break; @@ -257,7 +257,7 @@ mpu_input_scanner (struct mpu_config *devc, unsigned char midic)  		break;  	      default: -		printk ("Unknown MPU mark %02x\n", midic); +		printk ("Unknown MPU mark %#x\n", midic);  	      }  	  }  	else @@ -340,14 +340,14 @@ mpu_input_scanner (struct mpu_config *devc, unsigned char midic)  	  break;  	default: -	  printk ("unknown MIDI sysmsg %0x\n", midic); +	  printk ("unknown MIDI sysmsg %#x\n", midic);  	  devc->m_state = ST_INIT;  	}        break;      case ST_MTC:        devc->m_state = ST_INIT; -      printk ("MTC frame %x02\n", midic); +      printk ("MTC frame %#x\n", midic);        break;      case ST_SYSEX: @@ -357,7 +357,7 @@ mpu_input_scanner (struct mpu_config *devc, unsigned char midic)  	  devc->m_state = ST_INIT;  	}        else -	printk ("%02x ", midic); +	printk ("%#x ", midic);        break;      case ST_SONGPOS: @@ -579,7 +579,7 @@ mpu401_out (int dev, unsigned char midi_byte)    DISABLE_INTR (flags);    if (!output_ready (devc->base))      { -      printk ("MPU-401: Send data timeout\n"); +      printk ("MPU-401: Send data (%#x) timeout\n", midi_byte);        RESTORE_INTR (flags);        return 0;      } @@ -622,7 +622,7 @@ mpu401_command (int dev, mpu_command_rec * cmd)  retry:    if (timeout-- <= 0)      { -      printk ("MPU-401: Command (0x%x) timeout\n", (int) cmd->cmd); +      printk ("MPU-401: Command (%#x) timeout\n", (int) cmd->cmd);        return RET_ERROR (EIO);      } @@ -638,15 +638,21 @@ retry:    ok = 0;    for (timeout = 50000; timeout > 0 && !ok; timeout--)      if (input_avail (devc->base)) +      if (devc->opened && devc->mode == MODE_SYNTH)        {  	if (mpu_input_scanner (devc, read_data (devc->base)) == MPU_ACK)  	  ok = 1;        } +      else +	{ /* Device is not currently open. Use simplier method */ +	  if (read_data (devc->base) == MPU_ACK) +	    ok = 1; +	}    if (!ok)      {        RESTORE_INTR (flags); -      /*       printk ("MPU: No ACK to command (0x%x)\n", (int) cmd->cmd); */ +      /*       printk ("MPU: No ACK to command (%#x)\n", (int) cmd->cmd); */        return RET_ERROR (EIO);      } @@ -658,7 +664,7 @@ retry:  	if (!mpu401_out (dev, cmd->data[i]))  	  {  	    RESTORE_INTR (flags); -	    printk ("MPU: Command (0x%x), parm send failed.\n", (int) cmd->cmd); +	    printk ("MPU: Command (%#x), parm send failed.\n", (int) cmd->cmd);  	    return RET_ERROR (EIO);  	  }        } @@ -680,7 +686,7 @@ retry:  	if (!ok)  	  {  	    RESTORE_INTR (flags); -	    /* printk ("MPU: No response(%d) to command (0x%x)\n", i, (int) cmd->cmd); */ +	    /* printk ("MPU: No response(%d) to command (%#x)\n", i, (int) cmd->cmd); */  	    return RET_ERROR (EIO);  	  }        } @@ -1037,7 +1043,7 @@ attach_mpu401 (long mem_start, struct address_info *hw_config)    devc->m_state = ST_INIT;    devc->shared_irq = hw_config->always_detect; -  if (!hw_config->always_detect) +  if (hw_config->always_detect)      {        /* Verify the hardware again */        if (!reset_mpu401 (devc)) diff --git a/sys/i386/isa/sound/opl3.c b/sys/i386/isa/sound/opl3.c index 42379cd32c47..30d13a73d73b 100644 --- a/sys/i386/isa/sound/opl3.c +++ b/sys/i386/isa/sound/opl3.c @@ -1102,7 +1102,7 @@ opl3_bender (int dev, int voice, int value)    if (voice < 0 || voice >= nr_voices)      return; -  bend_pitch (dev, voice, value); +  bend_pitch (dev, voice, value - 8192);  }  static int diff --git a/sys/i386/isa/sound/sound_config.h b/sys/i386/isa/sound/sound_config.h index 564982071278..938495f8559f 100644 --- a/sys/i386/isa/sound/sound_config.h +++ b/sys/i386/isa/sound/sound_config.h @@ -90,7 +90,7 @@ If your card has nonstandard I/O address or IRQ number, change defines  #ifdef PC98  #define SBC_IRQ		10	/* IQR10 is not the factory default on PC9821.	 */  #else -#define SBC_IRQ		7	/* IQR7 is the factory default.	 */ +#define SBC_IRQ		5	/* IQR5 is the factory default.	 */  #endif  #endif @@ -159,7 +159,7 @@ If your card has nonstandard I/O address or IRQ number, change defines  #endif  #ifndef MPU_IRQ -#define MPU_IRQ		6 +#define MPU_IRQ		9  #endif  /* Echo Personal Sound System */  | 
