Archivo mensual: mayo 2014

Cartucho dual para Amstrad CPC+

El objetivo de esta entrada es modificar un cartucho de Amstrad CPC+ para que tenga dos sistemas o juegos seleccionables  mediante un conmutador. Es un montaje tremendamente sencillo, y lo único que vamos a necesitar será un cartucho que funcione, un zócalo de 32 patillas, una EPROM 27c2001, un conmutador (cuanto más pequeño, mejor), una resistencia de 10K ohm y algo de cable.

La teoría es meter una EPROM de 256k y usar un conmutador conectado a A17. De esta manera tendríamos la EPROM dividida en dos bancos de 128k, y según la posición del conmutador elegiremos un banco u otro.

Modificación del cartucho:

Primero abriremos el cartucho. El cartucho va cerrado a presión con cuatro pestañas en los laterales (marcadas en rojo), y es muy posible que cuando lo abramos hayamos roto alguna.

 photo Cartuchosinabrirconmarcas_zps2808b4a7.jpg

Una vez abierto el cartucho podremos ver la placa con su EPROM, su chip ACID y un montón de sitios marcados como LK. Los puentes LK conectan algunas patas a +5v y otras al bus de direcciones del cartucho, para poder seleccionar diferentes EPROMs. He marcado las ubicaciones de LK3 y LK4 en rojo y dos puntos interesantes en amarillo.

Placa cartucho (cara componentes) photo Placacartuchocaracomponentes_zps154ffb4d.jpg

El siguiente paso deberá ser configurar nuestro cartucho para que use EPROMs de 128k. Para ello, debemos comprobar todos los puentes LK con un multímetro. Lo que nos gustaría es que:

  • LK1 y LK6 tengan continuidad.
  • LK2, LK3, LK4 y LK5 no tengan continuidad.

Si el cartucho no cumple estas condiciones habría que unir LKs y cortar las pistas que nos molesten. Además de esto, nos interesan especialmente dos LKs: LK3 (que uniría el A17 con +5V) y LK4 (que la uniría con CA17).

Una vez hecho esto, procedemos a desoldar la EPROM original y quitar el estaño sobrante de LK3 y LK4 (marcados con rojo en la foto). Cuando hayamos terminado, soldamos el zócalo y ponemos la resistencia de 10K ohm en LK3.

 photo Placacartuchocarasoldadurasconmarcas_zps60621a8e.jpg

Ahora el conmutador. Soldamos dos cables a los terminales marcados con amarillo (uno es parte de LK4 y el otro va a masa), y los conectamos al conmutador. Con eso hacemos que si el conmutador está cerrado A17 vaya a masa (0 lógico, selección del banco BAJO) y que si está abierto haya +5V (1 lógico, selección del banco ALTO). Mi cartucho quedó así:

 photo Placamodificadayterminada_zps2c02ea21.jpg

Ahora hay un problema: la carcasa del cartucho no cierra porque la EPROM y el zócalo tienen demasiada altura, y además el conmutador no ayuda nada para que quepa. Así que recortamos la carcasa del cartucho según necesitemos. En mi caso, quedó de esta manera:

 photo Cartuchoterminado_zpsc2bc08fb.jpg

Y con esto el cartucho está terminado.

Grabación de la EPROM:

Aquí lo más difícil será elegir qué dos ROMs le metemos al cartucho… ¿dos sistemas? ¿un sistema y un juego? ¿dos juegos? ¿la ROM de diagnósticos y cualquier otra cosa? Si este tutorial os parece interesante o útil es porque ya tenéis decidido que váis a poner en el cartucho.

En mi caso he metido el sistema en castellano con PARADOS 1.1 en el banco bajo, y el sistema en castellano sin menú en el banco alto. La única limitación es que lo que metáis en el cartucho deben ser ROMs de 128k (algunos juegos como Pang eran de 512k). Para crear la ROM de 256k, solo tendréis que ejecutar el siguiente comando:

copy /b rom1.bin+rom2.bin rom256k.bin

Donde rom1.bin y rom2.bin serían las 2 ROMs de 128k a unir y rom256k.bin el archivo que vamos a generar. Una vez hecho esto, simplemente grabamos la EPROM y la pinchamos en el zócalo de nuestro cartucho.

Observaciones:

  • En las EPROMs de 128k, el pin donde iría A17 está desconectado. Para ellas, la posición del conmutador da lo mismo; así que puedes pinchar cualquier EPROM de 128k en el cartucho modificado.
  • Por (casi) la misma razón, una EPROM de 256k puede pincharse en un cartucho sin modificar de 128k. En este caso, el sistema que arrancará será el que esté grabado en el banco alto.

Enlaces:

Ampliación de un Amstrad 464+ a 128k

La lista de la compra:

Este es el procedimiento para ampliar un Amstrad CPC 464+ a 4128+. La ampliación es bastante sencilla, ya que solo se necesitan 6 componentes para conseguirlo. Lo que vamos a necesitar será lo siguiente:

Ubicación: Componente:
IC12 41464-12
IC13 41464-12
R28 10K ohm, 1/8W
R55 33 ohm, 1/8W
C12 100nF, cerámico
C13 100nF, cerámico

Opcionalmente necesitaremos 2 zócalos para las memorias (de 18 patas) y quizás queramos grabar una EPROM con el cartucho de diagnósticos (27c1001). Las memorias pueden ser sustituidas por TMS4464-10 sin problemas, y si no puedes conseguir resistencias de 1/8W puedes utilizar las de 1/4W… pero no ajustarán bien en el circuito (ver la foto de la placa terminada). En mi caso no me ha quedado otro remedio que utilizar TMS4464-10 y resistencias de 1/4W.

Instalación del hardware:

Lo primero de todo será desmontar el 464+. Para ello le damos la vuelta y quitamos los tornillos marcados en rojo. Con un destornillador de punta plana, empujamos las pestañas marcadas en amarillo y la carcasa superior debería poder separarse.

Carcasa inferior 464+ photo Carcasainferiorconmarcas_zps7336bc5a.jpg

Una vez entreabierta, procedemos a soltar todos los cables marcados en rojo y podemos terminar de separar la carcasa. Desatornillamos los tornillos marcados en amarillos (son más cortos que los anteriores) y podemos sacar la placa del 464+ fuera de la caja. Fijaos que el tornillo de más a la derecha está sujetando un cable de la unidad de cinta.

Vista interior CPC 464+ photo CPC464abiertoconmarcas_zps70b5451f.jpg

En la siguiente foto podemos ver la placa de mi 464+. He marcado en rojo los huecos de los componentes que debemos soldar. Clickad sobre la foto si la necesitáis ampliada.

Placa CPC 464+ (RAM) photo Placabase464conmarcasampliacioacutenRAM_zpse002fc67.jpg

Realmente no da para mucho. Lo que más va a costar (y con diferencia) es abrir hueco para nuestros componentes. Al fabricar el 464+ se utilizó una técnica de soldadura que rellena los huecos vacíos, por lo que hay que retirar todo el estaño de los componentes que vamos a soldar. Después de mucho rato quitando estaño, y unos pocos minutos soldando, podremos tener una placa parecida a esta:

Placa base 4128+ photo Placabase4128_zps7220138e.jpg

Ponemos la placa en su sitio y la atornillamos (acordáos del cable de la unidad de cinta). Después conectamos las cintas del teclado y el cable de la unidad de cinta, los cables de la carcasa superior y lo volvemos a montar. Ya tenemos un precioso Amstrad 4128+… aunque la caja siga diciendo que es un 128k.

Comprobando que todo funciona:

Aquí tenemos un pequeño problema. Así como los CPC antiguos mostraban orgullosos la cantidad de memoria que tienen al conectarse, el CPC+ no lo hace. Necesitaremos un programa que nos diga qué cantidad de memoria tenemos instalada, y a ser posible que la pruebe. Para ello podemos utilizar el cartucho de diagnósticos de los CPC+. El cartucho original es una EPROM de 32k, pero como no estoy seguro de si los cartuchos normales pueden utilizarla he puesto una versión para EPROM de 128k entre los enlaces.

Cuando el equipo arranque, elegimos la cuarta opción (que sorprendentemente se llama RAM test) y pulsamos Enter. El equipo mostrará una pantalla parecida a esta:

CPC + RAM test con 128k photo TestRAM128k_zps039ce7c9.jpg

Si ves esto, puedes respirar aliviado: tu CPC reconoce la memoria. Lo sabemos porque dice que está mirando el bloque 2 de 7, lo que significa que nuestro equipo tiene 8 bloques de 16k (=128k, se empieza a contar desde cero). Si has visto una pantalla que dice que tienes solo 4 bloques (p.ej.: comprobando bloque 1 de 3), probablemente has soldado mal R28. R28 le cuenta al ASIC que tiene 128k, si no está bien seguirá creyendo que tiene 64k y no intentará comprobar el resto de la memoria.

Después de un rato, pueden pasarte dos cosas. Si la memoria está defectuosa, puede salirte una pantalla de este estilo:

CPC + RAM test con fallo photo FallotestRAM_zps0bfcc180.jpg

Si has visto esto, probablemente los integrados no estén bien puestos o sean defectuosos. Revisa las soldaduras y que estén bien pinchados en los zócalos. Lo mejor que te puede pasar es que después del test de RAM veas esto:

CPC + RAM test OK photo TestRAMcorrecto_zps19677af2.jpg

Esta es la pantalla que muestra que el test se ha completado correctamente. Tu Amstrad 464+ es oficialmente un 4128+.

(Existe una última posibilidad, que es que directamente no arranque. Si comprobáis que con la memoria instalada no arranca pero quitando los integrados de memoria sí que funciona, la culpable es R55)

Enlaces: