Canarias Go Retro

viernes, 29 de noviembre de 2019

El Apple MacIntosh y la Astronomía

    La gran oferta de emuladores es de las cosas que más me gustan de los tiempos neo-retro que vivimos ya que nos permite "usar" nuestras máquinas sin sacarlas de su protector letargo y también disfrutar de aquéllas que nunca tocamos en la época. Por ello lo primero es agradecer todo el trabajo a los programadores que nos regalan su tiempo y dedicación para que estos sistemas sigan vivos.

    Un buen día me vino a la cabeza la idea de hacer algo en el primer Mac, el icónico, el que todos tenemos en mente cuando escuchamos el nombre, el del famoso anuncio de TV de 1984.





    El emulador.

    Encontré una pequeña maravilla que se ajusta perfectamente a lo que yo estaba buscando. Mini vMac . No requiere instalación. Arranca y solicita el OS. Lo único que hay que hacer es arrastrar la imagen sobre el emulador y listo. Así con todos los programas que uno quiera instalar. La configuración de base es la de un Mac Plus:

    - Motorola 68000 a 7,8MHz
    -  4Mb de RAM
    - Resolución de 512 x 342 pixels



    Como OS, lo más antiguo que encontré fue la versión System 6.0.8. de 1988. Y para programar parece ser que en los primeros tiempos del Mac solamente Microsoft publicó un intérprete de su BASIC. Las primeras versiones no fueron muy bien acogidas como vemos en estos artículos de la época:



    Afortunadamente, después vino una versión de QuickBASIC con la opción de compilar los programas. He conseguido una copia de 1990 pero no he hallado el manual por ningún sitio, así que toca programar con el viejo método de prueba y error... Bueno y con el manual de QuickBASIC de MSDOS y fijándome en los ejemplos que vienen con el software.


El programa.

    El programa que haga no es relevante en sí, es un medio para probar el ordenador y saber cómo era tener el Mac a finales de los años 80.

    Mi elección para programar en el Mac ha sido la de simular un cúmulo globular, que es un grupo de estrellas fuertemente ligadas por la gravedad formando una esfera que orbitará el centro de la galaxia a la que pertenecen. El programa está inspirado por un artículo del astrónomo holandés Kik Velt publicado en 1986. Una serie de simplificaciones me permitirán llegar al resultado final que no es otro que: Lo que aparezca en pantalla ha de parecer un cúmulo globular.

  
(imagen de un cúmulo real)


    El cúmulo estará descrito por dos parámetros nada más: el radio del núcleo y el radio de marea. Dentro del primero se encuentran la mitad de las estrellas y la densidad es casi uniforme. A partir de ahí, la densidad decrece hasta que se anula con las fuerzas gravitatorias del resto de la galaxia. Como modelo para el cúmulo tomamos la fórmula que describe una nube de gas sujeta por su gravedad y en equilibrio en el espacio. Y para la distribución de las estrellas aprovecharemos la función RND que incluyen todos los dialectos de BASIC. El resultado es muy cercano a la realidad:

(mi propio cúmulo de 30.000 estrellas)


    Si bien se puede considerar que la magnitud aparente (el brillo visto desde la Tierra) de la mayoría de estrellas de un cúmulo es el mismo, ya que incluyo las tres coordenadas en el cálculo del programa, he probado a hacer un poco más grandes a las que estuviesen más cerca. El resultado:

    
(un poco denso)


La experiencia MacIntosh

     El cálculo de la imagen de arriba con 30.000 estrellas ha tardado 66 minutos. La versión compilada 23 minutos. Afortunadamente mini vMac permite acelerar la emulación hasta 32x y el tiempo se reduce a 35 segundos. Está claro que este tipo de cálculos matemáticos intensivos no van bien en los ordenadores de aquélla época. Pero estas máquinas no se crearon para eso.

    Desde el primer momento, la sensación predominante es la de una asombrosa facilidad de uso. Todo es intuitivo y fácil de usar, casi infantil. Realmente los ingenieros de Apple consiguieron hacer un OS verdaderamente accesible. Esa era la idea, un ordenador personal útil para los que supiesen y los que no supiesen informática. Desde luego: Objetivo conseguido.




No hay comentarios: