[ATARI] proyecto 800 XXL new model

Proyectos realizados por los Retronianos, también links a proyectos externos y sitios relacionados con Modding y DIY... A crear si ha dicho...
Avatar de Usuario
vitoco
Mensajes: 1970
Registrado: Lun Ene 28, 2013 5:47 pm
Contactar:

Re: [ATARI] proyecto 800 XXL new model

Mensaje por vitoco » Vie Ene 22, 2016 10:31 am

Buena idea. Pero la elección del teclado dependerá del estilo a adoptar entre XL y XE, aunque en el caso de XE habría que hacer algo adicional para mover las teclas grises de arriba hacia un costado, o simplemente se tendrá un teclado tan grande como el 130XE mismo.

A propósito, sería una buena oportunidad para agregar las 4 teclas de función de los 1200XL.

Eso sí que creo que también habrá que hacer algo con el tema de la distancia, aunque si se trata de un desktop, no sería mucha.

Avatar de Usuario
dogdark
Mensajes: 594
Registrado: Lun Mar 04, 2013 1:36 pm
Contactar:

Re: [ATARI] proyecto 800 XXL new model

Mensaje por dogdark » Sab Ene 23, 2016 12:35 am

ya pude encontrar alguna solución a lo que quiero armar, dejo en claro que no quiero alterar el atari en su mayoría, pero si en sus conexiones, por lo tanto tengo que hacer circuitos que permitan adherirse a lo que existe, como decía anteriormente y siguiendo lo que renix me aporto, seguiré con la construcción usb keyboard con el método de los shift register,(ojo solo me refiero al 800xl) revisando la documentación de los schematics del atari 800xl, no son igual a los entripados de las demás lineas, como la 65xe y 130xe que si usan el mismo entripado entre ellas. Por lo tanto la conexión de atari cuenta con 24 pines. Según la siguiente imagen.

Imagen
Imagen

entonces ya con estos datos, procederé a realizar todo el proceso con el atmega328-pu que será la central de procesamiento de los datos obtenidos desde un teclado usb o ps2, la idea es que funcionen ambos como entrada de datos escritos, creare la programación para enviarlos a través de integrados de salida como el 74HC595 usándolos como pulsaciones digitales, así envió el dato hacia el atari.

Imagen

si ustedes pueden apreciar la siguiente imagen es la idea de como mandaré los datos hacia el atari. puede que ahora no entiendan mucho, pero en la semana compraré los integrados que necesito y revisare una lamina de teclado 800xl mala que tengo guardada, así veré el funcionamiento de entrada y salida del teclado, por lo menos tengo en claro la conexión del reset start select y option.
Última edición por dogdark el Sab Sep 10, 2016 9:10 pm, editado 1 vez en total.

Avatar de Usuario
dogdark
Mensajes: 594
Registrado: Lun Mar 04, 2013 1:36 pm
Contactar:

Re: [ATARI] proyecto 800 XXL new model

Mensaje por dogdark » Dom Ene 24, 2016 2:08 am

Después de un arduo día de experimentos, con arduino, protoboard, resistencias cables, pelando la papa y demases, logre por fin el reconocimiento del teclado usb desde el arduino, ahora ya con eso procederé a realizar la codificación que se necesita para enviar los datos al atari, lo más complicado a mi parecer esta funcional, por lo menos ya estoy en el 30 % de lo más complicado. Les dejo la toma de la foto como prueba. los diagramas y pcb aun no los subiré hasta terminar la sección usb keyboard atari.

Imagen

Avatar de Usuario
renix
Mensajes: 4675
Registrado: Vie Ene 25, 2013 1:39 am

Re: [ATARI] proyecto 800 XXL new model

Mensaje por renix » Dom Ene 24, 2016 9:29 pm

Buena dogdark, vas como avión

Avatar de Usuario
vitoco
Mensajes: 1970
Registrado: Lun Ene 28, 2013 5:47 pm
Contactar:

Re: [ATARI] proyecto 800 XXL new model

Mensaje por vitoco » Lun Ene 25, 2016 9:49 am

Entonces el teclado debiera ser más o menos así:

Imagen

Avatar de Usuario
vitoco
Mensajes: 1970
Registrado: Lun Ene 28, 2013 5:47 pm
Contactar:

Re: [ATARI] proyecto 800 XXL new model

Mensaje por vitoco » Lun Ene 25, 2016 10:18 am

A propósito, estaba observando el diagrama de la matriz de conexiones del teclado y le pillé medio error (no es un error completo): la línea 9 aparece rotulada en uno de sus extremos como 19, lo que es incorrecto, y si tomas el valor del extremo malo para tu codificación en el Arduino, vas a tener puros dolores de cabeza. Le hice la actualización, y de paso agregué las teclas F1 a F4 del 1200XL, que debiesen ser reconocidas por el 800XL sin ningún problema.
TecladoXL.png
TecladoXL.png (11.04 KiB) Visto 2788 veces

Avatar de Usuario
renix
Mensajes: 4675
Registrado: Vie Ene 25, 2013 1:39 am

Re: [ATARI] proyecto 800 XXL new model

Mensaje por renix » Lun Ene 25, 2016 2:38 pm

que buen topic

Avatar de Usuario
dogdark
Mensajes: 594
Registrado: Lun Mar 04, 2013 1:36 pm
Contactar:

Re: [ATARI] proyecto 800 XXL new model

Mensaje por dogdark » Lun Ene 25, 2016 9:43 pm

Maestro Vitoco, me interesaría saber que función cumplen las teclas f1-f4 en el 1200xl, lo otro el entripado ya había notado el error, porque que en el atari real no van de la misma manera, por lo que al momento de realizar las pruebas están en su mayoría cambiadas. estoy en la parte final ya del proyecto del teclado usb, ya hice las pruebas y pude imprimir en pantalla los numero 7 y 8 en el atari, es un gran avance, pero lo hice con relays, la sonajera era para reírse, parecía maquina de escribir, me trajo muchos recuerdos. les dejo una imagen de la estructura que como quedaría, aunque falta.

Imagen

Con la ayuda de Renix y de Space Invaders que me dieron como dato el cambio de realys por integrados, con eso ya no habrá ruido y será todo por interno.

explico se envian las pulsaciones desde el teclado usb hacia el arduino que procesa la informacion y envia a los integrados 74hc595 que usare como administrador de abridor y cerrador de puertas de relay, los relay se encuentran en los integrados 4066, que este incluye 4 relay, como keyboard del 800 utiliza 8 output y 8 input necesito 2 integrados por cada key. con eso tomo la señal del output key desde 1 - 8, y envió la que necesito al canal de unión solo con la puerta abierta que envié el dato desde el arduino, por lo tanto como el dato ya esta ahora lo envió a través de la otra puerta que yo decido habrir hacia el key input que necesito para imprimir la letra en pantalla, y después de una pausa de 20 milisegundos cierro ambos puertos y quedo en 0 nuevamente a la espera de la presión de la nueva tecla, y el proceso comienza nuevamente. Para los que no entendieron, ya haré el protoboard y el schemtic, porque ahora me voy pa la pega.

Avatar de Usuario
vitoco
Mensajes: 1970
Registrado: Lun Ene 28, 2013 5:47 pm
Contactar:

Re: [ATARI] proyecto 800 XXL new model

Mensaje por vitoco » Dom Ene 31, 2016 7:38 pm

dogdark escribió:Maestro Vitoco, me interesaría saber que función cumplen las teclas f1-f4 en el 1200xl
De acuerdo a Mapping The Atari:
96,97 60,61 FKDEF

The 1200XL has four redefinable function keys. FKDEF points
(LSB/MSB) to their definition table--an eight-byte table for keys
F1 to F4 and then SHIFT-F1 to SHIFT-F4. Each byte is assigned a
value corresponding to an internal (not ASCII) code. The keys
themselves are values 138-141 ($8A-$8D), but you must not as-
sign a key its own value since it generates an endless loop. Ini-
tially points to 64529 ($FC11).

The function keys perform the following activities:

Key Combination Function
F1 Cursor up (ATASCII 28; $1C)
F2 Cursor down (29; $1D)
F3 Cursor left (30; $1E)
F4 Cursor right (31; $1F)

With SHIFT
F1 Home (cursor to upper left, 28; $1C)
F2 Cursor to lower-left corner (29; $1D)
F3 Cursor to start of physical line (30; $1E)
F4 Cursor to right end of physical line (31;
$1F)

With CTRL
F1 Keyboard enable/disable toggle (not con-
sole keys)
F2 Screen display enable/disable
F3 Key click sound enable/disable
F4 Domestic/international character set
toggle

Function keys are ignored with both a SHIFT and CTRL
combination. You cannot redefine CTRL-function key definitions.
Es decir, son teclas que tienen asignadas algunas combinaciones de teclas (mapeo) y otras funciones interesantes (con CTRL), pero más interesante aún es que podrías asignarles tus propias combinaciones de teclas a las 8 de base (4 solas y 4 con SHIFT).

Como no tengo esas teclas en mis Ataris, no he invesigado si hay programas que ya hagan uso de ellas en un 1200XL. Tarea para la casa... :mrgreen:

Avatar de Usuario
dogdark
Mensajes: 594
Registrado: Lun Mar 04, 2013 1:36 pm
Contactar:

Re: [ATARI] proyecto 800 XXL new model

Mensaje por dogdark » Lun Feb 01, 2016 3:41 am

La idea que tenia en mente sin desmerecer la que tienes tu, era dejar las teclas de F1 a F5 como Start, Option, etc. como es para el modelo 800 convencional en versión 1, mientras no tengamos el 1200xl y algún programa que sea para ello, no veo como podríamos sacar provecho a aquello, yo creo que podríamos hacer una versión 1.2 sobre el 1200xl. Por mientras tanto estoy en la creación del pcb y el schematic, lo estamos revisando con Space Invaders, quien me esta aportando con lo técnico que se me arranca. Siempre dos cabezas piensan más que una. Hemos avanzado muchísimo, ya estoy con las pruebas con el atari real y funciona de maravilla, mientras no este terminado, no se liberará el código final del arduino, que es el que ejecuta totalmente todo el sistema de presión de teclas entre el teclado usb y el atari. Un boton de muestra, no terminado aún, porque faltan componentes.

Imagen
Imagen
Imagen

estamos en proceso aun de corrección pero esta funcionando.

Avatar de Usuario
renix
Mensajes: 4675
Registrado: Vie Ene 25, 2013 1:39 am

Re: [ATARI] proyecto 800 XXL new model

Mensaje por renix » Lun Feb 01, 2016 1:56 pm

Este desarrollo sirve como mesa de control con teclado usb DogDark y tiene muchas mas aplicaciones... puedes dejarlo como panel de control para las luces de una disco o teatro... ya que la famosa teclera de control siempre es un tema...

Avatar de Usuario
dogdark
Mensajes: 594
Registrado: Lun Mar 04, 2013 1:36 pm
Contactar:

Re: [ATARI] proyecto 800 XXL new model

Mensaje por dogdark » Mié Feb 03, 2016 8:12 am

con esta amplitud, tiene muchísimas más opciones, usando un teclado tienes más canales para elegir u opción, a diferencia de un key pad numérico que es menor. Todo va en el código.

Avatar de Usuario
dogdark
Mensajes: 594
Registrado: Lun Mar 04, 2013 1:36 pm
Contactar:

RESUMEN 1 : [ATARI] proyecto 800 XXL new model

Mensaje por dogdark » Vie Feb 12, 2016 1:59 pm

Ya comenzando un poco con el resumen de como me ha resultado el proyecto, con hartos problemas pero que de a poco van dando resultado, les contaré como me esta yendo con esto.

NOTA : El proyecto esta realizado en UNO R3, compatible con arduino uno, que nos permite desmontar el integrado ATMEGA328.

El primer problema que tuve que enfrentar, era como conectar el usb al arduino, googleando un poco encontré una solución que me permitía el reconocimiento del teclado usb, que es muy parecido al ps2 pero que tiene sus diferencias. Primeramente realice la conexión sin éxito alguno, dije que wea, si esta todo bien , que es lo que exclamamos casi todos cuando estas seguro de lo que estas haciendo, entonces me di cuenta que el teclado no hacia nada ni se reconocía, después capte que se deben agitar con voltaje el data y el clock, en este caso en el usb es data+ y data - por ser digital. Entonces aplique la teoría del aweonismo y prueba de testeo y realice lo siguiente.

Imagen

ya con eso las luces encendieron y se apagaron en el teclado, por lo menos quedo funcionando a la perfección. Dentro del proyecto conectaré como DATA- al pin 2 (pata 4 ATMEGA328) y el DATA+ al pin 3 (pata 5 ATMEGA328). y realice el test de comprobación que dejo adjunto para que vean que funciona.

Código: Seleccionar todo

/*  PS2Keyboard library example
 
 PS2Keyboard now requries both pins specified for begin()
 
 keyboard.begin(data_pin, irq_pin);
 
 Valid irq pins:
 Arduino Uno:  2, 3
 Arduino Due:  All pins, except 13 (LED)
 Arduino Mega: 2, 3, 18, 19, 20, 21
 Teensy 2.0:   All pins, except 13 (LED)
 Teensy 2.0:   5, 6, 7, 8
 Teensy 1.0:   0, 1, 2, 3, 4, 6, 7, 16
 Teensy++ 2.0: 0, 1, 2, 3, 18, 19, 36, 37
 Teensy++ 1.0: 0, 1, 2, 3, 18, 19, 36, 37
 Sanguino:     2, 10, 11
 
 for more information you can read the original wiki in arduino.cc
 at http://www.arduino.cc/playground/Main/PS2Keyboard
 or http://www.pjrc.com/teensy/td_libs_PS2Keyboard.html
 
 Like the Original library and example this is under LGPL license.
 
 Modified by Cuninganreset@gmail.com on 2010-03-22
 Modified by Paul Stoffregen <paul@pjrc.com> June 2010
 */
#include <PS2Keyboard.h>
const int DataPin = 2;
const int IRQpin = 3;
PS2Keyboard keyboard;
void setup() {
  delay(1000);
  keyboard.begin(DataPin, IRQpin);
  Serial.begin(9600);
  Serial.println("Keyboard Test:");
}
void loop() {
  if (keyboard.available()) {
// read the next key
    char c = keyboard.read();
// check for some of the special keys
    if (c == PS2_ENTER) {
      Serial.println();
    }
    else if (c == PS2_TAB) {
      Serial.print("[Tab]");
    }
    else if (c == PS2_ESC) {
      Serial.print("[ESC]");
    }
    else if (c == PS2_PAGEDOWN) {
      Serial.print("[PgDn]");
    }
    else if (c == PS2_PAGEUP) {
      Serial.print("[PgUp]");
    }
    else if (c == PS2_LEFTARROW) {
      Serial.print("[Left]");
    }
    else if (c == PS2_RIGHTARROW) {
      Serial.print("[Right]");
    }
    else if (c == PS2_UPARROW) {
      Serial.print("[Up]");
    }
    else if (c == PS2_DOWNARROW) {
      Serial.print("[Down]");
    }
    else if (c == PS2_DELETE) {
      Serial.print("[Del]");
    }
    else {
// otherwise, just print all normal characters
      Serial.print(c);
    }
  }
}
OJO: este código es utilizado solo para la prueba de test, no para el código final de USBKEYBOARD ATARI 800XXL.

Lo otro es que deben tener una librería para ejecutar, que la dejo adjunta, si no saben agregar esta librería pregunten.
Adjuntos
PS2Keyboard.zip
librería usbkeyboard arduino
(10.75 KiB) Descargado 114 veces

Avatar de Usuario
dogdark
Mensajes: 594
Registrado: Lun Mar 04, 2013 1:36 pm
Contactar:

proyecto 800 XXL new model

Mensaje por dogdark » Vie Sep 09, 2016 2:26 pm

Siguiendo con el proyecto, no crean que lo deje botado, al tiempo que puedo sigo, ahora agregue la opción de una lcd para enviar algunos datos para ayuda y configuración que tendrá el atari.

la configuración es para cambiar las unidades de disco tanto como la 1050 y la xf modificada que ira incluida en el proyecto. esta configuración la podrás cambiar a gusto de cada uno, como dejar la 1050 como primaria y la xf como esclava o viceversa según el gusto de cada uno. el código del arduino me funciona en un 90 %; solo tengo problemas con el agregado de las teclas de función, que al presionar la tecla CTRL+G se presiona como F6, pero es cosa de encontrar algún campo libre y enviar ahí la tecla F6.

bueno la idea que tengo en mente, es poder enviar el dato directamente al integrado 4051. y no colocar la enorme cantidad de integrados que en teste momento me suplen el keyboard connector, acá es donde necesito ayuda de alguien que le pegue bien al tema del pokey,

Imagen

según la foto anterior yo ¿tendría que enviar el dato a través de binarios al KR1? o le envió código hex o ando muy lejos?

la idea es bajar la cantidad de integrados 74hc595 y los 4066 que estoy usando como puentes para cruzar las señales entre OUTPUT E INPUT y enviar la señal dircta desde el arduino como hex o bin.

Responder