Subject: Yamaha YMF724/754 PCI Audio driver
To: None <tech-kern@netbsd.org, current-users@netbsd.org>
From: MINOURA Makoto <minoura@netbsd.org>
List: tech-kern
Date: 03/17/2001 14:24:51
Hi.

Finally I could finish the driver and now available for test at
ftp://ftp.netbsd.org/pub/NetBSD/misc/minoura/ .
It was originally written by sakamoto, and debugged by Someya-san
<zb9y-smy@asahi-net.or.jp> and me.

ymf*	at pci? dev ? function ?	# Yamaha YMF7x4
audio* at ymf?
opl*	at ymf?
midi*	at opl?			# OPL FM synth
mpu*	at ymf?
midi*	at mpu?			# MPU 401

 - Tested on my 724F-based board by myself, and on 754
  by some testers.  All with NetBSD/i386.
 - Legacy OPL and MPU support exists for 724F and 754.
 - Both playback and record are supported for the native PCI
  audio block
 - Know problems: Lch/Rch balance is bad in some situation

The driver is required to contain the microcode for the DSP,
which is copyrighted by Yamaha.  I am now querying Yamaha
whether we can distribute the microcode embedded in the
driver.

The driver distributed above does NOT contain the
microcode.  To compile and use the driver, you have to
supply the microcode at sys/dev/microcode/ymf/ymf_hwmcode.h.

It can be retrieved from the Alsa server at
ftp://ftp.alsa-project.org/pub/manuals/yamaha/pci/724hwmcode.c

--- 724hwmcode.c	Sat Mar 17 14:04:30 2001
+++ ymf_hwmcode.h	Sat Mar 17 14:05:50 2001
@@ -1,10 +1 @@
-//=============================================================================
-// Copyright (c) 1997-1999	Yamaha Corporation.	All Rights Reserved.
-//
-//	Title:
-//		hwmcode.c
-//	Desc:
-//		micro-code for CTRL & DSP
-//=============================================================================
-#ifndef _HWMCODE_
-#define _HWMCODE_
+/*	$NetBSD$	*/
@@ -12 +3,8 @@
-static unsigned long int	DspInst[] = {
+/*
+ * micro-code for YMF724x/740/744/754 CTRL & DSP
+ */
+
+#ifndef _YMF_HWMCODE_H_
+#define _YMF_HWMCODE_H_
+
+static const u_int32_t ymf_dsp_mcode[] = {
@@ -23 +21 @@
-static unsigned long int	CntrlInst[] = {
+static const u_int32_t ymf_ds1_ctrl_mcode[] = {
@@ -794,9 +792 @@
-// --------------------------------------------
-//  DS-1E Controller InstructionRAM Code
-//	1999/06/21
-//	Buf441 slot is Enabled.
-// --------------------------------------------
-// 04/09 creat
-// 04/12  stop nise fix
-// 06/21 WorkingOff timming
-static unsigned long int	CntrlInst1E[] = {
+static const u_int32_t ymf_ds1e_ctrl_mcode[] = {
@@ -1573,3 +1563 @@
-#endif	//_HWMCODE_
-
-
+#endif /* _YMF_HWMCODE_H_ */


-- 
Minoura Makoto <minoura@netbsd.org>