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.