• Por favor no te olvides de este tema.
    Cuando puedas scanealo, yo el viernes me voy por 15 dias alcampo a trabjar como paso antes, asi es mi vida, vio, pero por lo menos a mi me parece muy interesante.
    Lo que si desde alla no voy a tener la mulita, pero si podes y tenes banda andha me lo podrias pasar por mail ?

    Gracias desde ya


    Ok, Master, creo que podemos organizarnos.. hasta ahora solo a WOZ y a vos les interesa.
    Podemos hacer así como hicimos con Dieguito con el manual de la DPF-550... Yo lo voy escaneando en 300 DPI para armar el PDF, pero voy mandandole a quien le interese a su casilla de mail los archivos GIF o JPG en 150 DPI que se ven bastante bien.
    La otra es que me recomienden un lugar donde subir archivos para compartir que no me pida el mail para registarme (siempre me terminan haciendo spam)... cosa dificil.
    O la última: puedo probar de subirlos a PICASA... tengo un album ahi.


    Si es posible agregame a la lista también. Es interesante porque estoy más familiarizado co nel 6502 así que un documento como este que explique el uso del Z80 esta buenisimo
     

  • hablando de propellers y basic stamp. Yo tengo un basic stamp de parallax acá dando vuelta. No es gran cosa lamentablemente. Como dijo pastbytes es un simple pic con un intérprete de basic. Pero es muy poco potente. Realmente más que una aplicación embébida simple no se puede hacer.

    De todos modos, los PICAXE son similares, o sea un PIC con basic, pero tienen como 5 modelos distitnos, el más groso es bastante potente y hasta se podría usar como proceador principal para alguna prueba inicial.
     

  • Y si usamos la casilla de gmail publica que tenemos para este tipo de cosas? Digo porque sino vas a tener que enviar los archivos 2 o 3 veces a cada casilla. Asi envias una sola vez y los que quieran entran y lo bajan.


    El tema es el siguiente, escanear ese libro no es algo prioritario para mi, excepto que sea algo importante para ustedes, si al menos uno me va haciendo acordar de que le vaya mandando las cosas me sirve como recordatorio y como obligación, por eso nomás necesito una referencia. Una vez escaneado todo supongo que se hará más facil el intercambio.
    Si quieren que lo suba a Gmail no hay problemas, el tema es como hago. lo mando por mail a retrocomputacion(arroba)gmail.com?


    Mandalo a EMAIL (acordate del punto despues de retro) y los que necesiten los datos para bajarlo pidanlos por mensaje privado.
     


  • ...es bueno para aprender como funciona un microprocesador, no se si tan adecuado para aprender como funciona una computadora entera, ya que la velocidad no permitiria ejecutar tareas que son comunes en las computadoras (como refrescar el video o administrar interrupciones de E/S), y tendria que simplificarse bastante el diseño. Por otro lado, creo que usar un conjunto de instrucciones propios, desaprovecharia una gran ventaja de la maquina, que es el aprovechamiento en escuelas. Seria mas adecuado en todo caso emular un 6502 con el PIC, con la ventaja de poder correr paso a paso y analizar el estado de los registros internos, y correriamos con la ventaja de poder aprovechar los compiladores cruzados para 6502 en la PC o cualquier plataforma, para desarrollar soft que corra en ese micro virtual..


    El otro dia cuando ley esto me cope y estube como 2 horas escribiendo un emulador de 6502 para PIC.
    Cuando termine lo del teclado, sigo con esto. Es un proyecto lindo para aprender, pero hasta ahi.
    Mi meta es conectarlo con una RAM, una flash serial, un puerto RS232, un PIC controlador de teclado y sonido y un BUS donde va a haber un LCD grafico 128*64. La idea es hacer correr un interprete basic (el gratuito o una modificacion del de la C64)
    Igual, cuando el harware ande bien (pruebas minimas de enviar algunos bytes en la ram, leer el taclado, etc) hago un emulador en la PC (usando un emulador de 6502 ya hecho, ese si que no lo escribo yo) y asi pulo el firmware.


    Yo queria utilizar un chip que corra codigo Java binario, estuve investigando y al parecer Sun diseño un chip asi hace años pero lo discontinuo, no se bien como se hace ahora pero creo que todas las maquinas que corren Java implementan la maquina virtual por soft (me refiero a celulares, handhelds, etc.).


    Los celulares usan ,creo,todos o casi todos el ARM (hay distintas versiones y fabricantes, es un standart).
    Yo tambien escuche hace un tiempo eso del micro de Java, que era el futuro y cosas asi, pero tene en cuenta que JAVA es de muy alto nivel, resuelve muchas cosas en tiempo de ejecucion, y tiene toda la ram estructurada en tablas, heaps, y hace referencia a los objetos no por punteros asi nomas, y tiene muchas reglas que cumplir etc, etc. El micro no va a hacer todo eso, seria un diseño que facilitara ese manejo, y para hacer eso seguro que es mas factible tener  un micro eficiente y bien probado (el ARM por ejemplo) y hacer un interprete de JAVA con mas tiempo (podes tocar mas del firmware que del diseño del micro o microcodigo).
    Digo yo, mi analisis, ya verdad que no segui la evolucion de este tema, pero la vez que intente programar en JAVA, me asomblo el alto nivel del lenguaje, yo pensaba que era C un poco mas comodo, pero nada que ver
     

  • Vos escribiste ese programa adjunto?
    De java nunca hice nada, imagino que es de alto nivel pero no tengo idea de que tanto, me interesaba por la portabilidad, pero es cierto, trabaja con objetos y esta diseñado para multitarea, asi que no creo que sea muy adecuado para una maquina de 8 bits. En algun momento tengo intencion de hacer desarrollos con los ARM, estuve mirando un poco y tienen bastantes chips de soporte, incluso chips de video 3D, pero es una tecnologia muy avanzada, no me preocupa tanto escribir el soft, sino los requerimientos fisicos (el tamaño muy reducido para soldar) y de interconexion (que estan diseñados para maquinas portatiles y buses modernos y complejos).
    Lo que todavia es un misterio es que tan accesible es el desarrollo, por ejemplo, los PICs se popularizaron porque el MPLAB es gratis y Microchip puso a disposicion la informacion para construir un programador barato, mientras que otros microcontroladores tenian soft de desarrollo pago, y programadores propietarios y caros.
    No se que tan cerrada sera esta empresa con respecto a los desarrolladores, ademas me preocupa mucho que se discontinuen los micros tan rapido, y no se que tan facil es la migracion entre uno y otro, tengo que investigar un poco mas antes de arriesgarme a comprar algun micro o kit de desarrollo.
    Lo del emulador de 6502 esta muy bueno, pero no se a que velocidad pueda correr, si puede correr a 100 mil instrucciones por segundo podemos considerarlo un exito, esto a 20MHz nos daria como 50 instrucciones de PIC por instruccion del 6502, asi que nos da buen margen, ademas hay que tener en cuenta que las instrucciones complejas tardan mas en el 6502 asi que hay mas margen todavia.
    Lo que si, hay que decidir de que manera se emula, si es completamente real, respetando los tiempos de los ciclos de reloj (y desperdiciando tiempo en algunas instrucciones) o ejecutando cada instruccion lo mas rapido posible, aunque los tiempos de ejecucion con respecto a un 6502 real no mantengan la relacion.
     

  • El codigo ese es la base para el emulador, le falta un toco, pero lo groso creo que estaria. Esta la tabla de los Opcodes, tengo que hacer que segun el valor salte al codigo de la instruccion.
    Despues tengo que definir las variables que va a usar vA,vX,vY,vIP,.... y despues escribir el codigo de las macros que hacen las operaciones comunes, por ejemplo cargar un byte desde la RAM a un registro. Hasta ahora las macros las uso como si exixtieran, asi veo cuales necesito, y a lo ultimo las escribo.
    Tambien tengo que esribir las macros para que actualice los flags en base a los flags del pic, eso va a comer muchos ciclos.
    Va a ser lentisimo, pero esta bueno en base a una tabla de instrucciones ir escribiendo el codigo, es una operacion muy rutinaria y repetitiva, pero a mi me gusta, y te interiorizas un monton en el funcionamiento interno del micro, aunque es frustrante ver la diferencia de tiempos (ciclos) entre ejecutar algo desde hardware a escribir un programa, como por ejemplo poner una direccion en el bus y sacar un byte, en programa son unos cuantos pasos.
    Tal vez llegue a los 50 instrucciones por segundo, no lo analice, de hecho no esoy muy interiorizado en el tema de la velocidad de ejecucion del 6502 real y no es mi objetivo.



     

  • Acerca del ARM:
    Yo estoy haciendo un proyecto groso para otra empresa, escribiendole el firmware a un equipio que usa ARM7 (ahora se usa creo que el ARM9) y corre a 30Mhz creo (es una placa de 4 o 6 capas, no es para hobby). Seguro que sale a la venta y va a ser, despues de tantos años programando micros, lo primero no escrito para Windows/DOS/Win Pocket PC que sale al mercado, despues de muchos proyectos truncos.

    La cosa es que yo lo escribo todo en Visual C en windows, tengo funciones que emulan su hardware y le paso al ingeniero de aquella empresa el codigo fuente y las declaraciones de las funciones / driver y el escribe una funcion con ese mismo formato pero que corre en el hardware real.
    Esta forma de trabajar funciona joya, y de hecho las funciones/driver realizan operaciones muy chicas, casi todo estan en C generico windows/arm, y nunca hizo falta profundizar mas en temas de bajo nivel, de hecho no se el ASM del micro ese, ni nadie en este proyecto, y todo anda bien.
    Asi que nunca tube acceso al compilador real, salvo alguna demostracion que me hicieron, pero se que salio una fortuna y usa llave y tal vez encuentres en el emule alguna version crackeada, pero no la que buscas vos.  >:(
    El compilador Emmbeded Visual C de MS compila para ARM y es gratuito y esta muy bueno (yo lo use para Pocket PC) pero no se si lo podes reutilizar para cualquier arquitectura o esta pegada a Pocket PC.

    Tambien estoy con otro proyecto con un freescale (ex motorola), pero seguro que queda trunco  :-[
    El compilador del freescale (pariente del 6502) es el codewarior y es gratuito para compilaciones de hasta 32Kb, y eso esta bueno, porque podes evaluar bien el hardware antes de comprar la licencia (que creo que son unos 2000 u$s) y tenes todo lo mismo (salvo C++ y algun otro chiche que no me interesan en microcontroladores) y monton de documentacion y ejemplos. Nunca compre un micro por mi cuenta, pero no se si son muy caros, pero voy a ver si mas adelante pruebo.


     

  • Mil gracias ricardo por el email con el escaneo del libro, se ve muy bien!
     

  • A ver que les parece una primera especificacion, una maquina bien simple con componentes mas o menos modernos, es decir que todavia se consigan o fabriquen.
    El problema mas importante era el chip de video, encontre este de ST Microelectronics, el STV9410, que tiene salida RGB digital y tambien para un LCD grafico monocromo.
    Lo mire de pasada nada mas, pero por lo que veo tiene 8 colores, no estoy seguro si soportaria una señal de 15KHz como la TV, o de 31KHz para usar un VGA. El chip incluye la definicion de los caracteres, por lo cual no requiere ROM como los chips de video clasicos, e incluye 6K de memoria de video, en los cuales tambien se pueden definir algunos caracteres.
    El chip no soporta modo grafico, pero la resolucion es de 320x200 pixels, ya que la resolucion de texto es de 40x25, y la matriz de caracteres es de 8x8 pixels. Entre los caracteres definidos hay graficos, y eso sumado a los caracteres definibles nos daria la posibilidad de implementar incluso juegos similares a los de Spectrum, con la salvedad de que solo podemos usar caracteres y no fondos graficos. La ventaja es que la resolucion es mayor, pero los colores son los 8 basicos, sin posibilidad de brillo extra.
    Por lo que veo se conecta con el microprocesador a traves de 3 pines, con un puerto serie SPI, lo cual nos simplifica mucho las cosas.
    Basicamente la maquina consistiria en un 65C02 de WDC, que creo todavia se fabrican (o algun 6502 antiguo), el chip de video STV9410, alguno de los chips flash compatibles con EPROM que se consiguen, digamos uno de 16 o 32K, y podriamos llegar a adaptar un SIMM de 72 pines de 4MB que son los mas comunes, para tener 64K totales. Se podria adaptar el Tiny BASIC para 6502 y escribir alguna que otra rutina de entrada/salida en ROM.
    Como teclado se podria usar un PS2 por medio de un PIC, que tambien podria generar un sonido basico como el beeper de la PC o la Spectrum. Como unidad de almacenamiento se podrian usar, una tarjeta MMC/SD, cosa que se complicaria un poco porque habria que interpretar el sistema FAT para poder intercambiar datos con la PC, o implementar un puerto serie compatible con disketeras 1541/1571, y utilizar esos diskettes, lo cual seria bastante mas simple pero nos complicaria por la obligacion de usar diskettes o tener que conectar la disketera a la PC o a la C64 para pasar datos.
    Eso seria una maquina como para que cualquiera pueda armarla con componentes conseguibles, pero ademas me gustaria hacer una con un 65816, de 16 o 20MHz, tambien usando SIMMs de 72 pines para la memoria, pero esta vez con un chip de video Yamaha V9938 (el de la MSX2), con al menos un SID y varios chips de E/S. Por tratarse de chips mas complicados de conseguir (el V9938 por ejemplo), la especificacion final de la maquina todavia no esta definida, y quedaria para bastante mas adelante.
    Va adjunta la hoja de datos del STV9410.
     
  •  

Moderador (s): homecomputer, Selandari, ArielP, pastbytes, Durandal