Paul Andrews ha comprado la marca Jupiter ACE

BBC, Dragon, Sam Coupé, Oric ...
Avatar de Usuario
carmeloco
MSX Turbo R
MSX Turbo R
Mensajes: 318
Registrado: 02 Ene 2016, 17:19
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum +2
consola_favorita: Nintendo GameBoy
Primera consola: Nintendo GameBoy
Gracias dadas: 1 vez
Gracias recibidas: 13 veces

Re: Paul Andrews ha comprado la marca Jupiter ACE

Mensajepor carmeloco » 18 Ene 2016, 17:30

He probado la rom con el fuse, y funcionar, funciona. Sale un cursor, puedes escribir, pero no tengo ni idea de que comandos ponerle sin que de error :D

dancresp
Amiga 1200
Amiga 1200
Mensajes: 1393
Registrado: 23 Dic 2008, 17:53
Sistema Favorito: MSX
primer_sistema: ZX81
Primera consola: Atari 2600
Gracias dadas: 3 veces
Gracias recibidas: 20 veces

Re: Paul Andrews ha comprado la marca Jupiter ACE

Mensajepor dancresp » 18 Ene 2016, 17:53

gamer80 escribió:Mejores resultados habría cosechado si le hubieran puesto de lenguaje un ensamblador ASM y listo, con un manual al estilo Código Máquina de la MicroHobby :P

No hombre no, que le quitas el encanto.

Ya está bien que haya un equipo que funcione con Forth, a parte del Fignition.

carmeloco escribió:He probado la rom con el fuse, y funcionar, funciona. Sale un cursor, puedes escribir, pero no tengo ni idea de que comandos ponerle sin que de error :D

Aquí tienes documentación: http://jupiter-ace.co.uk/usermanual.html

Pero si quieres ir al grano:
El Forth funciona con una biblioteca de palabras predefinidas, más la que tu puedes crear.
Pon VLIST para ver las palabras predefinidas.

Y ten en cuenta que funciona con RPN (Notación Polaca Inversa), como las calculadores HP.
Para hacer una suma de 2+3, pon por ejemple: 2 3 + .
Introduce los dos números en el stack, los suma y guarda el resultado en el stack y con el punto ves el último valor del stack.

Bueno, el Forth es todo un mundo... pero es muy potente y mucho más rápido que el Basic.

Mira lo que hice:
http://www.zonadepruebas.com/viewtopic.php?t=4231
Buscando la IP de la W.O.P.R.

Avatar de Usuario
programandala_net
Dragon 32
Dragon 32
Mensajes: 27
Registrado: 23 Dic 2015, 02:44
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
Contactar:

Re: Paul Andrews ha comprado la marca Jupiter ACE

Mensajepor programandala_net » 18 Ene 2016, 19:37

gamer80 escribió:Pues programar en Forth es un calvario,


Cualquier lenguaje de programación puede ser un calvario para alguien :)

Para mí programar en Forth, en comparación con otros lenguajes que uso, es una liberación y la mayor fuente de satisfacción. Es un lenguaje en el que no hay límites a la creatividad ni a la libertad. No programas para intentar solucionar un problema (sea el «problema» un programa de contabilidad o un juego de marcianos, es lo mismo) dentro de los límites de un lenguaje de programación, sino que reescribes el propio lenguaje para adaptarlo a la solución que necesitas, a la solución más sencilla y eficaz.

Hay aficionados a la retroinformática que en su día probaron Forth y les resultó tan diferente de los lenguajes a los que estaban acostumbrados, extraño, aparentemente incómodo e incomprensible, que se quedaron con esa idea fija y desde entonces relacionan «Forth» con esa experiencia particular. Quizá ese es tu caso, no lo sé. Pero esa opinión es tan injusta y tan ilógica como sería decir que el lenguaje BASIC (¡en general!) es un calvario, así sin más..., sin explicar a continuación que la única experiencia que se ha tenido en BASIC fue con el BASIC del ZX81, por ejemplo. Eso no es «BASIC en general». De hecho, no existe tal cosa como «BASIC en general». El BASIC de ZX81 es una versión muy limitada, incómoda y lenta de BASIC, adaptada a esa máquina en particular. El usuario de BASIC que ha empezado aprendiendo FreeBASIC o cualquiera de los intérpretes o compiladores modernos de BASIC, seguro que piensa de otra manera. Pues algo similar ocurre con Forth, pero con más motivo: Forth se adapta más que BASIC a cada máquina. Por tanto, cada caso es diferente.

Aunque se puede llegar a comprender cómo funciona Forth y por qué es tan potente usando ZX81 o ZX Spectrum o Jupiter ACE (pues todos tienen implementaciones de Forth muy buenas, para su época), y de hecho es precisamente en los micros en los que se puede apreciar mucho mejor algunas de las ventajas del lenguaje (entre ellas, el código tan compacto y tan rápido), no son las plataformas adecuadas para desarrollar con comodidad en Forth.

gamer80 escribió:no sé qué usuarios pretenden atraer ni que mercado.


Yo opino igual. No lo entiendo. Aunque programar en Forth sea un placer inmenso, intelectual y creativo ;) , no deja de ser un lenguaje de programación muy minoritario y poco conocido. Ya veremos qué proponen.
Marcos Cruz (programandala.net)

Avatar de Usuario
programandala_net
Dragon 32
Dragon 32
Mensajes: 27
Registrado: 23 Dic 2015, 02:44
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
Contactar:

Re: Paul Andrews ha comprado la marca Jupiter ACE

Mensajepor programandala_net » 18 Ene 2016, 19:45

carmeloco escribió:He probado la rom con el fuse, y funcionar, funciona. Sale un cursor, puedes escribir, pero no tengo ni idea de que comandos ponerle sin que de error :D


Código: Seleccionar todo

1
.
2 .
2 2 + .
5 2 * .
: el-doble 2 * . ;
1887 el-doble
12 el-doble
: superdoble  2 paper el-doble 7 paper  ;
15 superdoble


Cada cosa en una línea, y ojito con comerse un espacio o te dará error. Los espacios son la clave. Cada "palabra" (que es como se llaman los comandos) separada de la siguiente con un espacio. El punto no es un punto, por ejemplo, es una palabra como las demás. Lo mismo con el signo de sumar y con todos los demás. No hay puntuación ni signos, todo son palabras independientes que se ejecutan en el mismo orden en que se escriben.
:)
Marcos Cruz (programandala.net)

Avatar de Usuario
programandala_net
Dragon 32
Dragon 32
Mensajes: 27
Registrado: 23 Dic 2015, 02:44
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
Contactar:

Re: Paul Andrews ha comprado la marca Jupiter ACE

Mensajepor programandala_net » 18 Ene 2016, 19:59

dancresp escribió:Bueno, el Forth es todo un mundo... pero es muy potente y mucho más rápido que el Basic.

Mira lo que hice:
http://www.zonadepruebas.com/viewtopic.php?t=4231


Ese juego tiene un aspecto excelente. Te animo a que lo envíes al Jupiter ACE Archive. Otros detalles los comentaré en ese hilo.
Marcos Cruz (programandala.net)

Avatar de Usuario
carmeloco
MSX Turbo R
MSX Turbo R
Mensajes: 318
Registrado: 02 Ene 2016, 17:19
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum +2
consola_favorita: Nintendo GameBoy
Primera consola: Nintendo GameBoy
Gracias dadas: 1 vez
Gracias recibidas: 13 veces

Re: Paul Andrews ha comprado la marca Jupiter ACE

Mensajepor carmeloco » 18 Ene 2016, 21:10

programandala_net escribió:
carmeloco escribió:He probado la rom con el fuse, y funcionar, funciona. Sale un cursor, puedes escribir, pero no tengo ni idea de que comandos ponerle sin que de error :D


Código: Seleccionar todo

1
.
2 .
2 2 + .
5 2 * .
: el-doble 2 * . ;
1887 el-doble
12 el-doble
: superdoble  2 paper el-doble 7 paper  ;
15 superdoble


Cada cosa en una línea, y ojito con comerse un espacio o te dará error. Los espacios son la clave. Cada "palabra" (que es como se llaman los comandos) separada de la siguiente con un espacio. El punto no es un punto, por ejemplo, es una palabra como las demás. Lo mismo con el signo de sumar y con todos los demás. No hay puntuación ni signos, todo son palabras independientes que se ejecutan en el mismo orden en que se escriben.
:)


Así, a primera vista, no entiendo nada. No digo que no sea potente el forth, porque no lo conozco, pero sencillo de entender, no lo parece. Voy a poner un ejemplo. Hace unos años, me llamó la atención el arduino (más información en www.arduino.cc). Compré un kit de iniciación, y aprendí a programarlo, básicamente, leyendo los listados de ejemplo que vienen con el IDE (Integrated Development Environment, o sea, el software de programación del cacharro). Con todo esto, quiero decir que aprendí a programarlo, leyendo programas y sin haber programado nunca en C (que es la base del lenguaje de programación de arduino) y aunque es sencillo, es muy potente, y con acceso a multiples librerías que te facilitan las cosas.

Con Arduino, tengo cosas muy chulas creadas (por ejemplo, el depósito de gas-oil de la caldera, me avisa via e-mail, cuando está el depósito al 20% de su capacidad) sin que nadie me haya enseñado. Viendo el forth, no me veo capaz.

Avatar de Usuario
programandala_net
Dragon 32
Dragon 32
Mensajes: 27
Registrado: 23 Dic 2015, 02:44
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
Contactar:

Re: Paul Andrews ha comprado la marca Jupiter ACE

Mensajepor programandala_net » 18 Ene 2016, 22:34

carmeloco escribió:Así, a primera vista, no entiendo nada. No digo que no sea potente el forth, porque no lo conozco, pero sencillo de entender, no lo parece.


Tú lo has dicho: no lo parece... Pero lo es. Es más sencillo que los lenguajes convencionales, que en el fondo son todos variantes unos de otros y funcionan de forma similar.

Pero no puedes esperar entender algo diferente a primera vista. Y el no entenderlo a primera vista, sin haber leído o sin que te hayan dado una explicación de qué es cada cosa y por qué se hace así, no significa que sea difícil.

Te voy a poner una comparación que puede ser útil. Si un hablante nativo de italiano viera un texto en rumano, quizá pensaría que el rumano es «más o menos fácil» porque a simple vista reconocería raíces y estructuras que le serían vagamente familiares. Por el contrario, si viera un texto en turco pensaría que es muy difícil, porque a simple vista no reconocería nada. En la práctica, y tras los primeros pasos para familiarizase con unas estructuras diferentes, probablemente le sería más fácil aprender turco, porque es una lengua más regular. Son dos cosas muy diferentes: Una es la posibilidad de reconocer, de forma pasiva, rasgos familiares. La otra es la facilidad objetiva de aprendizaje y uso.

carmeloco escribió:Con Arduino, tengo cosas muy chulas creadas (por ejemplo, el depósito de gas-oil de la caldera, me avisa via e-mail, cuando está el depósito al 20% de su capacidad) sin que nadie me haya enseñado. Viendo el forth, no me veo capaz.


¡Ese tipo de aplicaciones pide un Forth a gritos! :) Pero no basta con verlo. Tienes que tomar un manual, al menos para entender los conceptos básicos. Aquí tengo recopilados algunos enlaces, por si te animas a echar un vistazo:

http://programandala.net/es.texto.2009. ... forth.html

La productividad de desarrollo en Forth es muy alta en general, pero especialmente cuando se trata de programar y controlar dispositivos. La razón es que Forth tiene las ventajas de los intérpretes y las ventajas de los compiladores, sin ser exactamente ni lo uno ni lo otro. Y asimismo tiene las ventajas de los lenguajes de bajo nivel y las de los de alto nivel. Forth te permite dividir el programa en elementos pequeños (palabras) que hacen tareas muy concretas, incluso a nivel de código máquina si es necesario, probarlas independientemente del resto del programa y de forma interactiva desde el teclado, sin necesidad de ciclos de edición-compilación-ejecución, y combinarlas libremente para crear abstracciones superiores, hasta cualquier nivel que necesites.

Si no recuerdo mal, para Arduino hay varios sistemas Forth.
Marcos Cruz (programandala.net)

dancresp
Amiga 1200
Amiga 1200
Mensajes: 1393
Registrado: 23 Dic 2008, 17:53
Sistema Favorito: MSX
primer_sistema: ZX81
Primera consola: Atari 2600
Gracias dadas: 3 veces
Gracias recibidas: 20 veces

Re: Paul Andrews ha comprado la marca Jupiter ACE

Mensajepor dancresp » 19 Ene 2016, 15:49

carmeloco escribió:Así, a primera vista, no entiendo nada. No digo que no sea potente el forth, porque no lo conozco, pero sencillo de entender, no lo parece.

Bueno, nadie nace enseñado, y esta claro que necesita su tiempo porque es diferente.

Uno de sus encantos es que no tiene una sintaxis definida.

Simplemente hay unas palabras, que hacen algo muy concreto, que se ponen una tras otra separadas por un espacio. Si no hay una palabra que haga algo que necesites... pues te la haces y se incorpora al diccionario.

Esta falta de sintaxis, añadido a otras cosas, es lo que explica su altísimo rendimiento, en comparación con otros lenguajes interpretados.

Volviendo al ejemplo del "Nuclear Invaders", esta versión es tan rápida que la he tenido que frenar !!!
Con el BASIC estas cosas no pasan, pero con FORTH si.
Buscando la IP de la W.O.P.R.

Avatar de Usuario
programandala_net
Dragon 32
Dragon 32
Mensajes: 27
Registrado: 23 Dic 2015, 02:44
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
Contactar:

Re: Paul Andrews ha comprado la marca Jupiter ACE

Mensajepor programandala_net » 19 Ene 2016, 17:40

dancresp escribió:Esta falta de sintaxis, añadido a otras cosas, es lo que explica su altísimo rendimiento, en comparación con otros lenguajes interpretados.


Efectivamente. Me permito añadir un matiz, para los interesados en saber más detalles: La máquina virtual de Forth es tan potente precisamente por su sencillez: Cuando se ejecuta el código de una palabra, éste puede ser código máquina, si la palabra ha sido creada así (por el creador del sistema Forth o por el programador de la aplicación, no hay ninguna diferencia), con lo cual la velocidad de ejecución no necesita comentarios; o bien, si la palabra ha sido escrita en Forth, su código será Forth "compilado". ¿Qué significa esto? En las implementaciones habituales de Forth las palabras escritas en Forth lo que contienen realmente es una lista de las direcciones de las palabras que forman la definición. Ejecutar esto es muy sencillo y muy rápido, no es más que una lista anidada de direcciones ejecutables...

Por eso Forth tiene las ventajas de un lenguaje interpretado, pero no sus inconvenientes; y las ventajas de un lenguaje compilado, pero no sus inconvenientes.

Pensemos por ejemplo en un clásico BASIC interpretado, para un micro. Es lo más ineficaz que puede haber: Continuamente está buscando cosas a lo bruto en la memoria (variables, números de línea), comparando una y otra vez las mismas cosas (los nombres de las variables, los paréntesis, los operadores), moviendo arriba y abajo sus zonas según crece el programa o la zona de variables o la pila de retornos... El pobre está tan ocupado haciendo todo eso que casi no le queda tiempo para ejecutar nuestro código :)
Marcos Cruz (programandala.net)

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 54 veces
Contactar:

Re: Paul Andrews ha comprado la marca Jupiter ACE

Mensajepor mcleod_ideafix » 19 Ene 2016, 21:32

gamer80 escribió:Mejores resultados habría cosechado si le hubieran puesto de lenguaje un ensamblador ASM y listo, con un manual al estilo Código Máquina de la MicroHobby :P

Bueno... la cosa es que el Jupiter ACE no tiene nada especial en su diseño que lo haga más asequible para Forth, BASIC o cualquier otro lenguaje en concreto. De hecho si en algo influye su diseño, es para tener salida de texto muy rápida (mucho más que el Spectrum o el ZX81), así que aún no es tarde para escribir un ensamblador, o adaptar si acaso algo como el GENS 3, y tenerlo como ROM alternativa.

Forth tiene varias ventajas en cuanto a la implementación que puedes hacer de un lenguaje en una ROM tan pequeña como 8K: no necesita un parser, o mejor dicho, el parser que necesita es mucho más sencillo que el que necesitaría BASIC (véase la descripción de la rutina SCANNING de la ROM del Spectrum, por ejemplo). El código fuente es compacto y eso es de agradecer cuando tienes sólo 1K de memoria de usuario (bueno, 1K y un poco más que puedes pedir prestada a la zona de memoria de la pantalla). Probablemente se pueda escribir un programa más complejo en 1K de memoria de usuario en Forth en el Jupiter ACE que en BASIC del ZX81, aunque en esto, dancresp y programalandia son los expertos :). Por último, parser sencillo + código fuente compacto = (normalmente) ejecuión más rápida

Una pregunta: ¿el Forth del Jupiter ACE incluía punto flotante? ¿Hay alguna palabra o variable del sistema que permita a la ROM conmutar al uso de la memoria no contenida en las rutinas por defecto de PRINT y PLOT?
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista


Volver a “Otros microordenadores”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 9 invitados