¿El Basic con BASin es una nueva versión del lenguaje?

Sinclair QL, ZX81, +2, +3, 128K ...
Spectro
Spectrum 48K Plus
Spectrum 48K Plus
Mensajes: 44
Registrado: 11 May 2015, 11:49
Sistema Favorito: PC
primer_sistema: Spectrum +2
consola_favorita: Sony PSP
Primera consola: (Otro)
Gracias recibidas: 2 veces

¿El Basic con BASin es una nueva versión del lenguaje?

Mensajepor Spectro » 28 Dic 2016, 12:31

Hola de nuevo!

Ayer por casualidad encontre un enlace para descargar el software BASin. Osea, para programar lenguaje Basic del ZX Spectrum. La duda que tengo es si el Basic es el mismo que se utilizaba en la maquina fisica. Lo que recuerdo de este lenguaje son los listados que copiaba de la MicroHobby. Haciendo algunas pruebas vi que en el condicional IF se pueden poner mas instrucciones en el cuerpo del mismo. Y que no era tan necesario usar GOSUB para llamar a subrutinas. Aunque igual estoy equivocado. La duda es si se pude coger algun libro BASIC de la epoca y utilizar BASin. O si por el contrario han habido cambios en la sintaxis o estructura de dicho lenguaje.

Saludos! :D

Avatar de Usuario
na_th_an
Amiga 1200
Amiga 1200
Mensajes: 1253
Registrado: 10 Oct 2012, 11:17
Sistema Favorito: (Otro)
primer_sistema: Spectrum +2
consola_favorita: Sony PlayStation 1
Primera consola: Sega Master System
Gracias dadas: 15 veces
Gracias recibidas: 12 veces

Re: ¿El Basic con BASin es una nueva versión del lenguaje?

Mensajepor na_th_an » 28 Dic 2016, 13:37

BasIn es un entorno integrado con emulador toqueteado para ayudarte a programar en BASIC del Spectrum. El resultado tendrás que ejecutarlo en un emulador, en un Spectrum, o en el propio BasIn para que funcione.

Vamos, que lo que estás haciendo es programar en BASIC de Spectrum, pero en un entorno más agradable.

Spectro
Spectrum 48K Plus
Spectrum 48K Plus
Mensajes: 44
Registrado: 11 May 2015, 11:49
Sistema Favorito: PC
primer_sistema: Spectrum +2
consola_favorita: Sony PSP
Primera consola: (Otro)
Gracias recibidas: 2 veces

Re: ¿El Basic con BASin es una nueva versión del lenguaje?

Mensajepor Spectro » 28 Dic 2016, 19:09

na_th_an escribió:BasIn es un entorno integrado con emulador toqueteado para ayudarte a programar en BASIC del Spectrum. El resultado tendrás que ejecutarlo en un emulador, en un Spectrum, o en el propio BasIn para que funcione.

Vamos, que lo que estás haciendo es programar en BASIC de Spectrum, pero en un entorno más agradable.


Si, bueno...eso lo tenia mas o menos claro. Me referia si ha cambiado el Basic del Spectrum en estos años. Osea, si se ha introducido algun cambio en la estructura del lenguaje. Yo utilizo Python. Y desde que se creo, ha sufrido modificaciones. Me gustaria probar algunos scripts que tengo con Python con el Basic de nuestro Spectrum. Aunque claro, algunas cosas no se podran hacer. Por de pronto, creo, que no se pueden anidar ciclos FOR. Y los IFs tampoco tiene clausulas tipo ELSE.

Para resumir, si yo cojo una revista o libro de la epoca del Spectrum ¿Podre usar el BASin o emuladores? ¿O por contra me dara error de sintaxis?

Avatar de Usuario
zup
Amiga 2500
Amiga 2500
Mensajes: 2383
Registrado: 04 Sep 2009, 20:07
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Nintendo DS/3DS
Primera consola: Nintendo GameBoy
Ubicación: Navarra
Gracias dadas: 22 veces
Gracias recibidas: 107 veces
Contactar:

Re: ¿El Basic con BASin es una nueva versión del lenguaje?

Mensajepor zup » 28 Dic 2016, 19:46

Lo dudo mucho. Los emuladores replican exactamente la máquina, así que si el Spectrum lo tragaba el emulador tiene que tragarlo también.

Los principales problemas que puedes tener:
- El "tokenizer" (esto también pasaba en el Spectrum 128k). El "tokenizer" es la rutina que traduce palabras reservadas en tokens. Si intentas escribir una línea tipo 10 LET poke=23609, tanto BASIN como un Spectrum en modo 128k te protestarán porque creen que ese poke es una palabra reservada. (Ojo, si esto lo escribes en un 48k, lo salvas y lo ejecutas en un 128k, funcionará bien). Ejemplo práctico... la base de datos que publicó Microhobby en el número 203 no puede ser tecleada por completo en un 128k.
- Que el programa emplee rutinas en c/m. No sé hasta qué punto BASIN lo soporta.

Ahora bien, aunque el BASIC de Sinclair no evolucionó demasiado, hay otros "dialectos" del BASIC del Spectrum que a veces incluyen mejoras. Por ejemplo, tienes el SE BASIC y el de Boriel. El primero se ejecuta con una ROM modificada del Spectrum, y el segundo se puede compilar a código máquina. Ambos introducen variaciones/extensiones que pueden hacer que los programas escritos en estos BASIC no funcionen en un Spectrum (o emulador) tal cual. Tampoco sé si BASIN tragaría directamente con programas escritos en estos BASIC.
I have traveled across the universe and through the years to find Her. Sometimes going all the way is just a start.
Además vendo cosas!

Avatar de Usuario
na_th_an
Amiga 1200
Amiga 1200
Mensajes: 1253
Registrado: 10 Oct 2012, 11:17
Sistema Favorito: (Otro)
primer_sistema: Spectrum +2
consola_favorita: Sony PlayStation 1
Primera consola: Sega Master System
Gracias dadas: 15 veces
Gracias recibidas: 12 veces

Re: ¿El Basic con BASin es una nueva versión del lenguaje?

Mensajepor na_th_an » 30 Dic 2016, 09:14

Spectro escribió:
na_th_an escribió:BasIn es un entorno integrado con emulador toqueteado para ayudarte a programar en BASIC del Spectrum. El resultado tendrás que ejecutarlo en un emulador, en un Spectrum, o en el propio BasIn para que funcione.

Vamos, que lo que estás haciendo es programar en BASIC de Spectrum, pero en un entorno más agradable.


Si, bueno...eso lo tenia mas o menos claro. Me referia si ha cambiado el Basic del Spectrum en estos años. Osea, si se ha introducido algun cambio en la estructura del lenguaje. Yo utilizo Python. Y desde que se creo, ha sufrido modificaciones. Me gustaria probar algunos scripts que tengo con Python con el Basic de nuestro Spectrum. Aunque claro, algunas cosas no se podran hacer. Por de pronto, creo, que no se pueden anidar ciclos FOR. Y los IFs tampoco tiene clausulas tipo ELSE.

Para resumir, si yo cojo una revista o libro de la epoca del Spectrum ¿Podre usar el BASin o emuladores? ¿O por contra me dara error de sintaxis?


Creía que había contestado a esa pregunta con mi mensaje :D

BasIn sirve para crear programas en el dialecto de BASIC conocido como Sinclair BASIC que se ejecutan en un ZX Spectrum, o sea, que los ejecuta el intérprete que hay en la ROM del Spectrum. El intérprete de la ROM no ha cambiado en todos estos años, sólo se añadieron dos comandos nuevos en los modelos de 128K. Puedes coger cualquier revista o manual de la época y programar sin problemas.

BasIn es sólo un IDE, no compila ni interpreta. De la ejecución se encarga un Spectrum normal y corriente de los de toda la vida :)

Sí se pueden anidar ciclos FOR en Sinclair BASIC. No existen construcciones ELSE. Sí se pueden "anidar" IFs de forma limitada (porque los IFs van todos en una misma linea, pero nada te impide colocar otro IF tras el THEN)

Spectro
Spectrum 48K Plus
Spectrum 48K Plus
Mensajes: 44
Registrado: 11 May 2015, 11:49
Sistema Favorito: PC
primer_sistema: Spectrum +2
consola_favorita: Sony PSP
Primera consola: (Otro)
Gracias recibidas: 2 veces

Re: ¿El Basic con BASin es una nueva versión del lenguaje?

Mensajepor Spectro » 30 Dic 2016, 12:31

na_th_an escribió:
BasIn es sólo un IDE, no compila ni interpreta. De la ejecución se encarga un Spectrum normal y corriente de los de toda la vida :)



Bueno, algo si ejecuta el BASin (ahora he descargado el BASinC que tiene mejor pinta). Lo digo por que cuando creamos algun codigo con el BASin, si lo ejecutamos, se ve el resultado en otra ventana del mismo programa. E incluso podemos introducir datos si usamos algun INPUT en nuestro codigo.

Avatar de Usuario
na_th_an
Amiga 1200
Amiga 1200
Mensajes: 1253
Registrado: 10 Oct 2012, 11:17
Sistema Favorito: (Otro)
primer_sistema: Spectrum +2
consola_favorita: Sony PlayStation 1
Primera consola: Sega Master System
Gracias dadas: 15 veces
Gracias recibidas: 12 veces

Re: ¿El Basic con BASin es una nueva versión del lenguaje?

Mensajepor na_th_an » 30 Dic 2016, 12:57

BasIn trae un emulador parcheado para ejecutar, usando la ROM del Spectrum, tu programa. Pero sigue siendo el intérprete de la ROM del Spectrum, ejecutándose en un espacio de memoria de 48K y a la velocidad de un Spectrum.

También tienes la opción de juguetear con SpecBas, del mismo autor. https://sites.google.com/site/pauldunn/home Esta vez se trata de un intérprete para plataformas modernas de un dialecto de BASIC basado en Sinclair BASIC. En este intérprete sí podrás usar estructuras más complejas como DO...LOOP, DO...WHILE, procedimientos, tipos de datos, manejo de cadenas con LEFT$, RIGHT$, etc.


Volver a “Sinclair/Spectrum”

¿Quién está conectado?

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