¿Existe documentación para programar tarjetas de sonido Microsoft Windows Sound System?

Oct 09 2020

Estoy programando mi propio motor de mezcla de sonido y controladores para MS-DOS, pero no puedo encontrar documentación para programar tarjetas de sonido de interfaz de Microsoft Windows Sound System.

¿Había alguna documentación (oficial o no) para programar tarjetas de sonido Microsoft Windows Sound System?

Tengo las hojas de datos del chip AD1848 (K) y CS4231 (A) por sí mismas, pero son un poco obtusas. Preferiría algo un poco más orientado a objetivos que exhaustivo :)

Lo ideal es algo similar a la Guía de programación de hardware de la serie Creative Labs Sound Blaster y la Guía del programador AWE32 / EMU8000 , pero para WSS.

Podría mirar el código fuente de Allegro , SEAL o Housemarque / MIDAS , que son compatibles con WSS, pero quiero entender el código desde los primeros principios a nivel de puerto, no copiar a ciegas.

La única otra fuente de información que he visto proviene de un desglose componente por componente de la gama PC-98XX, en japonés .

-

Más información: En Microsoft OEM Briefing: Windows Into The Future , Microsoft da dos nombres a la documentación de WSS: Developers Assistance Kit y MS-DOS Developers Kit . Ambos se nombran en MSDN News 1993 Jan, que se puede leer en Microsoft Developer Network - Disco 4 - Verano 93 - que desafortunadamente no contiene los DAK en sí. :(

Respuestas

4 knol Oct 10 2020 at 05:50

La documentación de Microsoft más accesible relacionada con la escritura de un controlador (MS-DOS o de otro tipo) para el hardware basado en AD de Microsoft Windows Sound System es MSDN # 94396 Windows NT DDK 4.0 Workstation US (01/1997) en la carpeta /ddk/src/mmedia/sndsys/. Incluye un controlador de referencia completo para tarjetas basadas en AD1848, accediendo a los puertos directamente, como se esperaba. Está pensado como un ejemplo para escribir controladores multimedia en Windows NT, pero muestra el proceso de adquisición de la tarjeta y la salida inicial.


Microsoft publicó varios niveles de documentación y soporte para WSS en 1993, incluido al menos el Kit de desarrollo de controladores del sistema de sonido de Windows (DDK) (por $ 450) y el Kit de desarrolladores de MS-DOS .

El Dr. Dobbs llevó un anuncio para ellos y Microsoft lo incluyó en su historial, pero no he podido encontrar a ninguno de ellos. Sería ideal si el kit de MS-DOS contuviera un controlador preparado para MS-DOS comentado con un archivo Léame que indique ejemplos mínimos paso a paso para el inicio y la configuración, pero no lo sabremos hasta que se encuentre.

La captura de pantalla en la respuesta de Geo ... es del disco MSDN Library Archive 1997 , una gran interfaz de hipertexto estilo WinHelp con mucha información de programación y algunas notas de la versión, boletines ( como este que marca el lanzamiento del DDK ) y locos. A veces es completo, a veces no lo es. La captura de pantalla en sí muestra las notas de la versión del DDK de Windows Sound System versión 2.0 que acompañarían al DDK, pero desafortunadamente el DDK no está presente en el disco. Parte del documento es una lista de nombres de archivo del controlador de muestra que muestra su función, así que los busqué para ver si alguien había reflejado el DDK en Github o en otro lugar.

Descubrí que los nombres se reutilizan de un precursor del WSS DDK llamado Multimedia Device Development Kit (enlace a un espejo) que contiene el código fuente del controlador para Adlib y Sound Blaster (y sorprendentemente el Pioneer 4200 Videodisc Player) para Win 3.1.

Con el mismo método, encontré este documento de Introducción a los controladores multimedia que proviene del DDK de Windows NT, que indica que tiene controladores de muestra que incluyen el código fuente para Pro Audio Spectrum 16, Sound Blaster y Windows Sound System.

Como se ha vinculado anteriormente, los DDK de Windows NT son mucho más fáciles de encontrar y, de hecho, contienen controladores WSS para el códec AD1848, con notas y advertencias sobre cuándo utilizar los modos mejorados. Estoy revisando el resto del disco para ver si hay archivos de ayuda específicamente sobre la tarjeta, pero esto podría ser tan bueno como parece. Dudo que haya mucho más sobre esto en el manual (si hubiera uno).


Otras referencias:

  • Allegro . El conductor está ensrc/dos/wss.c
  • Housemarque Audio System / MIDAS Digital Audio System también conocido como HMQ Audio. Muchas revisiones: la última versión tiene controlador en formato src/midas/wss.asm.
  • Biblioteca de audio sintético SEAL . El conductor está ensrc/wssdrv.c

Fichas técnicas:

  • Dispositivos analógicos AD1848K
  • Analog Devices AD1845 ( AD1848 mejorado con modo adicional con frecuencias de muestreo más precisas)
  • Analog Devices AD1815 (Superset, que afirma ser compatible con WSS y Sound Blaster Pro de forma nativa)
  • Crystal Semiconductor CS4231 (compatible)
1 Geo... Oct 09 2020 at 19:08

En los días previos a que las interwebs fueran la suma de todo el conocimiento humano, Microsoft solía proporcionar documentación a los suscriptores de MSDN en divertidos discos de plástico, conocidos cariñosamente como "CD". Creo que en algún momento alrededor del 97 o 98 publicaron el "Archivo de la Biblioteca" como último, último hurra, por la documentación técnica obsoleta.

Según el pliegue:

Este CD de archivo de la biblioteca contiene contenido antiguo y estático tomado de la biblioteca normal de MSDN para brindarnos más espacio para contenido nuevo y actualizado. El CD Library Archive proporciona muestras, artículos técnicos, documentación, especificaciones, utilidades y más para el desarrollo basado en tecnologías anteriores a Windows 95.

Instalé la biblioteca en mi caja de Windows 98 e hice una búsqueda rápida, que resultó en lo siguiente:

Esto (para mí) parece la información que está buscando, puede intentar buscar en la red una ISO del Archivo de la biblioteca (la mía requiere mi antigua clave MSDN de 10 dígitos para instalar, por lo que hay otra barrera), o tal vez el DDK Los documentos están disponibles en algún lugar como PDF.

EDITAR

10 segundos después de publicar esto, hice un rápido google y derp, parece que el Archivo de Internet al rescate

CD-ROM del archivo de MSDN Library (1998)