Sonido digital para Spectrum con plaquita interna muy barata

Si por algo se caracteriza el Spectrum es por su gran variedad de periféricos (clásicos y modernos)

Moderador: Sir Cilve Sinclair

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

Sonido digital para Spectrum con plaquita interna muy barata

Mensaje por mcleod_ideafix » Dom Sep 20, 2009 7:39 pm

Durante una pequeña "investigación" que reflejé en este post, y que usaré para una interfaz de sonido que aún está en el limbo del diseño, he redescubierto un viejo periférico del Spectrum que tuve la suerte de adquirir hace ya unos años: el SpecDrum.

Este es un periférico realmente simple: un sólo puerto de salida, el 223 (esto es, A5 bajo y el resto de bits del bus de direcciones en alto) gobierna un conversor digital-analógico de 8 bits. El valor que se escribe en ese puerto se convierte a un valor de tensión proporcional. Escribiendo valores con la suficiente rapidez tenemos sonido digital con calidad de 8 bits. No es un CD, pero mejora muchísimo cualquier otro invento que existe hasta ahora para la reproducción de samples digitales, y como podéis ver si seguis el hilo del post mencionado, hay otras tres aproximaciones para conseguir lo mismo: sonido a 2 bits, PWM y el truco de la envolvente del AY, aunque ni consiguen la misma calidad, ni son métodos tan rápidos como un simple OUT.

Pues la cosa es que he diseñado una plaquita realmente pequeña, que integra todo lo necesario para poder usar este periférico de sonido en cualquier Spectrum. Es lo suficientemente pequeña como para poder alojarse en el interior incluso de un 48K gomas. Al no tener conector de expansión puede ser usada no sólamente en el Spectrum, sino también en Amstrad, MSX, ZX81, y otros micros.

El esquemático es practicamente idéntico al que propuse en el hilo anterior. Para evitar conflictos con otros periféricos que usen un puerto con A5 bajo en escritura (por ejemplo, la interfaz ZXMMC) he optado por decodificar A5 bajo y A6 alto. Esto excluye el puerto 31 usado por dicha interfaz. Por ello, este esquema usa un decodificador BCD-decimal.

EDITO: he modificado el diseño para mejorar el volumen del sonido, y permitir calibrarlo con el volumen del resto de fuentes de audio del Spectrum. Debido a ello, la plaquita ahora mide 33x35mm. He actualizado el esquemático y el dibujo de la placa.

Imagen

Esta es la placa, aún sin los componentes montados. Mide 27mm x 35mm.
Imagen

Con los componentes montados, parece un "modchip" de los que se ponen en las consolas :D
Imagen

Cada cable va a una parte del Spectrum: se necesitan los 8 bits del bus de datos, dos señales del bus de direcciones: A5 y A6, la señal IORQ y la señal WR, y por supuesto, alimentación de 5V y masa. La plaquita ofrece una salida de sonido que puede mezclarse sin problemas con el audio del Spectrum, soldando el cable al lugar apropiado (que cambia con cada modelo de Spectrum). De esa forma, una vez montado dentro de la carcasa del ordenador, se integra perfectamente y no hace falta usar ningún conector extra de audio ni nada.

Imagen

Tengo que abrir el +2A que he usado como muestra para que se vea dónde va colocado. En general, lo más sencillo es soldar los cables al propio Z80, pero también se pueden soldar en la ROM, que tiene casi todos los pines necesarios, excepto IORQ y WR que habría que buscarlos en el propio Z80 o en otra parte de la placa. En el +2A por ejemplo he optado por soldar el bus de datos al propio del AY-8912 junto con alimentación y masa. El sonido lo mezclo con la salida del AY tras atravesar un condensador de 1uF, ya que en ese punto se mezclan todas las salidas de audio del +2A (el AY y la ULA).

AÑADIDO: un pequeño video del SpecDrum funcionando dentro de un +2E: http://www.youtube.com/watch?v=r4F92vBb_og

Aunque en el otro hilo lo digo, lo repito aquí: este periférico está emulado al menos en Spectaculator, que yo sepa, así que cualquiera puede trastear con él y ver qué puede hacerse con él.

Bueno, pues esta es la historia. No sé si habrá alguien interesado en querer un chisme de estos. Puedo hacer unos cuantos, ya que tuve que comprar más componentes de los que realmente se necesitan para un solo ejemplar, así que tengo de sobra para hacer al menos 8 o 9 "SpecDrum's". Calculando los costes, cada uno saldría por 10 euros, gastos de envío para España incluidos. Si alguien prefiere tenerlo montado en su Spectrum, el precio serían 20 euros, gastos de envío de vuelta del ordenador incluidos.
Última edición por mcleod_ideafix el Mar Sep 22, 2009 1:52 pm, editado 2 veces en total.
Web: ZX Projects | Twitter: @zxprojects

fulas
Jack The Nipper
Mensajes: 141
Registrado: Lun Jul 02, 2007 3:28 pm
Ubicación: En Tenerife.

Re: Sonido digital para Spectrum con plaquita interna muy barata

Mensaje por fulas » Dom Sep 20, 2009 11:35 pm

Marchando dos para Tenerife, exelente idea la de integrar la placa, asi nos ahorramos conectores de bus y por supuesto el tamaño de la placa que si que parece un modchip para videoconsola.Ya puestos un diseñito de un AY con la misma filosofia de integracion quedaria fantastico, ¿seria muy complicado simular el comprortamiento de el AY con nuevas tecnologias?














'
Hazlo, o no lo hagas, pero no lo intentes.

Avatar de Usuario
Rinconete
Jack The Nipper
Mensajes: 193
Registrado: Mar Oct 09, 2007 7:32 pm
Ubicación: Valladolid

Re: Sonido digital para Spectrum con plaquita interna muy barata

Mensaje por Rinconete » Lun Sep 21, 2009 7:45 pm

Qué chulada, me apuntaría a probarlo aunque ahora estoy liado. Mmm, el sonido sale por el altavoz del Spectrum, ¿también en el specDrum original? ¿al mezclarse las señales en el mismo punto, se puede conseguir algún efecto "adicional" escribiendo en los dos puertos?

Jose Manuel
Sabreman
Mensajes: 459
Registrado: Mar Abr 17, 2007 1:25 pm
Ubicación: Madrid
Contactar:

Re: Sonido digital para Spectrum con plaquita interna muy barata

Mensaje por Jose Manuel » Lun Sep 21, 2009 10:55 pm

mcleod_ideafix escribió:Bueno, pues esta es la historia. No sé si habrá alguien interesado en querer un chisme de estos.


Buenas, yo estoy interesado en uno, te envío un privado.

Saludos, J.M:
El Trastero del Spectrum
http://trastero.speccy.org/

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

Re: Sonido digital para Spectrum con plaquita interna muy barata

Mensaje por mcleod_ideafix » Mar Sep 22, 2009 12:18 am

Rinconete escribió:Mmm, el sonido sale por el altavoz del Spectrum, ¿también en el specDrum original?

No. En el SpecDrum original el sonido sale por un conector aparte que se enchufaría a un amplificador. En el software del SpecDrum original la salida EAR/MIC se usa para sincornizar el SpecDrum con un equipo MIDI externo (el software envía un TIC a modo de metrónomo). En el +2A ese tick es audible, así que lo que he hecho es modificar el software del SpecDrum para que no emita esa señal.

Rinconete escribió:¿al mezclarse las señales en el mismo punto, se puede conseguir algún efecto "adicional" escribiendo en los dos puertos?

Pues en principio algo podrías conseguir, pero date cuenta que usar el SpecDrum es como usar el altavoz interno: si quieres un sonido contínuo tienes que enviar muestras continuamente, y en el caso del altavoz interno sólo puedes enviar dos niveles, así que dudo que se consiga algo práctico. Otra cosa es mezclar el sonido del SpecDrum con el sonido del AY-8912. Ahí sí que puedes conseguir cosas muy interesantes, tales como añadir un par de canales con samples digitales a los 3 canales del AY, para por ejemplo emular, o incluso sobrepasar a otros chips de sonido como el SID.
Web: ZX Projects | Twitter: @zxprojects

Gandulf
Nonamed
Mensajes: 1067
Registrado: Lun May 07, 2007 10:06 pm

Re: Sonido digital para Spectrum con plaquita interna muy barata

Mensaje por Gandulf » Mar Sep 22, 2009 11:35 am

Sacrilegio! El SID no es superable, ni siquiera igualable!! :P
Un saludo,

Gandulf

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

Re: Sonido digital para Spectrum con plaquita interna muy barata

Mensaje por mcleod_ideafix » Mar Sep 22, 2009 12:33 pm

Gandulf escribió:Sacrilegio! El SID no es superable, ni siquiera igualable!! :P

Completamente de acuerdo, pero es emulable :D
Web: ZX Projects | Twitter: @zxprojects

Avatar de Usuario
Rinconete
Jack The Nipper
Mensajes: 193
Registrado: Mar Oct 09, 2007 7:32 pm
Ubicación: Valladolid

Re: Sonido digital para Spectrum con plaquita interna muy barata

Mensaje por Rinconete » Mié Sep 23, 2009 10:43 am

mcleod-ideafix escribió:
Rinconete escribió:¿al mezclarse las señales en el mismo punto, se puede conseguir algún efecto "adicional" escribiendo en los dos puertos?

Pues en principio algo podrías conseguir, pero date cuenta que usar el SpecDrum es como usar el altavoz interno: si quieres un sonido contínuo tienes que enviar muestras continuamente, y en el caso del altavoz interno sólo puedes enviar dos niveles, así que dudo que se consiga algo práctico. Otra cosa es mezclar el sonido del SpecDrum con el sonido del AY-8912. Ahí sí que puedes conseguir cosas muy interesantes, tales como añadir un par de canales con samples digitales a los 3 canales del AY, para por ejemplo emular, o incluso sobrepasar a otros chips de sonido como el SID.


mmm, ¿se podría conseguir un control más fino del altavoz interno combinando la escritura en los dos puertos?

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

Re: Sonido digital para Spectrum con plaquita interna muy barata

Mensaje por mcleod_ideafix » Mié Sep 23, 2009 1:07 pm

Creo que sé por dónde vas. Tu idea es que se envíe un valor al SpecDrum para dejar constante la salida a una cierta tensión, y después usar el altavoz interno para subir y bajar alrededor de esa tensión "estática". No funcionaría, ya que el SpecDrum lleva un condensador a la salida para cortar cualquier componente continua, y esto es así porque de otra forma, la tensión que generara el SpecDrum entraría directamente a la ULA, haciéndola creer que siempre hay un "1" en la entrada EAR, imposibilitando la carga de ningún programa.

Lo que sí podrías conseguir es, quizás, un bit más de resolución en SpecDrum sumando a los 8 bits del mismo, el bit de resolución que da el altavoz interno: con SpecDrum tienes un cierto rango máximo y mínimo de volumen. Si metes un "1" en la salida de altavoz, ese nivel se suma al que venga del SpecDrum, permitiendo así un nuevo rango máximo y mínimo de volumen. A efectos prácticos, sin embargo, no creo que sea apreciable.
Web: ZX Projects | Twitter: @zxprojects

Avatar de Usuario
Rinconete
Jack The Nipper
Mensajes: 193
Registrado: Mar Oct 09, 2007 7:32 pm
Ubicación: Valladolid

Re: Sonido digital para Spectrum con plaquita interna muy barata

Mensaje por Rinconete » Mié Sep 23, 2009 2:59 pm

aaah, vale, sí, esa era la idea

roberto_valverde
Herbert
Mensajes: 52
Registrado: Dom Ago 31, 2008 12:21 pm
Ubicación: Algeciras, Cadiz

Re: Sonido digital para Spectrum con plaquita interna muy barata

Mensaje por roberto_valverde » Mié Sep 23, 2009 7:37 pm

Suena muy bien el demo del video, que por cierto el ultimo beet me ha recordado al intro de la serie "miami vice" :-)

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

Re: Sonido digital para Spectrum con plaquita interna muy barata

Mensaje por mcleod_ideafix » Mié Sep 23, 2009 8:35 pm

Gracias! Si tienes Spectaculator, u otro emulador que soporte SpecDrum, puedes oirlos tú mismo... o comprar una plaquita y escucharlo "de verdad" :D
Web: ZX Projects | Twitter: @zxprojects

Avatar de Usuario
capzo
Jack The Nipper
Mensajes: 101
Registrado: Lun Ago 17, 2009 5:18 pm

Re: Sonido digital para Spectrum con plaquita interna muy barata

Mensaje por capzo » Jue Sep 24, 2009 6:55 pm

uf, yo me apunto y creo que al menos un amigo mio tambien.

Avatar de Usuario
VELESOFT
Jack The Nipper
Mensajes: 135
Registrado: Dom Feb 01, 2009 9:21 am

Re: Sonido digital para Spectrum con plaquita interna muy barata

Mensaje por VELESOFT » Sab Sep 26, 2009 8:38 am

Exist any software support for SPECDRUM sound ? This interface is very old and limited with one 8bit D/A channel. Better idea is redesign this interface for compatibility with russian COVOX,STEREO COVOX or SOUNDRIVE:

http://translate.google.com/translate?u ... s&ie=UTF-8

COVOX and SOUNDRIVE can support also stereo sound and some games, demos, trackers and utilities support it.

http://translate.google.com/translate?h ... dac-cz.htm

Avatar de Usuario
zxbruno
Freddy Hardest
Mensajes: 586
Registrado: Dom Jun 03, 2007 3:28 am
Ubicación: Anaheim, California, USA

Re: Sonido digital para Spectrum con plaquita interna muy barata

Mensaje por zxbruno » Sab Sep 26, 2009 2:46 pm

@velesoft: They are aware of the existence of those interfaces, but the idea is to have something simple that is already supported in several emulators and is also easy to make. The SpecDrum isn't just a drum machine anymore. Thanks to McLeodIdeaFix we now know it has many other possibilities.

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 5 invitados