--- /usr/src/linux/config.in	Sun Nov 20 01:51:52 1994
+++ /usr/src/linux/config.in.m16	Wed Nov 23 13:50:33 1994
@@ -138,6 +138,9 @@
 
 bool 'Sony CDU31A/CDU33A CDROM driver support' CONFIG_CDU31A n
 bool 'Mitsumi CDROM driver support' CONFIG_MCD y
+if [ "$CONFIG_MCD" = "y" ]; then
+  bool 'Mitsumi on MED1600 init' CONFIG_M16_MITSUMI y
+fi
 bool 'Matsushita/Panasonic CDROM driver support' CONFIG_SBPCD n
 if [ "$CONFIG_SBPCD" = "y" ]; then
   bool 'Matsushita/Panasonic second CDROM controller support' CONFIG_SBPCD2 n
@@ -201,6 +204,7 @@
 
 comment 'Sound'
 
+bool 'MED1600 sound card preinit' CONFIG_M16_SB y
 bool 'Sound card support' CONFIG_SOUND y
 
 comment 'Kernel hacking'
--- /usr/src/linux/include/linux/mcd.h	Wed Nov 23 13:53:15 1994
+++ /usr/src/linux/include/linux/mcd.h.m16	Wed Nov 23 13:53:19 1994
@@ -22,7 +22,7 @@
  */
 
 /* *** change this to set the I/O port address */
-#define MCD_BASE_ADDR	        0x300
+#define MCD_BASE_ADDR	        0x340
 
 /* *** change this to set the interrupt number */
 #define MCD_INTR_NR		10
--- /usr/src/linux/drivers/block/mcd.c	Wed Nov 23 13:53:09 1994
+++ /usr/src/linux/drivers/block/mcd.c.m16	Wed Nov 23 13:56:58 1994
@@ -1099,6 +1099,36 @@
 	int count;
 	unsigned char result[3];
 
+#ifdef CONFIG_M16_MITSUMI
+/*
+ * if this is Mitsumi drive connected to ExpertMedia SoundBlaster 16 board,
+ * then tell the SB16 to init Mitsumi drive with Port=340, IRQ=10, No DMA
+ * this part done by Matija Nalis (mnalis@aixesa.srce.hr) for personal use.
+ * (if anybody have same problem, use this code freely....) 
+ */
+ 	int sb;
+
+ 	outb(0xE2, 0x0f8f);
+ 	sb=inb(0x0F8D) & 0xF1 | 0x04;
+ 	outb(0xE2, 0x0f8f);
+ 	outb(sb,0x0F8D); 			/* type MITSUMI */
+
+ 	outb(0xE2, 0x0f8f);
+ 	sb=inb(0x0F8E) & 0x3F;
+ 	outb(0xE2, 0x0f8f);
+ 	outb(sb,0x0F8E); 			/* port = 340 */
+
+ 	outb(0xE2, 0x0f8f);
+ 	sb=inb(0x0F8E) & 0xE3 | 0x14;
+ 	outb(0xE2, 0x0f8f);
+ 	outb(sb,0x0F8E); 			/* IRQ = 10 */
+
+ 	outb(0xE2, 0x0f8f);
+ 	sb=inb(0x0F8E) & 0xFC | 0x03;
+ 	outb(0xE2, 0x0f8f);
+ 	outb(sb,0x0F8E); 			/* God knows.... No DMA perheps ? */
+#endif	
+
 	if (mcd_port <= 0 || mcd_irq <= 0) {
 	  printk("skip mcd_init\n");
 	  return mem_start;
