• Este topico es para comentar cuales son nuestras ideas acerca del sistema operativo o lenguaje del proyecto para hacer una computadora, y tambien sobre las caracteristicas del sistema si quisieramos hacer algun modelo mas complejo.
    Para la maquina basica, podemos tomar varias decisiones, la mas simple es que arranque en BASIC, y si hacemos eso, podemos optar por el modelo de edicion en pantalla completa, como C64, MSX, Atari, o el modelo de edicion por linea, como el de las sinclair, que no deja ingresar o modificar una linea hasta que no quede libre de errores. El sistema de sinclair es un poco mas eficiente en maquinas con pocos recursos, pero es muy cerrado, complica la ampliacion posterior del lenguaje, mientras que el sistema de pantalla completa es mas flexible pero deberia complementarse con un buen chequeo de errores, que indique bien donde esta el error en la linea, y por supuesto requiere mas memoria para trabajar.
    De ser un BASIC sin numeros de linea, requeriria implementar un editor de texto y luego alguna manera de correr el programa con menues, o con una pequeña ventana de modo directo.
    Por otra parte, se puede hacer que arranque un sistema operativo antes del BASIC, aunque sea muy basico, algo que permita por ejemplo entrar al BASIC o cargar algun programa de tarjeta flash o cartucho ROM, por ejemplo la MSX que chequea si existe una disketera con diskette de inicio de CP/M o MSX-DOS (en este caso seria chequear si hay una tarjeta flash colocada con determinado archivo para cargar) o la TI99 que chequea si hay un cartucho y muestra un menu para seleccionar BASIC o el cartucho.
    Habria que ver tambien que tipo de lenguaje se implementa, en principio, si se usa un 6502 ya tenemos un BASIC para empezar, pero no se si dispone de instrucciones graficas ni de sonido, e imagino que es algo que todos querrian, por lo cual habria que ver que tipo de instrucciones se pueden agregar.
     

  • Ya estuve leyendo los threads acerca del proyecto. De electronica se poco y nada. De programación se un poco más.

    Está bueno eso de que la maq busque diskete y arranque desde ahí antes. Y que sino vaya al Basic.

    Estaría para programar un DOS para esa maquinita. Aunque sea con los comandos básicos: dir, md, cd, etc. Y algún editor de texto.

    Saludos
    Maxi biglaugh
     

  • Buenas,

    me parece que lo más simple sería tener una especie de "Monitor", en el cual uno pueda escribir instrucciones en asm. Al comienzo, implementar esto y grabarlo en un EEPROM no debería ser tan complejo como escribir un SO.
     

  • Si, hay que implementar un monitor, y si se puede un ensamblador y un desensamblador simples, si queremos algun dia hacer un lenguaje como BASIC sera una practica necesaria poder traducir numeros a nemonicos y viceversa. Pero creo que en vez de leds habria que usar LCDs de texto inteligentes como el PC1601 de powertip, que tiene una linea de 16 caracteres. Eso serviria como pantalla para editar lineas al principio, y mas adelante cuando tenga salida de video mas compleja, serviria de debug.
     

  • Este topico es para comentar cuales son nuestras ideas acerca del sistema operativo o lenguaje del proyecto para hacer una computadora, y tambien sobre las caracteristicas del sistema si quisieramos hacer algun modelo mas complejo.


    Si pudiera metería una rom con http://www.symbos.de/
     

  • Tendrías (tendriamos) que ponernos en contact con Guillermo Flook (Flyguille). No tengo el gusto de conocerlo, pero trabaja en ése proyecto hace unos cuantos años.
    He visto videos en una MSX2 con un Z80 a 3,8 Mhz y sin ningún aditamento especial de hardware!!!
    Realmente impresionante el trabajo de ésta persona.
     

  • hay muchos SO minimalistas, sin duda podemos nombrar a contiki, GEM, symbos, etc, etc.
    Todo depende, si hay interés o no en desarrollar algo nuestro.
    Hay que recordar que este proyecto no tiene ninguna utilidad práctica. Nadie va a usar esta futura computadora como máquina principal.
    Por ahí sería interesante entonces diseñar nuestro OS para expandir nuestro aprendizaje.
     

  • Si, yo creo que la idea es aprender, y hacer algo que sea completamente entendible, que uno pueda leer las hojas de datos de los chips usados y entender como funciona en la maquina. Es tentador utilizar algo hecho y avanzado, pero requeriria determinado hard y terminariamos clonando una maquina ya existente, algo que seria muy caro y probablemente no sea posible.
    En mi opinion, un camino de evolucion del sistema podria ser, primero implementar un monitor basico con rutinas de E/S y un editor basico en ROM (tarjeta MMC+RAM o lo que sea), en principio podria tener un LCD como el powertip PC1601 de texto, una linea de 16 caracteres (cuesta alrededor de U$S 8 en Bs. As.), y mas adelante implementar algun chip de video. Despues se podria implementar un editor de pantalla completa, o de lineas (como la spectrum y otras) que funcione directamente en el chip de video, y use el LCD para informacion de debug del sistema (errores, estado de registros o rutinas).
    En cualquiera de las versiones, LCD o chip de video, seria interesante implementar un ensamblador/desensamblador simple, es decir con direcciones, sin etiquetas ni variables, y un editor hexadecimal para alterar la memoria.
    Despues de eso ya tendria que ser todo con chip de video, seria bueno estudiar el BASIC para 6502 que ya esta hecho, y a partir de ahi ampliarlo o implementar uno desde cero. Mas adelante cuando el proyecto este mas maduro, ver la posibilidad de agregar alguna unidad de diskette y crear un DOS basico que maneje todas las unidades (disketeras, memorias flash, ram disk) de manera uniforme, para que sea transparente a los programas el manejo de cada unidad. Despues como algo ya muy avanzado se podria experimentar en adaptar el BASIC para correr varios programas simultaneamente, y optimizar el BASIC lo mas posible para eso y para tener una buena velocidad. Tambien habria que empezar a aprovechar las caracteristicas especiales de la maquina en el BASIC, tales como sonido y graficos, y pensar un mecanismo para permitir la expansion con placas, por ejemplo dejar el video o el sonido en placas separadas, y que la maquina al iniciar pueda detectarlas y agregar las rutinas propias en ROM al sistema principal en el arranque.
    Asi que como ven hay un largo camino, que puede tomar años, no se si llegaria a un entorno grafico, personalmente no me interesa mucho eso, ya hay maquinas hechas que lo manejan mejor, y aunque pudieramos hacer un sistema grafico, no habria programas que corran en el, mientras que en BASIC o assembler nosotros mismos al menos podriamos hacer utilitarios de sistema y algun que otro juego. Si algun dia llegamos a un entorno grafico con ventanas, tendriamos que hacer un lenguaje de programacion grafico, para que al menos desde ahi se puedan desarrollar aplicaciones, y eso si que es bastante trabajo, porque lo grafico esta muy lejos del codigo maquina, y necesariamente tendriamos que hacer un compilador.
     

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