Autor Tema: Poyecto: Maquina SIMPLE de videojuegos  (Leído 33753 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: Poyecto: Maquina SIMPLE de videojuegos
« Respuesta #45 en: 12 de Julio de 2008, 11:31:09 »
Perfecto, espero hasta la tarde haber si alguien se le ocurre algo mejor, y si no, actualizo el esquemático. Cuando vean que la actualización está correcta, subo la primera versión del PCB.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: Poyecto: Maquina SIMPLE de videojuegos
« Respuesta #46 en: 12 de Julio de 2008, 14:56:12 »
Lista de funciones (provisoria, ampliable y cuestionable) a implementar:

- limpiar_pantalla ()
Limpia la pantalla. Es decir, la “pinta” con el color de fondo, que seria por defecto del color “0”

- punto (int x, int y, int color)
Dibuja un punto en (x,y) con el color color.

- linea (int x1, int y1, int x2, int2,int color, int grosor)
Traza una recta entre (x1,y1) y (x2,y2) del color  y grosor especificado.

- rectangulo (int x1, int y1, int x2, int2,int color, int grosor)
Dibuja un rectángulo entre (x1,y1) (esquina superior izquierda) y (x2,y2) (esquina inferior derecha) del color  y grosor especificado. El interior del rectángulo se mantiene del color del fondo.

- caja (int x1, int y1, int x2, int2,int color)
Dibuja un rectángulo entre (x1,y1) (esquina superior izquierda) y (x2,y2) (esquina inferior derecha) del color especificado.

- Circulo (int x, int y, int radio, int color)
Dibuja un circulo con centro en (x1,y1), radio especificado y borde del color elegido. El interior se mantiene del color del fondo.
 
- Circunferencia (int x, int y, int radio, int color)
Dibuja un circulo con centro en (x1,y1), radio especificado y lo pinta del color elegido.

- char (int x, int y, int character, int fuente, int color)
Escribe un carácter en la posición (x1,y1) (esquina superior izquierda de la “caja” que contiene el carácter), de la fuente especificada. El color puede seleccionarse.
Implica definir al menos un juego de caracteres (tengo el de la C64 por ahi), guardarlo en la EEPROM en alguna posicion fija, etc.

- Bitmap ((int x, int y, word posicion_en_la_eeprom)
Dibuja un bitmap en la posición (x1,y1) (esquina superior izquierda de la “caja” que contiene el dibujo), desde la posición de la EEPROM especificada.
Esta es la mas complicada. Habria que ver el formato (BMP?), cantidad de colores, etc. Pero puede ser muy util para las pantallas de los juegos....

EDITO: El chipset del GLCD es el KS0108. Estoy mirando librerias existentes, y la forma de armar un archivo que pueda ser incluido en los proyectos CCS. Para los que quieran encarar en BASIC, tengo alguna ayuda (muy básica, pero puede servir para empezar) en PIC SIMULATOR IDE.

TODO LO REFERIDO A LA LIBRERIA EN CCS ESTA EN ESTE HILO.

« Última modificación: 12 de Julio de 2008, 15:42:27 por aitopes »
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: Poyecto: Maquina SIMPLE de videojuegos
« Respuesta #47 en: 12 de Julio de 2008, 16:19:52 »
YES!!!

Es un pequeño paso, pero significa que todo esta ok. Ya puedo hacer lineas! :)

Cuando depure todo, posteo el código. Recuerden, esto es solo para ponerles "los dientes largos...". De ahora en más, la libreria en CCS será tratada en su propio hilo. :)

Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: Poyecto: Maquina SIMPLE de videojuegos
« Respuesta #48 en: 12 de Julio de 2008, 20:25:18 »
Como nadie objetó nada, subo el esquemático como acordamos con Ariel. Si esta actualización, está bien, empiezo hacer el PCB.

Por cierto Ariel, felicitaciones por hacer andar el GLCD.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: Poyecto: Maquina SIMPLE de videojuegos
« Respuesta #49 en: 15 de Julio de 2008, 11:48:14 »
Hola!
Les cuento mis avances:
Estoy trabajando en la libreria de funciones gráficas. No queria usar la de CCs por una cuestion de licencias. Despues de dar un monton de vueltas buscando algoritmos veloces, encontre unos que no usan trigonometria ni raices cuadradas, un espectaculo. Que, casualmente, son los mismos que usa CCS!!!!!!

Pero bueno, yo los escribi por mi cuenta, y pienso hacer (ya me salio el fanatico de adentro) un articulito donde se explique claramente como funciona el algoritmo y la rutina. El "inventor" es un tal Jack E. Bresenham, que los expuso en 1962.

Conclusion, a la fecha podemos

- inicializar el GLCD
- borrarlo
- pintarlo
- dibujar puntos
- dibujar rectas
- dibujar rectangulos
- dibujar rectangulos pintados
- dibujar circulos
(y en un rato, elipses)

El dibujito de abajo, incluida la inicializacion del GLCD, demora 64 milesimas de segundo en ser completado. No está nada mal...mis primeras pruebas lo hacian en 177. Tendria que ver de hacer lo mismo con la libreria de CCS, para ver cuanto mas rapida que las mias son, pero tengo miedo de deprimirme...ja ja ja ja!


Aclaro que uso un 16F877A a 20 MHZ! El pic que elegimos trabaja a 40MHz, y tiene funciones matematicas (multiplicacion 8x8, por ejemplo) resueltas por hard, asi que quizas sea más rápido aún.

Voy a por la elipse, y luego a implementar el font de la C64 :)
« Última modificación: 15 de Julio de 2008, 11:50:24 por aitopes »
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado El_Guitre

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1046
Re: Poyecto: Maquina SIMPLE de videojuegos
« Respuesta #50 en: 16 de Julio de 2008, 12:11:09 »
Felicitaciones Ariel, tiene buena pinta esa libreria, y mas sabor tienen las cosas hechas por uno. Ya le vamos a hechar mano, tengo un display igualito a ese para jugar. Saludos.

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: Poyecto: Maquina SIMPLE de videojuegos
« Respuesta #51 en: 18 de Julio de 2008, 06:21:13 »
Noticias amigos.

He realizado el PCB, pero tengo 3 noticias malas y 3 buenas.

1° Buena: Realizé el PCB después de superar varios problemas, de lo cual me vi obligado a realizar de nuevo el esquemático por no rutear bien el programa.

1° Mala: El altium me dice que faltan rutear unos 6 rutas en total, que no logré encontrar. Puede ser que porque el autoruter no lo terminó, entónces lo terminé a mano y he violado algunas reglas que he puesto y por eso debe ser que me dice que faltan rutas. Para confirmarlo, me veré obligado a montarlo he ir probando con el tester todas las conecciones. En el Altium me fué imposible encontrarlo, a pesar que cada vez que paso con el ratón por arria de una ruta, me lo sobremarca para poder ver todo su recorrido.

2° Mala: Las rutas tienen un espesor de 0.2mm  :shock:

3° Mala: Es de doble cara (mala noticias para los aficionados en placa de doble cara)

2° Buena: Solo las resistencias se sueldan por las dos caras aquella que son necesarias, los demás componentes, se sueldan solo por la cara bottom layer.


Bueno, sin más preámbulos, adjunto el PDF para el que lo quiera imprimir.

Confieso que no tengo la menor idea de cuando lo voy a poder montar para hacer las pruebas y ver si anda o no. Pero prometo hacerlo en cuanto tenga un rato libre.

« Última modificación: 18 de Julio de 2008, 06:43:32 por Leon Pic »
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado El_Guitre

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1046
Re: Poyecto: Maquina SIMPLE de videojuegos
« Respuesta #52 en: 18 de Julio de 2008, 07:23:00 »
Leon, estuve mirando el PDF, te quedo muy lindo, pero estaba pensando... hay unas vias que pasan de lado a lado que quedarian debajo del micro? Se va a poder soldar esas vias y despues soldar el micro encima?

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Poyecto: Maquina SIMPLE de videojuegos
« Respuesta #53 en: 18 de Julio de 2008, 09:07:23 »
¡Ojo!, si el Altium no te ha terminado de rutear, ten cuidado porque alguna vez me ha ocurrido y luego me he encontrado con algún cortocircuito.
Y no te recomiendo las vías bajo el TQFP si vas a hacer la placa por medios artesanales.

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: Poyecto: Maquina SIMPLE de videojuegos
« Respuesta #54 en: 18 de Julio de 2008, 15:37:05 »
Gracias Guitre. Veo que Nocturno te a contestado. no se recomienda ya que debe ser dificil soldarlo manualmente.

Nocturno, gracias por el dato. No sabía que al no terminar de rutear, podría haber cortocircuito.


Ni modo, para no utilizar vías debajo del TQFP, tendré que utilizar un PCB más grande. Hay algo raro, cuando le indiqué en el PCB Wizard que quería el PCB de 92 x 70 mm, (me aseguré de elegir la unidad métrica), me dió al PCB más ancho y mas largo. Y me di cuenta cuando lo imprimí. ¿porqué pudo haber sucedido esto?
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: Poyecto: Maquina SIMPLE de videojuegos
« Respuesta #55 en: 18 de Julio de 2008, 18:34:43 »
Uffffffffffffff!
Leon, en menudo trabajo te he metido!!!!!!

Tomalo con calma, hay muchas más cosas para ir resolviendo, asi que hay tiempo.

Yo casi tengo la libreria, explicada y con ejemplos. He puesto un borrador aqui.

Hay algunas imagenes obtenidas del simulador, y ejemplos de uso de todas las funciones. Me gustaria documentar el algoritmo utilizado y demas cosas, pero creo que hasta mañana o pasado no voy a poder.

Saludos!
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado El_Guitre

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1046
Re: Poyecto: Maquina SIMPLE de videojuegos
« Respuesta #56 en: 18 de Julio de 2008, 21:15:39 »
Ariel: donde ese simulador es free? si es asi donde lo puedo descargar.

Leon: Si queres enviame el archivo del altium asi juego un rato con el ruteo y veo en que puedo ayudar. 

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: Poyecto: Maquina SIMPLE de videojuegos
« Respuesta #57 en: 19 de Julio de 2008, 19:27:55 »
Guitre y Ariel, muchas gracias.

He empezado a rutearla a mano de nuevo, pero esta vez totalmente a mano. De echo, estoy por lograr hacerla de 92 x 70 mm  :-/ De seguro para el lunes a la noche o martes a la mañana, lo estoy subiendo.

Guitre, te subo el proyecto completo para que lo modifiques a gusto. Pero hoy no estoy en mi casa, por lo que lo haré recién el lunes.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: Poyecto: Maquina SIMPLE de videojuegos
« Respuesta #58 en: 19 de Julio de 2008, 19:31:33 »
Hola Leon!

No te "mates" para que te quede super chiquita o de la medida del LCD.
Estaba pensando que seguramente se nos van ocurrir cambios y en poco tiempo tendremos una version "1.1" :)


El siguiente párrafo contiene ideas explicitas que pueden distraer al lector del proyecto actual.
Por un trabajo estoy mirando un poco los acelerometros....y quien sabe, si pusiesemos uno de dos ejes, se podrian hacer juegos que se manejen inclinando la pantalla. Me imaginaba una bola en un laberinto que avanza cuando vamos inclinando la pantalla para un lado y para otro ;)

Saludos!
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado El_Guitre

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1046
Re: Poyecto: Maquina SIMPLE de videojuegos
« Respuesta #59 en: 20 de Julio de 2008, 19:40:23 »
me prendo con la bola y el acelerometro y las paredes sin salida!

Leon, bueno subi nomas el archivo asi jugamos. De todas formas ya estoy viendo que vamos a tener que agregarle algunos componentes...