Mostrando entradas con la etiqueta velesoft. Mostrar todas las entradas
Mostrando entradas con la etiqueta velesoft. Mostrar todas las entradas

domingo, 10 de octubre de 2010

DATA-GEAR: Transferencias DMA en tu Spectrum

Data-Gear: A la izquierda el Z80, a la derecha el chip DMA
Uno de los problemas que tienen nuestros pequeños ordenadores es la velocidad del procesador cuando hay que mover "grandes" cantidades de datos por la RAM. Imaginad un juego con scroll parallax de varios planos en un Spectrum, cantidades ingentes de sprites en pantalla, niveles de profundidad con superposición de sprites, saltarnos la limitación de color de 8x8 y todo a 50 fps... Imposible, vamos, con el pobre Z80, que terminaría bien frito y sin conseguir el resultado deseado (ni de lejos).

Crear un scroll por software en máquinas como el Spectrum, que carecen de hardware específico para ello, requiere de un uso intensivo de CPU. Si la CPU está ocupada en esa tarea, pues otras cosas necesarias quedan pendientes de hacerse (mover sprites por pantalla, inteligencia artificial de personajes varios, reproducir música, leer las pulsaciones del teclado, etc) hasta que el scroll no se ha procesado.

Vista inferior: Conexión al zócalo del Z80
Todo se resume en que la copia de datos (en la pantalla en este caso, cerca de 7 Kbytes aproximadamente) tiene que hacerla el procesador (el Z80). Pero, ¿qué pasaría si hubiese un chip encargado de realizar todas esas operaciones mientra la CPU descansa plácidamente o se dedica a otras tareas más interesantes?.

Ampliación pinchada en un Spectrum
Las siglas D.M.A. en inglés significan (Direct Memory Access: Acceso Directo a Memoria). Esto significa, simplificando mucho, que en lugar de decirle al procesador que copie "x" datos de una zona de la memoria a otra, en su lugar se lo decimos a un chip específico para esa tarea (que además la realiza mucho más eficientemente que el procesador). Le indicamos al chip DMA que queremos copiar "x" bytes desde aquí hasta allí. El tiempo empleado para hacer esa copia es varias veces inferior al usado por la CPU, por lo que la ganancia en velocidad es notable (sin necesidad de usar un procesador más rápido).

Pero esto no se limita a copia de datos por la RAM. También es aplicable a los dispositivos que tiene el ordenador (por regla general). Enviar datos a gran velocidad al chip de sonido AY-8912, por ejemplo, para conseguir música sampleada de gran calidad sin necesidad de consumir recursos del procesador.

Velesoft, conscientes de ello y de las ventajas que puede dar un chip DMA, han creado una ampliación para Spectrum llamada DATA-GEAR. ¿Ventajas? Pues por ejemplo, con el chip DMA instalado en el Spectrum podemos transferir hasta 865 Kbytes en un segundo, osea, que podemos llenar la memoria de un modelo de 128 Kbytes casi 7 veces en el transcurso de un segundo. Y todo funcionando a la velocidad original de 3.5Mhz.

Imagen generada usando el chip DMA
La ampliación va pinchada en el zócalo del procesador del Spectrum y el procesador a su vez, en la propia ampliación, por lo que no es necesario modificar nada del equipo original, más que extraer la CPU, pincharla en la plaquita de la ampliación y todo el conjunto pinchado en el zócalo original del procesador.

Con tal carta de presentación, sólo queda que accedáis a la web y veáis muchísimos ejemplos y vídeos, para que comprobéis el funcionamiento de esta curiosa ampliación.


Un saludo.

sábado, 9 de octubre de 2010

TurboSound: Más música para tu Spectrum

Para los amantes del sonido chiptune y poseedores de un Spectrum, llega este interfaz. ¿Quieres tener 12 canales de sonido adicionales a los 3 canales AY de tu Spectrum o al beeper de tu 48K? Pues aquí tienes la solución: TurboSound-Easy.

Aspecto del último prototipo de la TurboSound
Se trata de una ampliación en desarrollo que incluye 2 chips de sonido AY-8912 (ambos programados en el interior de un FPGA, ¿os suena?) y un chip de sonido nativo SAA1099 (el mismo usado en los Sam Coupé). La suma de los 3 chips nos da un total de 12 canales de sonido para dar rienda suelta a nuestra pervertida imaginación.

Y todo de la mano de Velesoft, un grupo de personas que desarrollan hardware para Spectrum (y no es lo único interesante que tienen en catálogo, ya lo iréis descubriendo).

La TurboSound tiene varias versiones, cada una con capacidades sonoras distintas. Uno de esos modelos, incluye dos chips FM (¿recordáis como suena la Megadrive o las SoundBlaster de antaño?).

Versión más artesanal con 2 AY (6 canales de sonido)
En la web tienen todo lo necesario para que vosotros mismos podáis montaros una. Si bien la revisión que usa FPGA es algo menos accesible (por la necesidad de disponer un programador para el FPGA), tenemos a nuestra disposición esquemas del resto de revisiones, que son mucho más artesanales. El único problema es que la mayoría de la página está en checo.

También hay unos cuantos ejemplos en formato MP3 de como suena el invento por si tenéis curiosidad. Echadle un vistazo aquí: http://velesoft.speccy.cz/turbosound-cz.htm.

Saludos.