jueves, 14 de marzo de 2013

La función RND

La función RND genera números estadisticamente dispersos (con poca correlación entre si) a los que llamamos aleatorios (random).

Los números aleatorios generados por ordenador utilizando las funciones habituales de los distintos lenguajes de programación, son en realidad pseudo-aleatorios.

El debate sobre la pseudo-aleatoriedad nos es nada trivial ya que el uso de funciones pseudo aleatorias puede dar lugar a problemas de seguridad serios o bien a simulaciones poco rigurosas, que tienden a repetir el mismo resultado una y otra vez, por ejemplo cuando se usa el método de Monte Carlo para calcular el valor de Pí. 

Por otra parte esta el debate filosófico de si realmente existen los fenómenos aleatorios, aunque siempre queda la opción de usar un generador cuántico de números aleatorios.

Siendo rigurosos.... volvamos a 1968, 1979 y 1984 para hacer algunas comprobaciones:


En la página 43 del Manual de BASIC explica que cada "run" de números aleatorios produce el mismo resultado, aceptando de forma explicita que no existe la aleatoriedad entre cada run.


El programa del Manual de Darmouth Basic escrito y ejecutado en un MSX confirma lo que se dice en la página 43 del Manual ya que los resultados de diferentes "run" del programa arrojan exactamente los mismos resultados. ¿pero esto es realmente así?.....


el mismo programa ejecutado en Commodore PET 2001 de 1979... sorpresa!!! en este caso cada "run" produce números aleatorios distintos en cada caso.

Si alguien tiene una buena explicación a este asunto, me agradaría escucharla.

domingo, 10 de marzo de 2013

Commodore PET 2001 - Programas de una sola linea

El PET 2001 no es un ordenador con capacidad gráfica "per se", dispone de caracteres gráficos que bien usado pueden conseguir resultados limitados pero suficientes.



estos gráficos han sido construidos a base de la combinación de caracteres característica del PET 2001....





este es el teclado del PET 2001 donde podéis ver las teclas y los caracteres asociados a cada tecla y combinación de teclas. Con un juego de caracteres así, es laborioso, mejor dicho, es imposible desarrollar programas con gráficos llamativos. Aunque si se pueden conseguir efectos llamativos incluso con programas de una sola linea...



el programa es una repetición aleatoria del carácter 205.5......



que forma un laberinto.

lunes, 25 de febrero de 2013

MSX Files: Fractales sencillos


Un fractal es un objeto geométrico cuya estructura básica, fragmentada o irregular, se repite a diferentes escalas. El término fue propuesto por el matemático Benoît Mandelbrot en 1975 y deriva del Latín fractus, que significa quebrado o fracturado. Muchas estructuras naturales son de tipo fractal. La propiedad matemática clave de un objeto genuinamente fractal es que su dimensión métrica fractal es un número no entero. Los más conocidos son los fractales obtenidos por el método de Mandelbrot.

A continuación se muestra una serie de fractales de las diferentes potencias de Z = Z^m+C, según el método de Mandelbrot. Todos los puntos del plano complejo C=(Cx,iCy) son iterados por adición a la función correspondiente. 



Encontramos formas fractales a escala microscópica y macroscopica en la naturaleza y en lo mas íntimo de la materia:


Este es un conjunto fractal tomado de la naturaleza,


Este forma fractal esta formada por la trayectoria de choque de partículas en el LHC (large Hadron Collider) del CERN en Ginebra.



Esta es la representación del experimento ATLAS en 2011, en el interior podéis observar las trayectorias de partículas que forman estos fractales.

Como he perdido mi tarjeta de acceso al CERN, haremos unos fractales sencillos con nuestro MSX de 1983:



página uno de dos del listado.....



página dos de dos del listado.



fractal uno.....



fractal dos

jueves, 31 de enero de 2013

El Mayor Invento, el número e y los logaritmos

e es uno de esos números irracionales de profundo misterio pero de la mayor utilidad. Su valor (hasta las primeras veinte posiciones decimales es):

2,71828182845904523536

No es un número tan popular como Phi (el número áureo  o Pi (el número de los circulo). Pero su importancia es enorme y su descubrimiento llevo al avance de las matemáticas de forma rotunda e imparable, y es el número que nos ha permitido llegar a ser la sociedad que somos ya que sin el hubiera sido imposible llevar a cabo algunos avances científicos y tecnológicos de los últimos siglos. 

Si no se hubiera descubiertotodavía se estaría discurriendo la creación de complejas máquinas; no existirían los coches ni los aviones. Es posible que no hubiera ordenadores. En lugar de escribir (yo) y leer este Blog (Vd.) podríamos estar trabajando en un molino o en una mina de carbón.


Jhone Neper (o John Napier) nació en 1550 en Edinburgo, Escocia). El es el inventor de los logaritmos para simplificar y facilitar la realización de cálculos complicados.

Los logaritmos facilitaban enormemente el molesto y farragoso trabajo de los calculadores (personas que realizaban cálculos sin cesar) ya que con ellos podían realizar toda clase de operaciones matemáticas de forma rápida y segura sin cometer errores.

Napier descubrió que los logaritmos tienen algunas propiedades muy especiales. Transforman operaciones complicadas como la multiplicación en sumas y restas. También transforman operaciones mas difíciles como las raíces y las potencias y las transforman en multiplicaciones. 

Sin lo logaritmos Kepler no hubiera podido interpretar el movimiento de los planetas, ni Newton hubiera entendido la gravedad.

estas son las leyes de los logaritmos, ¿os recuerdan algo?

y estas son las tablas de algunos logaritmos 

Las tablas de logaritmos se optimizaron en las reglas de cálculo. Las reglas de calculo se usaron hasta la década de 1980, momento en el que se desarrollaron las calculadoras de bolsillo.


forma de hallar logaritmos en una regla de cálculo


este es un buen ejemplo del modo de trabajar en la década de los ochenta.

Si queréis saber mas sobre reglas de cálculo podéis visitar el INTERNATIONAL SLIDE RULE MUSEUM haciendo click aquí 


martes, 29 de enero de 2013

MSX Files: cargar programas desde el PC

Los MSX1 disponen de la posibilidad de cargar programas cartuchos ROM o bien desde un datacorder, y grabarlos también  a 2400 y 1200 baudios.

Gracias a Santa Klaus, mi Toshiba HX-10E vino en caja pero sin ningún datacorder por lo que, después de pensarlo bien, me decidí por usar un micro recorder de SONY que adquirí finalmente en Cash Converters por solo 10 euros.




Lo mas difícil, creerme, fue encontrar las cintas de micro cassete. Con esto tuve suficiente durante algún tiempo pero sin embargo solo era posible guardar programas. En el MSXblog de Konamito encontré la forma de convertir archivos .CAS en archivos .WAV usando el programa CASTOOLS que podéis descargar desde aquí 


Después de convertir unos cuantos programas de .CAS a WAV se conecta el minijack blanco del MSX al puerto de auriculares del PC y es posible ejecutar los archivos VAW desde el media player y transferirlos así desde el PC al MSX. El volumen del PC y del media player deben estar al 75 - 90 % y con  lo bajos bajo control de forma que los datos puedan ser leídos por el MSX con los comandos RUN"CAS:" BLOAD o CLOAD



aquí aparece la pantalla de carga del programa



aquí el programa que hemos terminado de cargar listo para jugar !



Una vez que hemos conseguido dominar el tema, el siguiente paso es dotar a nuestro MSX de otras posibilidades de cargar programas. Una forma muy simple y eficaz es usar un MP3, en sustitución del PC, conectado al minijack blanco del MSX.

Diagrama de conexiones usando el minijack blanco. Solo es posible una a la vez si no se dispone de un sistema de conexión múltiple y un conmutador (a estudiar)
De esta manera hemos aumentado nuestras posibilidades de usar el MSX.... a jugar !!!




Desde aquí mi reconocimiento y agradecimiento a las personas que con sus Blogs y webs preservan el legado del MSX. Muchas gracias a todos.

Sinclair Spectrum +2


Amstrad Sinclair ZX Spectrum+2


En 1986, la compañía Sinclair Research vendió a Amstrad, por 5 millones de libras, la marca comercial Sinclair y su línea de productos informáticos. A partir de ese momento Amstrad procedió a sacar al mercado los siguientes modelos:

ZX Spectrum 128 +2 que incorporaba en la misma carcasa del ordenador la unidad de casette. Era de color gris oscuro y las ROM eran las mismas que las del modelo Spectrum 128, con algunos retoques.

ZX Spectrum 128 +3 con unidad de disquete de 3" incorporada en la misma carcasa del ordenador. Este modelo recuperaba el tradicional color negro. Incluía también una mejora del BASIC, el +3BASIC. La compañía Digital Research desarrolló y comercializó una versión del sistema operativo CP/M para el +3.

ZX Spectrum 128 +2A/B que incorporaban la carcasa del +2 y características del +3; aunque no llevaban el interface de disco, sí incluían el +3BASIC.

En 1991/1992 Amstrad decidió retirar los modelos de Spectrum del mercado, ante la popularización de las máquinas de 16 y 32 bits.

Tambien podeis visitar las salas virtuales de https://www.facebook.com/BackSpaceVintageTechnologies



Las características del ZX Spectrum original incluían:

Microprocesador Zilog Z80A a 3,5 MHz (bus de datos de 8 bits y bus de direcciones de 16 bits). Acompañando al procesador principal estaba la ULA (Uncommitted Logic Array), encargada de realizar funciones auxiliares.
Dos configuraciones de RAM con 16 kB ó 48 kB. Es interesante señalar que, contrariamente a lo que el marketing podría haber recomendado, no se incluían los 16 kB de ROM de cada máquina. Así, la memoria total de ambos modelos era realmente de 32 y 64 kB, El límite del direccionamiento de 16 bits es de 64 kB.
Estos 16 kB de ROM incluían un intérprete del lenguaje BASIC SINCLAIR desarrollado por la compañía Nine Tiles Ltd. para Sinclair y que era una evolución del que ya desarrollaran para dos anteriores máquinas comerciales de la marca, el ZX80 y el ZX81, y de las que el Spectrum es continuador. En la misma zona de memoria también estaba el juego de caracteres ASCII que utilizaba la máquina por defecto (aunque se podía apuntar a otras zonas de memoria y definir caracteres alternativos) y una zona reservada justo antes de la memoria de pantalla, ideal para EPROMs que se podían conectar en el slot trasero.
Teclado de caucho integrado en el ordenador en el modelo de 16 kB y en la primera versión de 48 kB. El teclado de caucho original oprimía dos membranas (el del ZX Spectrum Plus tenía 4) con pistas conductoras que servían para detectar la presión. Esta membrana solía ser la parte más frágil del ordenador y era habitual que a lo largo de los años fuera necesario cambiarla hasta varias veces.

Sistema de almacenamiento en cinta casete de audio común. Se accedía a los datos a una velocidad de 1.500 bit/s de media. Un juego de 48 kB tardaba como media algo menos de 4 minutos en cargar. Había juegos que usaban su propio sistema de carga, denominado "turbo", a mayor velocidad que la estándar del sistema operativo en ROM, aunque ligeramente más propensos a producir errores de carga. Como periférico adicional, a partir del año 1983 Sinclair puso a la venta el ZX Interface 1 al que se le podían conectar hasta ocho unidades de cinta rápida llamadas microdrive de uso frecuente entre desarrolladores de software, que accedía a los datos a una velocidad de 120.000 bit/s (15 kB/s).

Información completa en: 

http://es.wikipedia.org/wiki/Sinclair_ZX_Spectrum



frontal de mi nuevo Spectrum +2


detalle del Datacorder integrado


fue el primer teclado de calidad en los Spectrum


disposición QWERTY 


detalle de los conectores para Joystick de norma Atari y del botón de reinicio


detalle de los conectores traseros, se puede conectar un sub-teclado y dispone de salida de sonido auxiliar


dispone de un conector RS-232C. La fuente de alimentación necesaria es de 9V a 2,1 amp y polaridad -Ve


Fabricado en Taiwan, este modelo goza de buena reputación al ser montado y comprobado en Taiwan.


Login screen


detalle del circuito impreso


lunes, 28 de enero de 2013

HP 41CV

La serie HP 41 eran calculadoras RPN de mano, programables, expandibles, hechas por Hewlett-Packard desde 1979 a 1990. El modelo original, el HP 41C, era el primero de su clase en ofrecer capacidades de pantalla alfanumérica. Más adelante vinieron el HP 41CV y el HP 41CX, ofreciendo más memoria y funcionalidad. Muchos usuarios habían usado los cuatro puertos para expansión de memoria, no dejando espacio para otros módulos. HP diseñó el Quad Memory Module (Módulo de Memoria Cuádruple) con cuatro veces la cantidad de memoria, proporcionando la máxima memoria disponible y dejando disponibles tres puertos vacíos. El 'HP 41CV (siendo V el número romano para 5) incluyó este módulo de memoria en la tarjeta madre, proporcionando así cinco veces la memoria del HP 41C, y dejando disponibles las cuatro ranuras de expansión.


Donada por ITIV Technology srl (Italia)


esta unidad viene con un lector de tarjetas magnéticas.

parte posterior del lector de tarjetas


parte frontal


tarjetas magnéticas


detalle del lector de tarjetas y tarjeta magnética