Sugarless +2 (A ZX-Uno Companion)

Proyectos de hardware con sus esquemáticos y si llevan software en fuente

Moderadores: cacharreo, Fundadores

Reglas del Foro
Aquí solo tienen cabida proyectos de hardware que incluyan siempre al menos sus esquemáticos para poder reproducirlos si llevan componentes electrónicos, y si es posible los ficheros del programa en que se hacen, los diseños de las placas, los gerber, etc. Si llevan algún tipo de software asociado debe estar diponible el código fuente

Para los que no cumplen estas condiciones se debe postear en el foro de proyectos generales.
Avatar de Usuario
spark2k06
Demonio segundo orden
Demonio segundo orden
Mensajes: 1048
Registrado: 16 Oct 2017, 10:18
Has thanked: 9 times
Been thanked: 6 times
Contactar:

Re: ZX-Uno dentro de un +2/+3 (ZXUno Companion +2)

Mensaje por spark2k06 »

@Uto, sugarless enviada tal como hemos acordado... faltaría el envío de tu tzxduino.
Avatar de Usuario
spark2k06
Demonio segundo orden
Demonio segundo orden
Mensajes: 1048
Registrado: 16 Oct 2017, 10:18
Has thanked: 9 times
Been thanked: 6 times
Contactar:

Re: ZX-Uno dentro de un +2/+3 (ZXUno Companion +2)

Mensaje por spark2k06 »

@Uto está preparando una FAQ para iniciarse en el uso de Sugarless +2, pero voy haciendo un avance o guía rápida de las principales combinaciones y atajos:

-> Gran parte de las combinaciones de teclado parten del proyecto ZXUnoPS2, tenéis aquí un manual que se curró @jsanjose. Puntualizar que CS+SS es lo mismo que pulsar el botón Extra de los +2/+3, por lo que se hace mas cómodo en este tipo de teclados.

-> Control TZXDUINO (aún sin probar, y temporal): Mantenerse en cambio de modo (Extra+U) y usar las siguientes teclas para simular la pulsación de los 5 botones físicos del mismo: G-H-J-K-L (salir con cualquier otra tecla que no sea 0-9, A,B,C,D ó E porque se cambiaría de modo de teclado, pero cualquier otra tecla cancela ese estado de cambio de modo.

-> Encender ZX-Uno: Pulsación corta del botón de reset, estando el ZX-Uno previamente apagado.

-> Apagar ZX-Uno: Pulsación larga de 3 segundos del botón de reset, estando el ZX-Uno previamente encendido.

-> Reseteo físico del ZX-Uno: Pulsación corta del botón de reset, estando el ZX-Uno previamente encendido.

Nuevos modos de teclado de Extra+U:

* .PCXT (letra 'D') -> Para usar con el core de PCXT cuando éste previamente ha sido inicializado con un teclado externo conectado. Este modo por tanto no tiene escucha activa y usa directamente el set 1 de scancodes, de esta manera, es posible su uso con ambos teclados simultáneamente. El antiguo modo .PCXT con letra '9' pasa a denominarse simplemente .PC y funciona exactamente igual que su versión antigua en el que se llamaba .PCXT.

* .KBEXT (letra 'E') -> Sirve para usar el teclado de Sugarless como teclado externo en PCs convencionales con PS/2 o PCs con USB y Mist a través de un adaptador PS/2 a USB adecuado, yo recomiendo éste. Para usarlo como teclado externo, es importante cambiar previamente a este modo y guardar la configuración en la EEPROM mediante Extra+X, de esta manera ya es posible desconectarlo y usarlo con un simple cable PS/2 macho a macho (sin alimentación adicional) y, si se necesita, el adaptador PS/2 a USB mencionado. El PC, Raspberry PI, etc... donde se encuentre conectado debe ser configurado para usar el teclado UK, para que los símbolos escritos desde el teclado de Sugarless se muestren correctamente. Por otro lado, este modo de uso permite que no sea necesario (de hecho no lo recomiendo) pulsar el botón reset para encender el ZX-Uno, porque funciona de forma independiente y no necesita por tanto que éste sea encendido. La unidad de cassette también puede funcionar en ese modo si se encuentra conectada y el jumper de TAPE_CFG de la placa configurada en conexión directa con la alimentación, por lo que, por ejemplo usando en la Mistica FPGA de ManuFerHi debería ser posible llevar el sonido desde el conector de salida de EAR a la misma. Es perfecto también para el uso en emuladores como ZEsarUX o cualquier otro uso en un PC.
Avatar de Usuario
spark2k06
Demonio segundo orden
Demonio segundo orden
Mensajes: 1048
Registrado: 16 Oct 2017, 10:18
Has thanked: 9 times
Been thanked: 6 times
Contactar:

Re: ZX-Uno dentro de un +2/+3 (ZXUno Companion +2)

Mensaje por spark2k06 »

Algunas notas de @Uto para los que os va llegando el sugarless, o el kit:

1) Aseguraros de tener el ZX-Uno en layout Spectrum
2) Necesitareis un cable jack macho-macho con conectores acodados, o con conectores cortos porque ambos conectores se encuentran muy próximos.
3) el atmega2560 tiene que entra bien a fondo, por dos razones: he visto que mal metido a veces no funciona bien, los contactos son puñeteros, y además pensad que justo encima está el teclado con su carcasa metálica, y haría contacto en todos los pines del arduino a la vez :shock:
4) Para que el sistema arranque hace falta el arduino programado logicamente, para ello basta con grabar el atmega2560 por su conector USB usando Xloader, eligiendo el atmega2560 claro, y el hex adecuado. Los hex lo tenéis aquí. Ahora mismo usad la beta2, cuando pase el tiempo quizá ya no sea la última. La 8x5 es para el +2 gris, la xcgh lo que hace es cambiar cursores y break/space de sitio, y luego está la normal.
5) el reset del zxuno se conecta a los dos pines marcados como RESET_ZXUNO de la siguiente manera: de los dos pines del zxuno, el que más cerca está de la SD va al pin que más alejado está del borde, y el pin del zxuno que está más cerca del conector de joystick, va al pin mas cercano al borde de la sugarless. Dicho de otro modo, si teneis el ZX-uno pinchado a la sugarless por el conector de joystick, el pin de abajo va al de arriba y el de arriba al de abajo.
6) Para conectar el ZX-uno por el conector de joystick, necesitaréis quitarle a la sugarles los tornillo de dicho conector y la chapa (bueno, la chapa no, pero se queda medio suelta y tampoco hace falta)

7)Para que arranque todo como mínimo hay que poner un jumper, en concreto o bien ponéis el que está junto al botón de reset de la sugarles en los dos pines más cercanos al dicho botón, o bien poneis el PW_SWITCH que hay justo a la derecha del arduino. Con el segundo el sistema está siempre ON, con el primero el reset enciende pulsando, resetea pulsando cuando está encendido, y apaga manteniendolo pulsado.

Una nota sobre este último punto 7. Si no se desea usar el botón reset como encendido/apagado mediante el transistor MOSFET, PW_SWITCH cerrado como bien comenta Uto hace que siempre se encuentre encendido, por lo que en este mismo conector se puede utilizar un interruptor de encendido y apagado físico del ZX-Uno, sin el uso del MOSFET.

Lo interesante de prescindir de este conector y usar el botón del reset para su encendido, es que al arduino siempre le llega corriente y eso tiene dos ventajas:

1. Sugarless +2 puede ser utilizado como teclado externo, sin encenderse el ZX-Uno... porque la corriente al arduino le llega a través del conector PS/2 externo a donde es conectado como teclado externo.

2. Con un poco de conocimientos de soldadura, es posible llevar las señales D+ y D- del conector de arduino serigrafiado en la PCB de Sugarless +2 al mismo conector USB del arduino, lo cual permite poder reprogramar el mismo con la carcasa cerrada y el propio conector microUSB. Como el ZX-Uno permanece desconectado hasta que no se enciende mediante el botón de reset y sin embargo el arduino sí se encuentra encendido, no hay problema para ello:

Imagen
Imagen

Por otro lado, Uto adjunta un dot command chorra que pone los atajos de teclado que se usan en modo Spectrum en pantalla. El dot command es es de él, pero la imagen es cosa de YoxxoY:

Imagen
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
Avatar de Usuario
spark2k06
Demonio segundo orden
Demonio segundo orden
Mensajes: 1048
Registrado: 16 Oct 2017, 10:18
Has thanked: 9 times
Been thanked: 6 times
Contactar:

Re: ZX-Uno dentro de un +2/+3 (ZXUno Companion +2)

Mensaje por spark2k06 »

Beta 3

-> 100 ms de delay tras la pulsacion de start y select en el puerto joy2ps2 para que le de tiempo a procesarlo al ZX-Uno.

Firmware aquí.
Avatar de Usuario
spark2k06
Demonio segundo orden
Demonio segundo orden
Mensajes: 1048
Registrado: 16 Oct 2017, 10:18
Has thanked: 9 times
Been thanked: 6 times
Contactar:

Re: ZX-Uno dentro de un +2/+3 (ZXUno Companion +2)

Mensaje por spark2k06 »

@sinclair200, enviado. Listado del primer post actualizado.

Beta 4

-> Comportamiento de los botones select y start igual que el resto de botones, se pulsan y mantienen pulsados hasta que son soltados. El uso anterior tenia sentido en la versión original de Joy2PS2 ya que estos botones también se usaban para realizar ciertos combos, pero ya no es necesario al disponer de un teclado siempre conectado.

Firmware aquí.
Avatar de Usuario
spark2k06
Demonio segundo orden
Demonio segundo orden
Mensajes: 1048
Registrado: 16 Oct 2017, 10:18
Has thanked: 9 times
Been thanked: 6 times
Contactar:

Re: ZX-Uno dentro de un +2/+3 (ZXUno Companion +2)

Mensaje por spark2k06 »

Estaba iniciando el proceso de adaptacion del protocolo NES Famicom DB9 para el puerto Joy2PS2 que en su día dejé pendiente, y me he topado con esta interesante URL. donde detalla su pineout, entre otros protocolos basados en el mismo conector. En el diseño del puerto DB9 de Joy2PS2 se encuentran fijados en los pines 5 y 8 los +5V y GND respectivamente, el resto va a puertos I/O del AVR:

Imagen


Sin embargo, en determinados protocolos de joysticks como los NES Famicom DB9 no se alimentan por ahí. Por ejemplo en éstos hay que hacerlo a través del pin 6, el pin 8 sigue siendo GND. De manera que no va a ser posible su implementación, quedando oficialmente implementados de forma transparente los siguientes que he probado: Atari, SMS, Megadrive de 3 o 6 botones + Start y/o Mode (como Select), Mando de NES de aliexpress (USB) modificado para DB9 de Antonio., si alguien tiene oportunidad de probar otros que, o bien usen los pines 5 (+5V) y 8 (GND) para alimentarse, o bien no necesiten alimentación como los de la norma Atari y no les funciona que lo comente y lo miramos.

Salvo para los protocolos mencionados...que podrían conectarse directamente, siempre quedaría la posibilidad de diseñar un sencillo circuito externo que adapte los pines de corriente desde los pines 5 y 8 a donde fuera necesario, y el resto hacia el arduino. Si os fijáis en el enlace no solo nes famicom llevan los pines de corriente en distinta disposición, también sega saturn.

De hecho, con Joy2PS2 yo me base en el proyecto retroadapter, que en el diseño mantiene fijos a corriente de la misma forma los pines 5 y 8. Y es que en retroadapter, de forma directa se pueden usar basicamente los mismos mandos, para otros son necesarios ciertos adaptadores que precisamente redirigen la corriente a los pines adecuados:

Imagen
Avatar de Usuario
spark2k06
Demonio segundo orden
Demonio segundo orden
Mensajes: 1048
Registrado: 16 Oct 2017, 10:18
Has thanked: 9 times
Been thanked: 6 times
Contactar:

Re: ZX-Uno dentro de un +2/+3 (ZXUno Companion +2)

Mensaje por spark2k06 »

Se adjunta configuración de jumpers, realizada por yoxxxoy. La anulación del diodo no es necesaria usarla nunca, se puso por si hubiese algún fallo de diseño pero funciona bien. Mayor resolución y detalle de la infografía en mi repositorio de github.

Imagen
Avatar de Usuario
spark2k06
Demonio segundo orden
Demonio segundo orden
Mensajes: 1048
Registrado: 16 Oct 2017, 10:18
Has thanked: 9 times
Been thanked: 6 times
Contactar:

Re: ZX-Uno dentro de un +2/+3 (ZXUno Companion +2)

Mensaje por spark2k06 »

Por cierto, quien quiera usar el conector Mini DIN 9 RGB en el Euroconector que sepa que el cable es como el de la Megadrive 2, pero hay que modificarlo luego quitando unas resistencias y condensadores que lleva que podéis ver en este esquema:

Imagen

Por tanto hay tres soluciones:

1) Hacerlo de cero
2) Comprar un cable de Megadrive 2 y modificarlo
3) Pedirselo a ManuFerHi, que tiene stock (está confirmado)

La opción de poner el cable de la Megadrive 2 sin arreglarlo no vale porque se vería muuuy oscuro.

Obviamente si ya tenéis un cable del GO+ o la Mística, ese os vale, es el mismo... la adaptación del cable quedaría por tanto así:

Imagen
Avatar de Usuario
sinclair200 España
Moderador
Moderador
Mensajes: 9988
Registrado: 28 Mar 2014, 18:25
Ubicación: Madrid
Has thanked: 8 times
Been thanked: 177 times

Re: ZX-Uno dentro de un +2/+3 (ZXUno Companion +2)

Mensaje por sinclair200 »

Una pregunta, to tengo el +3/+2 conectado a un monitor con un cable RGB/SCART, valdría ese cable tal cual para tu proyecto ZX-UNO......?
Imagen
Z80 INSIDE.........
WANTED:…………. CPC 6128 british
Responder

Volver a “Proyectos de hardware abiertos”