Una paranoia personal, por Urián

sinclair-zx81-box.jpgUna de las cosas que más me apasionan de la informática son los sistemas antiguos ya que sirven como un buen metodo para aprender a saber como funciona un ordenador por dentro de la forma más básica y comprensible posible.

Desgraciadamente hoy en día lo que se hace es enseñar 3 o 4 fundamentos de computación en el primer curso, algo de ensamblador 8086/8088 y ale, tirando, ni siquiera se enseña ensamblador en coma flotante y al final te acabas acordando de como empezó la industria de los videojuegos realmente, a base Basic+Ensamblador, nada de C, nada de APIs intermedias y mucho menos orientación a objetos, es más, las limitaciones de memoria les hacían ser altamente creativos a la hora de desarrollar los algoritmos.

El primer sistema que tuve en mis manos fue un Commodore64, este ordenador usaba como CPU una versión mejorada del 6502 llamada 6510 así como una serie de chips de apoyo, con un libro de Basic que herede de mi madre (le dio por hacer un curso en los 80 que dejo rápidamente) me puse a desarrollar programas sencillos sin interfaz gráfica ni sonora, la mayoría de ellos hechos para solucionar los problemas de la escuela.

Un buen día en la clase de informática le pregunte a mi profesor si podía hacer algo para aprender a programar en el C64, sus palabras fueron “uy chico, esto es muy difícil pero te puedo dar algo”, ese algo era ni más ni menos que dos libretas para que las fotocopiara, una de ellas era toda la información y registros del Spectrum ZX, el otro correspondía al Commodore64, abrumado por los enormes conocimientos incapaces de ser absorbidos en mis 15 años de dad me di por vencido pero fotocopie y guarde.

Con mi entrada en la carrera y teniendo que aprender ensamblador 8086 así como el funcionamiento interno de un ordenador dichos apuntes se volvieron mucho más útiles ya que he empezado a entenderlos pero mi Commodore64 ya no existe por lo que tenía que buscar otra manera de aprender a desarrollar para estos sistemas por lo que lo mejor era un emulador.

El motivo de aprender a desarrollar había pasado a ser completamente autodidacta, no entra en la universidad pero siempre he creído que tener ese conocimiento de como manejar un hardware antiguo puede ayudarme a encontrar cosas más allá del mundo relacionado con la informática multimedia, sobretodo si hablamos de microcontroladores. El caso es que me he puesto a aprender ensamblador 8086 para hacer cosas bien sencillas y para ello recientemente me compre el libro sobre Ensamblador de la editorial Anaya y me he encontrado con una sorpresa que no me esperaba ver en un libro de programación y que demuestra de muy buena manera la utilidad de tener este conocimiento, encontrarte capítulos que están dedicados a:

  • Manejo y gestión de la BIOS
  • Servicios de Video
  • Servicios de Teclado
  • Acceso a la Impresora
  • Joystick y Ratón
  • Acceso a disco
  • Durante mucho tiempo he visto kits de iniciación basados en la combinación de microcontroladores que solo conocen los que hacen dichos kits y que realmente no permiten escalar más allá, además que hoy por hoy solo dos arquitecturas que tengan futuro y sean realmente importantes:

  • Intel x86
  • ARM
  • Muchos me diréis “bueno, hay muchas cosas funcionando bajo PowerPC ahora mismo” pero el objetivo real de tener estos conocimientos es llegar a recibir una compensación económica por ellos a través de un trabajo relacionado, esto puede parecer muy tonto pero teniendo en cuenta como Intel esta vendiendo placas base de Intel Atom por menos de $90 no me extrañaría ver sistemas embebidos a partir de estas ya que existe un enorme potencial, potencial para hacer cosas como:

  • Placas de control domótico
  • Ordenadores de a bordo para coches
  • Reproductores de video en alta definición
  • Consolas de videojuegos
  • Buena parte de lo que hace especial el hardware de los años 70 y 80 es que muchas cosas no estuvieron definidas aún y se fueron creando sobre la marcha, al final cuando todo estaba ya casi hecho la mayoría se han dedicado a desarrollar en alto nivel y son incapaces de ver el potencial que tiene esto para volvernos a un estado similar al de los años 80, ya que cuando yo veo esto:

    Eee-keyboard1.jpg

    Lo que acabo recordando son cosas como esta:

    800px-Commodore64.jpg

    ¿Veis por donde voy?

    Estos sistemas realmente no eran ordenadores sino sistemas embebidos con un teclado, una unidad de disco (o cassete) y un interprete Basic, el sistema operativo que usaban era realmente simple, eran monotarea y no podían compararse con lo que serían más tarde los ordenadores pero mirad por donde eran baratos, accesibles e hicieron populares a los ordenadores a nivel domestico en los 80 ya que la gente no tenia un ordenador de Apple o de IBM en sus casas, a ellos el usuario domestico era un no-consumidor indeseable, sino que los que tuvieron un contacto con un ordenador fue con un sistema de este tipo.

    De ahí a que un servidor se le haya despertado la curiosidad de aprender a programar en ensamblador para poder montar sistemas embebidos, puede parecer muy tonto o una idea descabellada pero esto tiene mucho potencial detrás, potencial que no se alcanza si nos limitamos a todo aquello relacionado con el alto nivel.

    Un artículo de Urián en Disruptive Sketchbook

    0 0 votos
    Article Rating
    Subscribe
    Notify of
    0 Comments
    Opiniones Inline
    Ver todos los comentarios
    0
    Me encantaría saber tu opinión, por favor, deja un comentariox
    ()
    x