Esta FAQ es mantenida por @uto_dev, en base a distintas preguntas encontradas en diversos foros. Esta es una FAQ de uso de la placa Sugarless +2.
Este obra está bajo una licencia de Creative Commons Reconocimiento-CompartirIgual 4.0 Internacional.
IMPORTANTE: Antes de empezar, si tienes una placa Sugarless con los componentes sin soldar, antes de soldar lee este enlace. Si tu placa ya está soldada, sigue leyendo.
Se trata de una tarjeta adaptadora que permite conectar una placa ZX-Uno (4.1 o 4.2) en una carcasa de un Spectrum +2A/+2B/+3. También es posible instalarla en una carcasa de +2 (gris) pero requiere hacer modificaciones a la carcasa.
No, la Sugarless no es un ZX-Uno, es solo una placa adaptadora que no puede funcionar si no tienes un ZX-Uno 4.1 o 4.2. Necesita además una placa atmega 2560 o compatible - que se pincha en la placa Sugarless mediante una serie de pines de la misma - o un chip atmega 128 que iría soldado directamente en la placa.
Por otro lado necesitarás varios cables para conectar ambas placas (ZX-Uno y la Sugarless) dentro de la carcasa del Spectrum (ver más adelante).
A priori no hay problema en usarla con otros modelos basados en el ZX-Uno 4.1, salvo que haya problemas de espacio dentro de la carcasa. Podríais tener que adaptar alguna conexión eso sí (por ejemplo para modelos con microSD en lugar de SD haría falta un adaptador, para modelos sin salida RGB tipo ZX-Uno haría falta adaptar salida, etc.)
En cuanto a prototipos anteriores al ZX-Uno 4.1, necesitarán seguramente un cable para sacar las señales del conector RGB de la 4.1 partiendo del conector que llevan esos prototipos.
La placa atmega 2560 lleva un Arduino hace de interfaz entre el teclado del spectrum y el conector PS/2, es decir, recibe las pulsaciones del teclado del Spectrum y las convierte en códigos como los que emite un teclado PS/2. De esa manera el ZX-Uno recibe pulsaciones PS/2 como si de cualquier otro teclado PS/2 se tratara.
El teclado de Spectrum es capaz de simular varias pulsaciones con determinados "combos":
Además en la pantalla de arranque puedes pulsar Caps+1 (o Editar) para entra en la BIOS, Caps+2 (o Bloq. Mays.) para entrar en el menú de cores, y Caps+Space (o Break) para el selector de ROMs.
El teclado de Spectrum functiona como un teclado de Spectrum por defecto (obviamente), pero para poder usarlo con otros cores la Sugarless permite cambiar el modo de modo que se comporte como otro teclado (el de un CPC por ejemplo, o el de un PC). No todos los cores pueden funcionar perfectamente, para los demás, hay que usar el teclado PS/2.
La Sugarless tiene dos conectores de joystick, uno de los cuales se conecta directamente al conector de joystick del Zx-Uno y funciona transparentemente como si se enchufara el joystick al ZX-Uno directamente. El otro sin embargo va conectado también al Arduino, y al accionarlo provoca la pulsacion de teclas, en concreto QAOP para las direcciones, y espacio el disparo. Si nuestro joystick tiene un segundo disparo, generará la pulsación de la tecla X.
Al tratarse de una placa adaptadora, la Sugarless tiene conexiones hacia dentro que llamaremos "IN" (al ZX-Uno) y hacia fuera que llamaremos "OUT" (que son visibles por los agujeros originales de la carcasa)
Las externas son las siguientes
Las internas son las siguientes
El +2 gris no tiene un agujero de alimentación más pequeño, por lo que no cabe el conector PS/2, es necesario hacerlo más grande con una dremel o buscar alternativas si se quiere usar un teclado externo. Además, hay un anclaje de la carcasa, de la parte del casette, que estorba a la placa Sugarless, por lo que hay que cortarlo
Necesitarás los siguientes cables:
Además, si vais a colocar el ZX-Uno en otro sitio que no sea enchufado directamente a la placa Sugarless por la conexión de joystick, necesitaréis un cable DB9 recto macho-hembra.
No obstante, no todos tendréis que poner todos los cables, dependerá de qué salidas queráis operativas. Por ejemplo:
Además, hay algunos conectores que pueden conectarse con cables dupont en algunos casos, pero como eso cae ya más en el terreno del bricolage, queda fuera del alcance de esta FAQ
Junto con la placa Sugarless viene una pequeña placa adicional que es como una tarjeta SD cortada. Tenéis que introducir dicha placa en la ranura SD del ZX-Uno, y luego conectar con el cable dupont de 6 hilos dicha placa pequeña y la placa Sugarless, en el conector de la SD. ¡Mirad la serigrafía y aseguraros de no ponerlo al reves!
Sí, la placa Sugarless tiene un conector para el reproductor de cintas del +2A/B, y para el +2 gris también. No obstante, debido a diferencias entre la ULA del Spectrum 48K (implementada en el core de Spectrum de ZX-Uno) y la del un +2A/B, el casette podrá usarse para cargar, pero no para grabar, salvo que se apliquen unos cambios a la ROM utilizada para hacer que grabe con más volumen. En concreto hay que parchear la ROM3 con estos parches (asumiendo $0000 como el principio de dicha ROM):
Dejo una versión parcheada de la ROM de 48K aquí. Para otros modelos os la tendréis que parchear vosotros, recordad que la ROM clásica en una ROM de 64 está en los últimos 16K.
Si. Sigue los siguientes pasos:
Si el enlace al XLoader os falla, aquí tenéis la versión disponible a fecha de 1/11/2017.
Si usas la placa atmega 2560 sí, existen varios pines libres en la placa, para saber cuales se pueden mirar los esquemáticos del Sugarless. No obstante, se han definido expresamente los pines A8 a A15 para ampliaciones de usuario, para lo cual no se sueldan los pines correspondientes en la placa Sugarless, lo cual permite no insertar la placa atmega del todo y conectar así por debajo cables dupont girados, conectores acodados, etc.
Llamaremos a estos pines por tanto "pines de usuario" y podéis usarlos para lo que queráis con la tranquilidad del que el firmware oficial no los va a utilizar.
Si usais el chip atmega 128 directamente, aunque hay pines libres, es muy difícil soldar sobre ellos por lo que es poco viable.
Por otro lado, los pines del conector tzxduino que hay en el slot de expansión están pensados para controlar el tzxduino externo, pero si no usais tzxduino siempre podéis reprogramar el arduino para que se usen de otra manera.
Efectivamente, se ha comprobado que no todas las carcasas de +2A/B/3 eran exactamente iguales, por lo que en algunos casos la salida VGA queda muy justa, y es imposible conectar el cable. La única solución en esos casos, y asumiendo que el conector VGA ya se haya soldado lo más alto posible, es limar un poco el agujero para hacer espacio. Otra opció no comprobada sería quitarle al cable macho el recubrimiento metálico de modo que solo queden los pines que entran al conector. Si probáis esto ruego lo indiquéis para actualizar la FAQ.
En principio, aseguraos que el jumper reset_sw[[PENDIENTE]] está en la postura [[PENDIENTE]]. Si lo está, aseguraros que no estáis usando un puerto USB de la TV a la que está conectada el Sugarless como fuente de alimentación, porque si es así puede no funcionar. Técnicamente hablando el motivo es que se haría corto entre GND_POW del USB y GND del conector de vídeo, y como consecuencia quedaría anulada la función del MOSFET que realiza el apagado.
Conector RGB
Notese que el pin de video compuesto solo estará conectado si pediste tu placa con salida de video compuesto<./p>
[[PENDIENTE]]Conector TZXDUINO
Sí, hay un par de puntos importantes, y algunas recomendaciones:
No está claro si habrá una issue 2 hecha por el mismo equipo, pero como es open hardware otros podrían hacerla. Para ellos dejamos estas recomendaciones: