Ingeniería Inversa del Bus Microcanal para el audio: Snark Barker MCA. La arquitectura Micro Canal (MCA) era un bus paralelo de 16 o 32 bits, desarrollada por los cráneos de IBM para reemplazar a la arquitectura estándar de interfases ISA. Pero si a esta ingeniería de placas de expansión la rascamos, le vemos la pintura... La realidad era más interesada: la habían desarrollado en una movida corporativa tendiente a forzar un estándar de facto en los buses de transmisión de datos. El fin: poder agarrar del cogote al mercado del hardware de PC con licencias de fabricación. La idea podía parecer buena para la empresa, pero el resultado fue un fracaso tanto desde lo técnico, mercadotécnico, económico, etc Y eso hace mucho más difíciles de conseguir plaquetas MCA en el mundo del hardware retro... El caso de la SoundBlaster MCA esto es paradigmático. A pesar de contar con el apoyo prácticamente irrestricto de IBM en el despliegue productivo, a los técnicos de Creatve les costó un huevo rastrear y resolver la parva de bugs que sacaban de ahí. Eran más caras que las convencionales y nunca recuperaron la inversión realizada. Después de ese tormentón y muchísimos años después de cesada la fabricación - con IBM fuera del mercado de los clones y Creative descolocada en el audio de PC - aparece el proyecto Snark Barker. Consiste en someter a la Sound Blaster 2.0 a un proceso de ingeniería inversa e "investigación". La idea es reimplementar su fabricación bajo un concepto de diseño de hardware abierto. Mal no fue, y eso llevó a la aparición de la SnarkBarker Pretty (SB Pro). De todas estas hijas putativas de SB, la más especial es la Snark Barker MCA, simplemente porque representa a la más difícil de las figuritas de Creative. https://github.com/schlae/snark-barker-mca Es un diseño nuevo que usa los chips Yamaha YM3812 que todavía dan vuelta, y un dump hexadecimal de la ROM de la SoundBlaster (aquel blob de firmware enmascarado y programado en el MC8051 que traían las SB para funcionar). En todas las Snark Barker uno puede usar un microcontrolador original ya programado metido un socket de 40x44 pines. Pero el proyecto está pensado mas que nada para reemplazar este microcontrolador Intel MC8051 clásico por un CLPD (dispositivo de lógica programable compleja). Se lo programa directamente con el dump, y el resto del código para el CLPD que contiene los pasos funcionales restantes. Estos son la puesta en marcha y selección programable, decodificación de direcciones del bus del Yamaha, estado de espera e interrupción del bus, acceso directo a memoria y su lógica de arbitrio, y la traducción a la especificación eléctrica del microcanal, etc, Para que no queden desnudas, el proyecto incluye los fuentes del 3D para imprimirse los clásicos brackets azules tipo mainframe que traían las plaquetotas MCA.