Blog | Archivo | Contacto | Administración |
Empezaré hablando del “Single Chip AVR BASIC Computer V0.3”; como su nombre indica, es un miniordenador construido en torno a un microcontrolador ATMEGA1284P. Él mismo genera la señal de vídeo y viene con un intérprete BASIC.
Hace poco me hice con un Everdrive N8 para mi Famicom. Un cacharro realmente interesante.
Hacía tiempo que quería echarle un ojo por dentro a la ROM del Spectrum Árabe. ¿Que qué es eso del Spectrum Árabe? Bueno, aquí podéis ver por ejemplo un Gris adaptado [http://k1.spdns.de/Vintage/Sinclair/86/ZX%20Spectrum%2B2%20(Arabic)/] y aquí un +2A [http://www.nightfallcrew.com/11/08/2013/restoration-and-repair-of-a-sinclair-spectrum-128k-2a-arabic-version/].
Aparentemente todas estas modificaciones se efectuaban sobre un modelo inglés al que se le dotaba de una nueva EPROM (con una nueva ROM para modo 48), un conmutador para intercambiarla (por la primera ROM, en todos los modelos) y nuevas pegatinas sobre las teclas.
¿Cuál es la legalidad exacta de estos engendros? En los mensajes de dicha ROM se menciona a Amstrad y Sinclair, así como a Matsico (o Matsiko) que supuestamente era un distribuidor oficial por aquellos lares. Y en todos los casos, el autor es un tal Dr. Nabil Nazmi y existieron al menos 3 versiones de la misma.
La ROM es una modificación de la de un Spectrum 48 KB, no tiene las rutinas de paginado ni los comandos PLAY o SPECTRUM. Tiene traducidos todos los tokens, mensajes de error, mensajes de cinta, scroll, ... y la fuente de caracteres. Tiene por tanto parcheadas las rutinas pertinentes, especialmente las de impresión en pantalla (¡va de derecha a izquierda!) y en especial las de impresión en la ZX-Printer que están rehechas.
Aprovecha la zona "sobrante" de la ROM original (rellena con $FF) para meter sus parches y algunos mensajes; eso puede crear algunas incompatibilidades con juegos que la usen como tabla para el modo de interrupciones 2.
Pero en cualquier caso, la ROM es válida para cualquier Spectrum. Una vez instalada en un modelo 128, en caso de arrancar con ella es equivalente a entrar directamente en modo 48 (pero sin activar el latch de paginación, es decir modo USR0).
Para los juegos que no usan la ROM para nada relacionado con la pantalla no hay diferencia alguna; pero para el resto el resultado puede ser... interesante.
Hace bastante tiempo decidí cambiar la infraestructura del blog: migrar el código de ASP a PHP y la BBDD de Access a MySQL. Por si acaso tuviese que migrar a otro servidor, ya que la mayoría de servidores gratuitos son LAMP.
La BBDD se migró de forma directa e hice una conversión del código casi línea por línea. El blog quedó exactamente igual por fuera, y con el mismo motor por dentro, aunque migrado.
Pero al final dejé todo como estaba, pues el servidor (Windows server, por si no había quedado claro) iba a mantenerse durante mucho tiempo y era casi dedicado.
Hace poco tiempo me encontré con que este servidor iba a perder su IP fija (y dejar de servir web y correo para el resto de cosas alojadas; sin embargo va a seguir en activo indefinidamente por otros motivos), así que me decidí de nuevo a mover el blog fuera, pero convirtiéndolo en algo más moderno, y sobre todo estándar: Wordpress.
No fue demasiado difícil: convertir la BBDD de Access a MySQL: un pequeño programa en PHP que la recorría y llamaba a las funciones pertinentes de Wordpress para postear un artículo o comentario (usando la misma BBDD), borrar las tablas primeras, y listo.
Pero al final lo dejé todo como estaba; le he puesto a este servidor un servicio de DDNS y arreglado. Supongo que el tener un servidor dedicado a coste nulo es algo interesante, o más bien que más vale malo conocido.
Esta historia comienza cuando en mi trabajo se decidieron a pedir, entre otras cosas, altavoces para algunos ordenadores. Eran unos Trust Mila.
Al igual que otras cosas de este pedido, así como del posterior que hicimos a dicha distribuidora, iba "con bicho". Teniendo en cuenta la gravedad de los hechos (como una placa de vídeo sin montar (suelta por dentro del ordenador), un ordenador con un RAID en el que no reconocía un disco duro, creo que os hacéis una idea del control de calidad de dicha empresa).
Y así fue que al enchufar los altavoces el pobre E. (debo decir que con mala suerte reconocida desde que le conozco) resulta que su ordenador se apagó, para nunca más volver encenderse. Cada intento resultó en tufo a quemado con humillo ocasional. Y es que la fuente dejó pasar el pico provocado por un corto en el USB, cepillándose el control de potencia integrado.
Si alguno se pregunta qué pasó con la placa, diré que nada. Trust lamentaba lo sucedido, pero nos remitía a gestionar tanto el cambio de los altavoces como una posible compensación a través de la distribuidora que lo compramos, como es lógico. Y los de MCR (huy, al final lo dije) se desentendieron del tema, ofreciendo únicamente el cambio por los altavoces.
Viendo por otro lado como gestionaron los otros problemas (desconocimiento de lo que es un corto, sujeción con cola caliente de los conectores de alimentación de los discos duros "para que no se muevan", montaje de nuevo de la gráfica en el ordenador sobre plástico de burbujas (¿alguien sabe lo que es la estática?) "para que no se raye", sin al menos una pulserita antiestática tomada a tierra, ...) no sé si salimos perdiendo o ganando.
Pero me estoy desviando; los altavoces: ¿qué les pasaba? Aparentemente provocaron el corto sin estar siquiera encendidos, así que como al final no se iba a hacer nada con ellos en el trabajo me los traje a casa para echarles un ojo.
Internamente no son gran cosa, algo que era más que de esperar por el precio de los mismos. De hecho, salvo detalles como la soldadura (que dejaba bastante que desear en algunos puntos), no localicé nada con mala pinta como otros dispositivos que he tenido el ¿placer? de destripar.
Afortunadamente, el cable USB se puede separar de la placa gracias a un conector molex, así como el cable de audio. Pude comprobar que no había corto entre +5V y masa tanto en el cable como en la placa. Así que me decidí a alimentar la placa de forma externa.
¡Funciona! Luego el problema está en el cable; pero si no tiene corto entre los dos pines de alimentación, ¿qué puede ser? Vamos a destripar el conector USB.
¿Veis ese pegote de estaño? Como veis encaja perfectamente en forma con el trozo de goma derretido que se quedó en el lado derecho de la foto del conector.
Pues resulta que estaba tocando mecánicamente (salió solo, no estaba soldado) la línea de +5V (cable rojo)… ¡y el apantallamiento metálico externo! El cual va conectado a masa en el interior del ordenador (aunque no de algunas fuentes de alimentación autónomas para móviles, etc.; quizás por eso escapó este hecho al control de calidad de Trust). Ahí tenemos el corto, y los altavoces funcionan perfectamente al tener quitado el pegotón.
¿Hubo final feliz? Algo así; le puse un conector nuevo, y ahora dichos altavoces son los que uso para reproducir la música AY / digitalizaciones DAC del clon de DK’tronics en mi PCW.
Ya que estaba le añadí un par de condensadores (en la entrada de la fuente y sobre el integrado) para filtrar un poco el ruido de la fuente. Tengo pendiente filtrar además la entrada del audio, y mejorar el aislamiento en salida del amplificador. En cualquier caso suenan mejor y tienen mucha mejor presencia que los que usaba antes, un detalle a tener en cuenta para exposiciones.
El Orel BK-08 es un clon ruso de Spectrum relativamente compatible y con algunas mejoras. Entre ellas una interfaz de joystick dual Sinclair / Kempston integrada, una memoria sombra bajo la ROM y una segunda ROM, con la posibilidad de conmutar todo esto por software (puerto 127). Tampoco tiene memoria contendida o el bug ULA - refresco Z80. Personalmente os recomiendo pinchar una ROM estándar en el segundo banco; de esta forma tendremos una mayor compatibilidad y un teclado que funciona normalmente.
Lo bueno es que hace tiempo conseguí uno de estos cacharros relativamente raros, con la caja original todavía precintada. Lo malo es que venía con bicho.
La segunda foto es una medida de la velocidad a la que está funcionando el Z80, tirando por lo bajo (superaba los 9 a veces). Se debía a un integrado estropeado y, desgraciadamente, esa sobre frecuencia hizo sufrir al resto de la circuitería.
Pero poco a poco fui apañándole, sacando imagen sin el papel del centro y luego con cosas hasta que logré el ansiado mensaje de bienvenida.
Ya terminaré lo que le queda cuando tenga un rato; el caso y motivo del post es que, ya que había entendido como funcionaba, tenía que emularlo:
El software específico funciona; que yo sepa son el programa de diagnósticos (Tst) y el desensamblador (MZ80, se aloja en la memoria sombra y se invoca mediante NMI) que acompañan a este ordenador y también un juego llamado Sea Fight. Curiosamente se adjunta además una demo en la cinta suministrada, pero ésta no hace uso de ninguna característica especial del ordenador.
Y ya que hay tan poco para este ordenador, decidí portarme el Shadow of the Unicorn aprovechando esa memoria sombra. Se podría aprovechar también para cargar los cartuchos de la interfaz II, emular ZX80 / ZX81 / Jupiter ACE, ponerle un CP/M, etc.
En cualquier caso, aquí os lo adjunto en formato tzx para vuestro uso y disfrute (?).
¡Muchas gracias, Jaime!
El otro día discutía con un amigo el papel de los emuladores en el tema de la preservación, y más concretamente en el de la divulgación de una plataforma. Y es que yo creo que los emuladores aumentan el contraste del conocimiento, haciendo lo popular aún más popular pero a costa de marginar más si cabe lo ya no tan conocido.
Por supuesto, también influye la naturaleza y uso de la propia máquina emulada, no es lo mismo en ese aspecto un emulador de Spectrum que un emulador de PDP-11. En el primer caso la orientación primaria es más bien lúdica (por mucho que le duela a Clive Sinclair) y por tanto se pueden sacrificar aspectos más profesionales, o bien con menos catálogo (pues es extensísimo). Mientras tanto, el segundo caso es justamente lo opuesto.
Ya que hemos hablado del Spectrum, usémoslo para fijar ideas (un mundillo más conocido que el del PDP-11). Veamos el tema almacenamiento... ¿Cuántos emuladores emulan la cinta? Prácticamente todos. ¿Soporte para la disquetera del +3? Muchos. ¿Y la Interface I? Ya no tantos. ¿Disciple? Hmmm... ¿Existe alguno que emule el disco Triton? Ninguno que yo sepa, y no estoy hablando de algo tan bizarro como el InvesDisk-200. De hecho, existió además para Commodore 64, MSX, Aquarius y Dragón.
Y aún digo más: si los rusos no hubiesen clonado la Beta 128 (aparte de hacer auténticas maravillas y en gran cantidad, por supuesto), hoy en día tampoco sería emulada y por lo tanto desconocida para la gran mayoría.
La prueba: incluso habiendo catálogos decentes de warez brasileño, sólo conozco un emulador (aparte de mis desarrollos internos) que emule sus sistemas de disco, clonados a partir de la Beta original. Y doy fe que cuesta muy poco emular la beta clásica a partir de la 128 (y viceversa).
Es una pena, pero hay más emuladores de LensLok (por ejemplo) a pesar de ser un simple accesorio y no haber sido usado más que en una docena de títulos; lo cual nos lleva de nuevo a lo dicho sobre la orientación lúdica de esta plataforma. Siguiendo el tema brasileño, tenemos el cartucho de demostración del TK-90x: no se puede emular como una ROM simple (Interface II) porque tiene un sistema de paginado, así que nadie se ha molestado en hacerlo funcionar en su forma original bajo un emulador.
Por otro lado, están los dispositivos olvidados por ser redundantes para un emulador. Por ejemplo, ¿alguien se acuerda de las interfaces de Joysticks programables? Algunas estaban realmente bien hechas, con su programación en caliente en la propia máquina y su propia ROM.
En su día hubo bastantes interfaces de estas de Investrónica (Inaxel) aquí en España, ¿dónde están ahora? Otra cosa que nadie emula, pero seguro que a alguien este pantallazo le traerá recuerdos.
Finalmente, otras herramientas para la difusión (como puedan ser las wikis) no muestran el funcionamiento de estas cosas. Todo esto se pierde y, como dije antes, es una pena.