Lunar Lander MKII para Casio FX-180P
-
- Mensajes: 5992
- Registrado: 13 Nov 2010 02:08
- Ubicación: Barcelona
- Agradecido : 517 veces
- Agradecimiento recibido: 773 veces
Lunar Lander MKII para Casio FX-180P
EL PROGRAMA
Debemos alunizar con nuestra nave en la superficie de la luna Algol controlando los distintos indicadores del módulo lunar.
El ordenador de abordo nos muestra los siguientes valores:
1º - Distancia de la superficie.
2º - Velocidad del módulo lunar.
3º - Cantidad de combustible.
Para controlar la velocidad debemos ir activando los motores de frenado con inyecciones de cierta cantidad de combustible, lo que afectarán a la velocidad del descenso.
Si al aterrizar la velocidad es superior a 5 o durante el proceso de descenso el combustible tiene valores negativos, la misión habrá fracasado.
Si conseguimos aterrizar con una velocidad inferior a 5, misión cumplida...
...debiendo pronunciar la frase:
"Un pequeño paso para el hombre pero un gran salto para la Casio FX-180P".
(38 para ser más exactos)
COMO FUNCIONA
El programa ocupa 38 pasos de programación y usa cuatro registros.
En el registro K-1 se guarda la cantidad de combustible.
En el registro K-2 se guarda la velocidad.
En el registro K-3 se guarda la distancia.
En el registro K-4 se usa para guardar un resultado temporal.
El programa se ha dividido en dos partes:
P1 – Inicializa los valores de los registros.
P2 – Proceso de alunizaje.
El programa se divide en 4 bloques, que he dividido en franjas de colores:
1º - Se inicializan la partida, ejecutando el programa P1.
2º - Se muestran los valores del módulo.
3º - Se introduce el combustible y se realizan los cálculos necesarios.
4º - Comprueba si hay contacto con la superficie para finalizar la partida.
LISTADO LEARN
EJEMPLO
Para jugar hay que hacer lo siguiente:
P1 (Se inicializa los valores del juego)
P2
500 (Se muestra la distancia)
RUN
50 (Se muestra la velocidad)
RUN
120 (Se muestra el combustible)
10 (Se introduce el combustible para frenar)
RUN
452.5 (Se muestra la distancia)
RUN
45 (Se muestra la velocidad)
RUN
110 (Se muestra el combustible)
15 (Se introduce el combustible para frenar)
RUN
412.5 (Se muestra la distancia)
RUN
35 (Se muestra la velocidad)
RUN
95 (Se muestra el combustible)
18 (Se introduce el combustible para frenar)
RUN
…Repetir los pasos hasta el aterrizaje, y comprobar el resultado.
Para volver a jugar, repetir todo el proceso otra vez.
APUNTES FINALES
Hace mucho, mucho tiempo, apareció en mi casa un amigo de mi hermano mayor con un estuche, que contenía una calculadora un poco rara. Era "diferente" a las que había visto hasta entonces, o la que tenía en casa con dígitos rojos.
La sacó del estuche y por un pequeño orificio le introdujo una tira de cartón desde donde parece ser que cargó un programa en la calculadora. Curioso, porque la mía no permitía hacer esas cosas. A continuación estuvieron un buen rato introduciendo números para intentar "alunizar" con la calculadora. Bastantes años más tarde pensaba que esa calculadora era una HP-41c. Pero al escribir este post he descubierto que realmente era una Texas Instruments TI-59, que es programable y carga los programas de la misma forma.
Pero mucho antes, ahora hace 40 años, conseguí mi primer dispositivo programable: mi querida Casio FX-180P. No era una HP-41c o una TI-59, pero se podían hacer pequeños programas. Es lo que había, y gracias.
En esta calculadora programé unos cuantos programas, bastante cutrecillos, y siempre me había quedado con las ganas de programar algo parecido a ese primer juego que vi cuando no sabía ni que existían los ordenadores personales.
Como resultado del post de ron relativo al CP/M-68K en el Atari ST, me decidí a hacer una recopilación "bestia" de todo el software CP/M que podía funcionar correctamente en un Amstrad CPC-6128. Con el programa “CPCDiskXP.exe” introducía los ficheros en una imagen DSK, la montaba en un emulador y lo probaba. Configuraba el terminal y si todo funcionaba correctamente, a la colección.
El objetivo final es poder usar todos estos ficheros DSK en un simple ZX-UNO con el core del Amstrad CPC-6128, o en un emulador. Me he sorprendido de la cantidad de software conseguido, que he agrupado en cuatro categorías: Desarrollo, Ofimática, Utilidades y Juegos.
Pero... entre todo este software encontré un compilador de lenguaje Algol, y entre los códigos fuente que encontré había uno llamado "LANDER.ALG", que compilé y probé.
Eureka!!! Eso es lo que quería para mi Casio FX-180P.
Aquí la imagen DSK en CP/M del Algol-M para el Amstrad CPC-6128:
Es la primera vez que adapto el código fuente de un programa para ordenador a mi FX-180P y la verdad es que, con alguna pequeña limitación, el programa funciona igual en Algol que en la Casio. Dicho de otra forma, si introduces los mismos valores, el resultado es igual en los dos sistemas. La diferencia es que al aterrizar en Algol nos muestra un texto con el resultado de la misión, y en la Casio debemos interpretar el resultado en función de la cantidad de combustible y la velocidad al aterrizar. 38 pasos no dan para más.
Algo de Algol para alguien no iniciado
Algol, Algorithmic Language ('lenguaje algorítmico') fue un lenguaje muy popular en las universidades durante los años 1960, pero no llegó a cuajar como lenguaje de utilización comercial. Sin embargo, Algol influyó profundamente en varios lenguajes posteriores que sí alcanzaron gran difusión, como Pascal, C y Ada.
Probando el programa, lo primero que me sorprendió es que si introduces un "10", el programa lo interpreta como "0.10", haciendo los cálculos con este valor. Pero si quieres que realmente sea "10", has de introducir un "10.0".
La siguiente curiosidad es como procesa el resultado de la fórmula " D:=D-V+C/2.0". En principio debería calcular la división, y a continuación procesar la fórmula de izquierda a derecha, pero no. Aparentemente lo hace de derecha a izquierda, y en la Casio he tenido que rehacer la fórmula para que dé el mismo resultado que en Algol.
Por el resto, el programa es muy simple, cosa que me ha permitido hacer la adaptación a la Casio FX-180P, y posteriormente a otras calculadoras.
Pues nada más, me voy a alucinar alunizando !!!
Os invito a probarlo
Inicio del descenso
Aterrizaje fatal: Demasiado rápido !!!
Buscando la IP de la W.O.P.R. he encontrado mi índice
-
- Mensajes: 9
- Registrado: 26 Oct 2023 14:35
- Agradecido : 5 veces
- Agradecimiento recibido: 5 veces
Re: Lunar Lander MKII para Casio FX-180P
hola
muy interesante este trabajo
creo que tuve la misma calculadora y nunca supe hacer nada
¿donde se describe de forma amigable el lenguaje de programación?
recuerdo un libro enano gordo lleno de dibujos
sobre el lector de tira de papel, me ha extrañado
he visto maquinas-herramienta que se programan con tiras de 5 orificios, y el lector era del tamaño de un brick de leche
parece que era algo mas sofisticado:
https://en.wikipedia.org/wiki/HP-41C#82104A_card_reader
lunar lander
aquí esta el mio!
https://bunsen.itch.io/minimum-lunar-lander-by-zxpope
como tengo el poder y la potencia de un ZX81, he podido plotear el resultado en pantalla
algol,
madre mía
saludos
zxpope
muy interesante este trabajo
creo que tuve la misma calculadora y nunca supe hacer nada
¿donde se describe de forma amigable el lenguaje de programación?
recuerdo un libro enano gordo lleno de dibujos

sobre el lector de tira de papel, me ha extrañado
he visto maquinas-herramienta que se programan con tiras de 5 orificios, y el lector era del tamaño de un brick de leche

parece que era algo mas sofisticado:
https://en.wikipedia.org/wiki/HP-41C#82104A_card_reader
lunar lander
aquí esta el mio!
https://bunsen.itch.io/minimum-lunar-lander-by-zxpope
como tengo el poder y la potencia de un ZX81, he podido plotear el resultado en pantalla
algol,
madre mía
saludos
zxpope
-
- Mensajes: 5992
- Registrado: 13 Nov 2010 02:08
- Ubicación: Barcelona
- Agradecido : 517 veces
- Agradecimiento recibido: 773 veces
Re: Lunar Lander MKII para Casio FX-180P
zxpope2 escribió:muy interesante este trabajo
creo que tuve la misma calculadora y nunca supe hacer nada
¿donde se describe de forma amigable el lenguaje de programación?
recuerdo un libro enano gordo lleno de dibujos
Aquí lo tienes, listo para descargar en PDF:
https://es.usersmanualguide.com/casio/c ... astellano/
Como verás, su programación es extremadamente simple, al igual que su memoria.
Pero bueno, se pueden hacer cosas.
zxpope2 escribió:sobre el lector de tira de papel, me ha extrañado
he visto maquinas-herramienta que se programan con tiras de 5 orificios, y el lector era del tamaño de un brick de leche
parece que era algo mas sofisticado:
https://en.wikipedia.org/wiki/HP-41C#82104A_card_reader
Cuando lo vi, flipe.
Era realmente curioso, y encima funcionaba.
zxpope2 escribió:lunar lander
aquí esta el mio!
https://bunsen.itch.io/minimum-lunar-lander-by-zxpope
como tengo el poder y la potencia de un ZX81, he podido plotear el resultado en pantalla
Pues se tendrá que probar.
En principio mi intención era hacer el juego jugando con la velocidad y con el desplazamiento horizontal, pero era imposible encajarlo en los 38 pasos de memoria que tiene, así que "aplace" el proyecto unos 40 añitos de nada.

Buscando la IP de la W.O.P.R. he encontrado mi índice
- Luis
- Mensajes: 1938
- Registrado: 03 Nov 2010 19:00
- Ubicación: Villaquijada del Tuerto
- Agradecido : 1343 veces
- Agradecimiento recibido: 636 veces
Re: Lunar Lander MKII para Casio FX-180P
Esta noche lo pruebo. Excelente artículo, y más con los extras del Algol. Me ha encantado 

AHA! YOU GOT THE WUMPUS!
HEE HEE HEE - THE WUMPUS'LL GET YOU NEXT TIME!!
HEE HEE HEE - THE WUMPUS'LL GET YOU NEXT TIME!!
-
- Mensajes: 5448
- Registrado: 20 Sep 2011 13:59
- Ubicación: Madrid
- Agradecido : 927 veces
- Agradecimiento recibido: 1955 veces
- Contactar:
Re: Lunar Lander MKII para Casio FX-180P
¡Genial, que recuerdos!
Vale que era otra calculadora, mi antigua HP; pero básicamente el mecanismo era muy parecido.
No me olvido, tengo ya escaneados los listados de mi HP que conservaba, incluyendo el alunizaje
. En cuanto los maquete un poco los cuelgo en el foro 
Vale que era otra calculadora, mi antigua HP; pero básicamente el mecanismo era muy parecido.
No me olvido, tengo ya escaneados los listados de mi HP que conservaba, incluyendo el alunizaje


-
- Mensajes: 5992
- Registrado: 13 Nov 2010 02:08
- Ubicación: Barcelona
- Agradecido : 517 veces
- Agradecimiento recibido: 773 veces
Re: Lunar Lander MKII para Casio FX-180P
jltursan escribió:No me olvido, tengo ya escaneados los listados de mi HP que conservaba, incluyendo el alunizaje. En cuanto los maquete un poco los cuelgo en el foro
Los espero en candeletas !!!

Buscando la IP de la W.O.P.R. he encontrado mi índice
- centurix
- Mensajes: 219
- Registrado: 18 Ago 2020 17:19
- Ubicación: Madrid
- Agradecido : 3 veces
- Agradecimiento recibido: 60 veces
Re: Lunar Lander MKII para Casio FX-180P
dancresp escribió:LunarLander_FX-180P.jpg
La sacó del estuche y por un pequeño orificio le introdujo una tira de cartón desde donde parece ser que cargó un programa en la calculadora. Curioso, porque la mía no permitía hacer esas cosas. A continuación estuvieron un buen rato introduciendo números para intentar "alunizar" con la calculadora. Bastantes años más tarde descubrí que esa calculadora era una HP-41c, y entendí como cargaba los programas.
La HP-41C tenía memoria no volátil y guardaba los programas una vez programados pero carecía de lector de tarjetas magneticas de serie como la Ti-59.

El lector de tarjetas magnéticas era un módulo que se añadía en la parte trasera
Era mucho más alucinante el lápiz óptico y sus programas en cartón mediante líneas de códigos de barras.
- Adjuntos
-
- Lápiz óptico
- Lector_optico.jpg (147.84 KiB) Visto 322 veces
-
- Lector de tarjetas magnéticas
- Lector_tarjetas.jpg (109.74 KiB) Visto 322 veces



-
- Mensajes: 9
- Registrado: 26 Oct 2023 14:35
- Agradecido : 5 veces
- Agradecimiento recibido: 5 veces
Re: Lunar Lander MKII para Casio FX-180P
hola
retrowiki es un foro que reflota cosas olvidadas!
nunca tuve la fx180, en el instituto tuve la fx82 que no era programable,
aunque de aspecto era similar
llevo un tiempo mirando cosas de CASIO
creo que es un caso raro raro de segmentación de producto,
o de no entender que supone la fabricacion en masa (de 100millones para arriba)
de un bien de consumo
porque no todas las calculadoras cientificas son pogramables?
cuantos flip-flops (mm2) en cmos se han ahorrado?
==
los modelos que hay a la venta hoy FX991 (creo) no parece que
implementen esta forma de programar.
eso significa que no ha soportado el paso del tiempo.
=====
buen ejercicio
hacer el lunar lander en 38 pasos de programa es muy chulo!!
veo que la fx180 tiene tres bifurcaciones, goto x, if(x>0) gotox if(x<0) goto x
===
mi lunar lander lo hice en el metro, y tenia como cosa curiosa trabajar con enteros
para ser compatible con el basic del zx80. Son ecuaciones en diferencias
que verifiqué en matlab para ver si los valores que aparecian eran
del mismo orden que la resolucion en pantalla del sinclair zx80..
==
lapiz óptico y codigo de barras
no conocia el truco pero me ha parecido a*lu*cinan*te
no descarto usar esa idea en el futuro para codificar programas o informacion
imagino un led colocado en la entrada EAR del spectrum/zx81
==
otro proyecto que tengo en la cabeza es
la ecuacion logistica como fractal de mandelbrot
parece un ejercicio ideal para una calculadora programable (de verdad)
https://youtu.be/EOvLhZPevm0?si=SQ8G4pLSgcHPyogh
salud
zxpope
retrowiki es un foro que reflota cosas olvidadas!
nunca tuve la fx180, en el instituto tuve la fx82 que no era programable,
aunque de aspecto era similar
llevo un tiempo mirando cosas de CASIO
creo que es un caso raro raro de segmentación de producto,
o de no entender que supone la fabricacion en masa (de 100millones para arriba)
de un bien de consumo
porque no todas las calculadoras cientificas son pogramables?
cuantos flip-flops (mm2) en cmos se han ahorrado?
==
los modelos que hay a la venta hoy FX991 (creo) no parece que
implementen esta forma de programar.
eso significa que no ha soportado el paso del tiempo.
=====
buen ejercicio
hacer el lunar lander en 38 pasos de programa es muy chulo!!
veo que la fx180 tiene tres bifurcaciones, goto x, if(x>0) gotox if(x<0) goto x
===
mi lunar lander lo hice en el metro, y tenia como cosa curiosa trabajar con enteros
para ser compatible con el basic del zx80. Son ecuaciones en diferencias
que verifiqué en matlab para ver si los valores que aparecian eran
del mismo orden que la resolucion en pantalla del sinclair zx80..
==
lapiz óptico y codigo de barras
no conocia el truco pero me ha parecido a*lu*cinan*te
no descarto usar esa idea en el futuro para codificar programas o informacion
imagino un led colocado en la entrada EAR del spectrum/zx81
==
otro proyecto que tengo en la cabeza es
la ecuacion logistica como fractal de mandelbrot
parece un ejercicio ideal para una calculadora programable (de verdad)

https://youtu.be/EOvLhZPevm0?si=SQ8G4pLSgcHPyogh
salud
zxpope
-
- Mensajes: 5992
- Registrado: 13 Nov 2010 02:08
- Ubicación: Barcelona
- Agradecido : 517 veces
- Agradecimiento recibido: 773 veces
Re: Lunar Lander MKII para Casio FX-180P
centurix escribió:La HP-41C tenía memoria no volátil y guardaba los programas una vez programados pero carecía de lector de tarjetas magneticas de serie como la Ti-59.
Tu mensaje me ha hecho estallar la cabeza, retro-pensando en algo que viví hace más de 40 años.
Unos cuantos antes de que tuviera, en 1983, mi Casio FX-180P.
Y pensando, pensando... tienes razón.

El aspecto de la TI-59 y la HP-41c (sin el overlay gris del teclado) es muy parecido, y lo que más me llamó la atención era el hecho de cargar programas desde esas tiras de lo que fueran. Incluso tenía un estuchito con varias tiras. La HP-41c la tengo desde hace unos 10 años más o menos, pero la TI-59 no la tengo. Al ver que la HP-41c cargaba desde esas tiras, lo relacioné con la calculadora que trajo el amigo de mi hermano, pero al ver la foto que has puesto... pues no, la que trajeron a mi casa era la TI-59.
Que fuerte !!!

(Con tu permiso, corrijo mi post)
Buscando la IP de la W.O.P.R. he encontrado mi índice
- centurix
- Mensajes: 219
- Registrado: 18 Ago 2020 17:19
- Ubicación: Madrid
- Agradecido : 3 veces
- Agradecimiento recibido: 60 veces
Re: Lunar Lander MKII para Casio FX-180P
La relación precio prestaciones, en mi opinión (que tuve ambas), de la TI-59 era muy superior a la HP-41C (lo que no quita que ésta fuese mejor por el teclado y la RPN y el display alfanumérico). Las carencias de la TI-59 se solventaban con la impresora alfnumérica, un módulo con programas (recuerdo uno de navegación marítima) y el lector de tarjetas magnéticas integradas. Y recuerdo un problemilla con la precisión numérica de la 41 que siempre salía a relucir cuando querían dar envidia. Yo vendí mi HP-41C pero todavía tengo la Ti-59 con su impresora alfanumérica, una Ti voyage y cuatro o cinco HP-12C (alguna la cambiaría por una 11).
Un saludo
Un saludo



-
- Mensajes: 5992
- Registrado: 13 Nov 2010 02:08
- Ubicación: Barcelona
- Agradecido : 517 veces
- Agradecimiento recibido: 773 veces
Re: Lunar Lander MKII para Casio FX-180P
centurix escribió:La relación precio prestaciones, en mi opinión (que tuve ambas), de la TI-59 era muy superior a la HP-41C (lo que no quita que ésta fuese mejor por el teclado y la RPN y el display alfanumérico).
¿Por qué es muy superior?
¿Qué tiene que no tenga la HP-41c?
Es curioso que en los tiempos de la revista El Ordenador Personal había un apartado para la HP-41c, pero no recuerdo nada para la TI-59.
centurix escribió:Yo vendí mi HP-41C pero todavía tengo la Ti-59 con su impresora alfanumérica, una Ti voyage y cuatro o cinco HP-12C (alguna la cambiaría por una 11).
Yo tengo una HP-41c, una HP-11c y una HP-12c.
La HP-41c es una asignatura pendiente, y a la HP-11c le he ido dando de comer. La verdad es que me encanta.
La HP-12c es la más floja a nivel de programación, pero era la deseada por los financieros.
El problema para los juegos es que no genera números aleatorios, aunque para este Lunar Lander no se necesitan.
Buscando la IP de la W.O.P.R. he encontrado mi índice
-
- Mensajes: 9
- Registrado: 26 Oct 2023 14:35
- Agradecido : 5 veces
- Agradecimiento recibido: 5 veces
Re: Lunar Lander MKII para Casio FX-180P
Sir Clive, era matemático
pero no esta claro si conocia el algoritmo CORDIC que aplicó en sus calculadoras
http://ece-research.unm.edu/pollard/classes/walther.pdf
os pego este comentario de una excelente pagina web que sin duda ya conocereis
http://files.righto.com/calculator/sinc ... lator.html
no viví esta época, pero si recuerdo el reloj rojo de mi abuelo, con los digitos de la TI59
==
Reversing Sinclair's amazing 1974 calculator hack - half the ROM of the HP-35
In a hotel room in Texas, Clive Sinclair had a big problem. He wanted to sell a cheap scientific calculator that would grab the market from expensive calculators such as the popular HP-35. Hewlett-Packard had taken two years, 20 engineers, and a million dollars to design the HP-35, which used 5 complex chips and sold for $395. Sinclair's partnership with calculator manufacturer Bowmar had gone nowhere. Now Texas Instruments offered him an inexpensive calculator chip that could barely do four-function math. Could he use this chip to build a $100 scientific calculator?
Texas Instruments' engineers said this was impossible - their chip only had 3 storage registers, no subroutine calls, and no storage for constants such as π. The ROM storage in the calculator held only 320 instructions, just enough for basic arithmetic. How could they possibly squeeze any scientific functions into this chip?
Fortunately Clive Sinclair, head of Sinclair Radionics, had a secret weapon - programming whiz and math PhD Nigel Searle. In a few days in Texas, they came up with new algorithms and wrote the code for the world's first single-chip scientific calculator, somehow programming sine, cosine, tangent, arcsine, arccos, arctan, log, and exponentiation into the chip. The engineers at Texas Instruments were amazed.
How did they do it? Up until now it's been a mystery. But through reverse engineering, I've determined the exact algorithms and implemented a simulator that runs the calculator's actual code. The reverse-engineered code along with my detailed comments is in the window below.
pero no esta claro si conocia el algoritmo CORDIC que aplicó en sus calculadoras
http://ece-research.unm.edu/pollard/classes/walther.pdf
os pego este comentario de una excelente pagina web que sin duda ya conocereis
http://files.righto.com/calculator/sinc ... lator.html
no viví esta época, pero si recuerdo el reloj rojo de mi abuelo, con los digitos de la TI59

==
Reversing Sinclair's amazing 1974 calculator hack - half the ROM of the HP-35
In a hotel room in Texas, Clive Sinclair had a big problem. He wanted to sell a cheap scientific calculator that would grab the market from expensive calculators such as the popular HP-35. Hewlett-Packard had taken two years, 20 engineers, and a million dollars to design the HP-35, which used 5 complex chips and sold for $395. Sinclair's partnership with calculator manufacturer Bowmar had gone nowhere. Now Texas Instruments offered him an inexpensive calculator chip that could barely do four-function math. Could he use this chip to build a $100 scientific calculator?
Texas Instruments' engineers said this was impossible - their chip only had 3 storage registers, no subroutine calls, and no storage for constants such as π. The ROM storage in the calculator held only 320 instructions, just enough for basic arithmetic. How could they possibly squeeze any scientific functions into this chip?
Fortunately Clive Sinclair, head of Sinclair Radionics, had a secret weapon - programming whiz and math PhD Nigel Searle. In a few days in Texas, they came up with new algorithms and wrote the code for the world's first single-chip scientific calculator, somehow programming sine, cosine, tangent, arcsine, arccos, arctan, log, and exponentiation into the chip. The engineers at Texas Instruments were amazed.
How did they do it? Up until now it's been a mystery. But through reverse engineering, I've determined the exact algorithms and implemented a simulator that runs the calculator's actual code. The reverse-engineered code along with my detailed comments is in the window below.
-
- Mensajes: 5992
- Registrado: 13 Nov 2010 02:08
- Ubicación: Barcelona
- Agradecido : 517 veces
- Agradecimiento recibido: 773 veces
Re: Lunar Lander MKII para Casio FX-180P
zxpope2 escribió:os pego este comentario de una excelente pagina web que sin duda ya conocereis
http://files.righto.com/calculator/sinc ... lator.html
Hombre, conocer conocer, como que no, pero es realmente interesante.
El señor Sir Clive era un auténtico genio.
Buscando la IP de la W.O.P.R. he encontrado mi índice
Volver a “Lenguajes de Programación y herramientas Dev”
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado