Un Joystick, un teclado y un ratón para el PCW

daquena
Mensajes: 127
Registrado: 17 Jul 2011 19:15

Re: Un Joystick, un teclado y un ratón para el PCW

Mensajepor daquena » 20 Sep 2011 22:44

Último mensaje de la página anterior:

gracias a todos, sobre todo a vcoraba, sin él, este proyecto estaría muchísimo más atrasado.
Por cierto, en otro foro se está planteando el hacer un paddle o sppiner para jugar a juegos tipo Arkanoid... Os mantendré informados...

Yo ahora estoy implementando el código para conectar al mismo chisme un teclado y un ratón, y a ver si hay suerte y sale pronto el MAX Desktop.

Saludinos, y muchísimas gracias!!

dancresp
Mensajes: 5669
Registrado: 13 Nov 2010 02:08
Agradecido : 343 veces
Agradecimiento recibido: 470 veces

Re: Un Joystick, un teclado y un ratón para el PCW

Mensajepor dancresp » 20 Sep 2011 23:40

Felicidades !!!

Os habéis currado un montaje con su hilo correspondiente, flipante y muy instructivo.
Buscando la IP de la W.O.P.R. he encontrado mi índice

daquena
Mensajes: 127
Registrado: 17 Jul 2011 19:15

Re: Un Joystick, un teclado y un ratón para el PCW

Mensajepor daquena » 23 Sep 2011 09:51

Hola de nuevo!
Volví a la vida... XDD
Pues os explico, el código para conectar el teclado PS2 al PCW ya está implentado, pero necesita de al menos 2Kb de memoria Flash, y ahora (Estoy esperando el güeno) solamente dispongo del microcontrolador PIC16F84, que tiene un modesto kb... Se podría "meter" en un PIC16F628 (2Kb) o en un PIC16F88 (4Kb), pero tengo pedido este último, ya que cuando termine con el ratón, me imagino que ya no llegue ni siquiera con los 2kb del 628...
Bueno, os comento.
El teclado del PCW, como todos sabréis, es diferente al de PC (Un AT), tanto por disposición/cantidad de teclas, como eléctricamente.
El teclado AT, cada vex que pulsas una tecla, envía hacia el PC un código (Un byte), distinto para cada una de ellas, y cuando se suelta, envía el mismo código, pero con byte indicando que se ha soltado antes que el propio código.
El teclado AT, dispone, además, de un teclado "extendido", que son más teclas que las que tenía originalmente, estas son las flechas de dirección y los botones del bloque justo encima, así como el INTRO del teclado numérico, ALT GR y CTRL de la derecha. (Las que voy a usar, hay más, sobre todo en los teclado multimedia).
El microcontrolador tiene que interpretar estos códigos, para ello, el teclado AT tiene dos señales, una de datos y un reloj.
El reloj, en modo IDLE (Espera)está en estado lógico "1", cuando pasa a "0" sabemos que el sioguiente ciclo de reloj va a ser el primer bit del byte del código. Entonces desviamos la atención del PIC del Joystick para centrarnos en el teclado (Apenas unos pocos milisegundos), leemos el byte, lo interpretamos, si es pulsar o soltar, o si se trata también de un código de tecla extendido.
Cuando sabemos cual es, colocamos el bit que le corresponde en la tabla (Hace unos post) y seguimos con la vida normal del programa, cuando envía la trama al PCW, envía también el estado del teclado AT.
Cuando se suelta la tecla (Envía el código para ello), entonces volvemos a establecer el bit correspondiente de la tabla en la trama que se envía al PCW.
Todo esto, ocupa casi 2 Kb de programa. Necesitamos un PIC con más Flash.

EL RATÓN
El ratón estoy aún implentándolo, y funcionará de la siguiente manera:
Codificaremos las señales del ratón PS/2 en los bytes 0xB, 0xC, 0xD y 0xE de la tabla, quedando la misma como en la imagen de abajo.
Esta trama es la que emplea el ratón KEYMOUSE para PCW, entonces en las aplicaciones que empleen ratón, seleccionaremos el KeyMouse.
Lógicamente tendrá menos resolución que la que el mismo ratón tendría en un PC, ya que en el PCW "solamente" tendrá 128 (0 a 127) puntos de desplazamiento (En X y en Y), y en el PC tiene 512 (De -255 a 254, tanto en X como en Y).
La tabla con la que trabajaremos a partir de ahora es la siguiente:
Imagen

Pues de momento nada más, por ahora a seguir escribiendo el código a ratillos, y en cuando tenga todo (Soft & Hard) expondré los resultados.

Saludinos!!!!

EDITO: Que se me olvidaba, el ratón PS/2 tiene varias formas de trabajar, por defecto, está enviando una trama siempre, con el estado del ratón (Posición y botones), pero esto nos "atascaría" el PIC. Se podría añadir otro controlador al circuito para que interpretara el ratón, pero, se puede solucionar, simplemente cambiando el modo de funcionamiento. Si hacemos funcionar el ratón en modo "remoto", cuando enviemos un código al mismo (F0), este entra en modo "esclavo", solamente nos enviará el estado cuando nosotros le enviemos el código EB, que lo implementaré una vez en cada envío de la trama al PCW. En vez de tener una resolución de ratón 100 por segundo (Lo normal en un PC), la tendremos (aproximadamente) en unas 20 ó 30 veces por segundo (Creo que es aceptable).
Ahora, si, a trabajar un ratillo.
Saludinos!!!!
PD: Edito tb el nombre del post XDDDD...

vcoraba
Mensajes: 299
Registrado: 29 Oct 2010 15:07
Agradecido : 1 vez
Agradecimiento recibido: 1 vez

Re: Un Joystick, un teclado y un ratón para el PCW

Mensajepor vcoraba » 23 Sep 2011 11:04

OLE!!! Daquena al ataque!!

daquena
Mensajes: 127
Registrado: 17 Jul 2011 19:15

Re: Un Joystick, un teclado y un ratón para el PCW

Mensajepor daquena » 25 Sep 2011 02:23

Pues no pude esperar al 88... entonces lo que hice fue quitar bastante código, solamente dejé la parte de envío hacia el pcw (Deshabilite la parte de Joystick) y un par de líneas del teclado AT...
¿El resultado? Como era de esperar, malo, bastante malo...
Imagen

No obstante, me entretuve en añadirle los conectores PS2 (Reciclados desde una placa base viejuna) y su mini circuitillo para adaptarlo al microcontrolador:
Imagen

El caso, por alguna razón, el bit de la tecla se pone a 1 cuando SUELTO LA TECLA!!! y como era de esperar, se queda en 1 hasta que desenchufo el circuito y vuelve a enviar una trama de "0"...

Hay que trabajar con ello, a ver si de aquí a navidad puedo tener terminada la idea inicial.
Enga, Saludinos!!!

daquena
Mensajes: 127
Registrado: 17 Jul 2011 19:15

Re: Un Joystick, un teclado y un ratón para el PCW

Mensajepor daquena » 26 Sep 2011 00:12

Subo contento de la retro-corripa... con el pic16f84 he podido escribir en la pantalla del PCW en un teclado PS/2 estándar los caracteres : 1234567890qwertyuiopasdf ESPACIO RETURN BORR (Que son los que me entraban en la memoria, ya que el código para enviar la trama al pcw desde el pic es bastante amplio, como de unos 600 ó 700 bytes, y este micro solamente tiene 1024).
El caso, deseando caiga ya en mis manos ese peazo de microcontrolador con 4 kb... no lo veo venir...
Mientras llegue (Dependo de un taller de audio en Mieres) voy a ir escribiendo el código para el ratón... un KeyMouse de esos... a ver si sale...
Saludinos!!!

daquena
Mensajes: 127
Registrado: 17 Jul 2011 19:15

Re: Un Joystick, un teclado y un ratón para el PCW

Mensajepor daquena » 10 Oct 2011 09:52

reduje tanto, tanto, pero tanto... que casi tengo mapeado el teclado completo... me faltan solamente 9 teclas y ya no sé de donde eliminar/modificar código... XDD a ver si sale de una vez

Avatar de Usuario
ron
Mensajes: 19574
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 2478 veces
Agradecimiento recibido: 2270 veces

Re: Un Joystick, un teclado y un ratón para el PCW

Mensajepor ron » 10 Oct 2011 19:41

daquena, oye socio, al final podrías hacer una estimación del coste del tu invento, de forma orientativa y cuantos componentes necesitas finalmente ? ? ?

o sea, precio suelto y ya montado.

Gracias

daquena
Mensajes: 127
Registrado: 17 Jul 2011 19:15

Re: Un Joystick, un teclado y un ratón para el PCW

Mensajepor daquena » 11 Oct 2011 02:22

Hola de nuevo. Te comento, para el teclado, solamente hace falta el PIC (En Oviedo me clavaron 6 luros por unidad) pero en Diotronic está a 2,20... y necesita de un par de resistencias, un cristal (unos 30 céntimos) y dos condensadores (2 céntimos cada uno), a parte del conector (Yo lo reciclé de una placa base de pc estropeada, pero no costará más allá del euro) y un conector para el PCW DIN4 macho, 25 céntimos veo en diotronic. Y a parte la placa, yo estoy usando para pruebas una perforada.
El caso, estoy a la (interminable) espera de que un conocido haga un pedido para su taller y que incluya en él un PIC16F88, que es bastante "mejor" que el 84 que estoy usando yo, tiene 4 Kb de memoria de programa (1 el PIC16F84) y el reloj es interno, incluso más rápido, hasta 8Mhz.
Cuando (por fin) llegue el pedido, seguiré haciendo las pruebas para poder embeber todo en un solo integrado, el teclado y el joystick. Ahora, cada uno por su lado funcionan, el joy (Va perfecto), y el teclado (No está mapeado por completo por falta de memoria), pero en cuanto me sea posible, iré posteando los resultados.
En un principio tenía pensado implementar también el ratón (Tipo key-mouse), pero no lo veo viable, al final es un controlador monotarea, y estar a alerta de el teclado (cada vez que detecta una pulsación atiende "a su llamada") inutilizando el resto y alargándola si se trata de la parte extendida, y más si es el código de "soltar tecla".
Es por ello que el otro día posteé una ligera idea de lo que quiero hacer por el puerto de expansión, que es simular un ratón tipo AMX o Kempston mediante uno tipo PS2 o USB y así que fuera el propio sistema el que gestionase su uso. Pero esto aún está bastante verde...
Bueno, el caso, que me voy camín del Urriellu...
Ahora, el "invento", para el Joy sale por unos 5 ó 6 euros (En Diotronic) o unos 10 en tienda de Oviedo (esa, la que hay) más un cacho de placa perforada. Un poco menos si es el teclado, ya que lleva menos parafernalia alrededor del PIC.
Calculo (Joystick)
* Cacho de placa perforada (1/16 parte): 4,00 € = 0,25€
* IC PIC16F84: 2,20 €
* Cristal 4 MHz: 0,29 €
* C 27pF 0,02 (x2): 0,04€
* R 10 K 0,03 (x6): 0,18 €
* R 1 K 0,03 (x6): 0,18 €
* Jumper: 0,02 €
* Conector DB9H: 0,79 €
* Cable: 1,00 € (por poner algo)
* Conector DIN4 M Aereo: 0,25 €
TOTAL: 4,95 € + IVA = 5,84 €
A esto hay que meterle los gastos de diotronic

Para el caso del teclado, algo menos, solamente lleva 2 resistencias, no lleva jumper, y en vez de un conector DB9, lleva uno MiniDIN6 hembra...

La verdad es que sale bastante asequible... si...

Bueno, a ver si consigo poder hacerlo "en condiciones" y entonces, cuando funcione como quiero que funcione, haré el diseño de un impreso para ello, de los de hacer en papel fotográfico, vamos, la sencillez como punto culmen del proyecto.

Venga, saludinos a todos!!!!!


daquena
Mensajes: 127
Registrado: 17 Jul 2011 19:15

Re: Un Joystick, un teclado y un ratón para el PCW

Mensajepor daquena » 11 Oct 2011 02:34

Añado esto en otro post, ya que al editarlo no me dejaba añadir adjuntos.
Los fuentes en Basic para el PIC simulator IDE son:
teclado.rarjoystick_2.rar
Así, si alguien quiere ir haciendo experimentinos con ello, ya puede hacerlo funcionar por partes. Ojo, el teclado no está al 100%
Saludinos!

dancresp
Mensajes: 5669
Registrado: 13 Nov 2010 02:08
Agradecido : 343 veces
Agradecimiento recibido: 470 veces

Re: Un Joystick, un teclado y un ratón para el PCW

Mensajepor dancresp » 11 Oct 2011 09:18

Esta claro que el que la sigue la consigue.

Un hilo muy interesante, daquena.
Buscando la IP de la W.O.P.R. he encontrado mi índice

Avatar de Usuario
ron
Mensajes: 19574
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 2478 veces
Agradecimiento recibido: 2270 veces

Re: Un Joystick, un teclado y un ratón para el PCW

Mensajepor ron » 11 Oct 2011 19:49

daquena, el conde de retrowiki !!! que muchas gracias paisano.

Yo si por casualidad algún día haces uno y te sobra, para ratón y teclata me pido uno, conde ya lo pediste tu.

vcoraba
Mensajes: 299
Registrado: 29 Oct 2010 15:07
Agradecido : 1 vez
Agradecimiento recibido: 1 vez

Re: Un Joystick, un teclado y un ratón para el PCW

Mensajepor vcoraba » 14 Oct 2011 22:21

Pues nada, después de unos días sin poder dedicar un minuto al tema, al fin he podido dar forma, aunque sea a "mi puta bola" de la Daquena joystisck solutions...
la he implementado directamente en el teclado y si, esta en placa de prototipo por que no tengo tiempo de hacer la placa, ademas estoy esperando a poder ayudar con las rutinas del raton, y así podre implementarlo sin hacer una nueva placa. ya se me hace la boca agua....
ImagenImagenImagen

daquena
Mensajes: 127
Registrado: 17 Jul 2011 19:15

Re: Un Joystick, un teclado y un ratón para el PCW

Mensajepor daquena » 14 Oct 2011 22:49

todo un genio!!!! sip señor!!! Al final lo montaste con un 84? por el cristal... yo sigo a la espera, pero si quieres, pillo un ratín y "mezclo" los códigos de teclado y joystick para un 88, a ver si así sale.
Saludinos!!!
Edito: Confirmo que es un 84, jajaja. Gracias!


Volver a “Amstrad PCW”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado