Un compilador de ZX Spectrum BASIC

Todo sobre la creación, diseño y programación de nuevo software para
nuestro Spectrum

Moderador: Sir Cilve Sinclair

Avatar de Usuario
oblo
Sabreman
Mensajes: 327
Registrado: Lun Feb 07, 2011 9:53 am

Re: Un compilador de ZX Spectrum BASIC

Mensaje por oblo » Mar Jul 05, 2011 11:42 am

Thank you LCD and many thanks for your BorIDE :-D
I used to use trackers so they won't be a problem for me. But what you were using (interrupt driver as binary) is way too far from my programming knowledge :-( Could you give some advice about some documentation, book or else to implement AY music and merge it with the ZXBasic?

Thanks you very much and regards

LCD
rst 0
Mensajes: 8
Registrado: Mar Jul 05, 2011 12:47 am

Re: Un compilador de ZX Spectrum BASIC

Mensaje por LCD » Mar Jul 05, 2011 10:12 pm

oblo escribió:Thank you LCD and many thanks for your BorIDE :-D
I used to use trackers so they won't be a problem for me. But what you were using (interrupt driver as binary) is way too far from my programming knowledge :-( Could you give some advice about some documentation, book or else to implement AY music and merge it with the ZXBasic?

Thanks you very much and regards

Thank you about your opinion about BorIDE. Yes, it will be improved...
I used my own IntMake Program to create all Interrupt tables and initialisation routines. This was made over 10 years ago. Look here:
http://www.worldofspectrum.org/infoseek ... id=0022992. It was in Outlet magazine, so you can download it and use it with a Emulator.
I use it on real Spectrum, but it is planed to include all its functions in BorIDE to make it easier to use. At moment tap must be exported and merged with compiled programs.
I used it also in my "Indian Patience" in 1996 by the way.
http://www.worldofspectrum.org/infoseek ... id=0017137
Hope, this helps a little bit :)

Avatar de Usuario
oblo
Sabreman
Mensajes: 327
Registrado: Lun Feb 07, 2011 9:53 am

Re: Un compilador de ZX Spectrum BASIC

Mensaje por oblo » Mié Jul 06, 2011 7:26 am

Thanks, I'll give it a try and it's great news if you implement it in BorIDE (I'm waiting for a new release!) :-)

Cheers

LCD
rst 0
Mensajes: 8
Registrado: Mar Jul 05, 2011 12:47 am

Re: Un compilador de ZX Spectrum BASIC

Mensaje por LCD » Mié Jul 06, 2011 9:14 am

oblo escribió:Thanks, I'll give it a try and it's great news if you implement it in BorIDE (I'm waiting for a new release!) :-)

Cheers


Okay, it depends on my job and overtime hours, but I hope, I can finish the Interrupt maker for BorIDE very soon.

Avatar de Usuario
falvarez
Sabreman
Mensajes: 375
Registrado: Mar Abr 17, 2007 12:28 am
Ubicación: Madrid
Contactar:

Re: Un compilador de ZX Spectrum BASIC

Mensaje por falvarez » Jue Jul 13, 2017 7:47 pm

¡Buenas!

Después de tantos años, al escuchar el último podcast de Retro Entre Amigos me picó el gusanillo de probar ZX BASIC.

Me he encontrado que no me funcionaba hasta que me he bajado la librería PLY y la he descomprimido en el mismo directorio de ZX BASIC. ¿Eso es normal? No me ha parecido ver nada en la documentación.

Según escuché en el programa, me pareció entender que era 100% compatible con el BASIC de Sinclair, así que mi primer impulso ha sido recuperar mi cutre zxsnake y ver que no compilaba. Curiosamente, el mismo zxsnake está disponible como ejemplo en el wiki de ZX BASIC, lo que me ha hecho mucha ilusión, y he visto que algunas líneas estaban modificadas. Así que imagino que la compatibilidad no es 100%.

En cualquier caso, muchas gracias a Boriel por crear esta herramienta que seguro que ha ayudado y ayudará a que muchas personas expresen su creatividad en forma de programa para el ZX Spectrum.

Saludos.

Boriel
Sabreman
Mensajes: 351
Registrado: Lun May 28, 2007 9:55 am
Ubicación: Tenerife
Contactar:

Re: Un compilador de ZX Spectrum BASIC

Mensaje por Boriel » Vie Jul 14, 2017 8:03 pm

Eres tú el autor?? Wow!
No recuerdo si fue en este mismo foro en el hilo de ZX Basic te estaba buscando para pedir permiso para convertirlo. No recuerdo si fuiste tú u otra persona quien me dijo que si (el listado debería tener el nombre del autor original).
Me alegro que te guste.
Tuve que ponerle algunos retardos (un beep entre ellos) porque iba muy rápido.
ZX Basic intenta acercarse al sInclair Basic, pero tiene características extendidas.
Ya hay quien me ha dicho que divida el compilador en dos:
Uno para compilar el Basic de Sinclair con la máxima compatibilidad posible y otro para la sintaxis extendida.
Pero me daría pena y sería doble trabajo.
Cambian otras cosas, pero en principio en los ejemplos se ve.
Aún estamos mejorando cosas (ya hay gente que está colaborando activamente en subrutinas y testing), como la generación de un código más eficiente. Vamos a ver...

Avatar de Usuario
falvarez
Sabreman
Mensajes: 375
Registrado: Mar Abr 17, 2007 12:28 am
Ubicación: Madrid
Contactar:

Re: Un compilador de ZX Spectrum BASIC

Mensaje por falvarez » Vie Jul 14, 2017 11:23 pm

Buenas.

No hace falta pedir permiso para usar el listado. Para eso lo publiqué con fines didácticos en Magazine ZX: https://magazinezx.speccy.org/10/basic.html

¿Lo de que se necesita PLY es normal, o es cosa de mi sistema operativo?

La verdad es que mi idea era compilar los juegos en BASIC que hicimos en Compiler Software. Pero si hay que adaptar el código, la cosa no es tan inmediata como yo pensaba :-)

Muchas gracias por vuestro trabajo. Un saludo.

Boriel
Sabreman
Mensajes: 351
Registrado: Lun May 28, 2007 9:55 am
Ubicación: Tenerife
Contactar:

Re: Un compilador de ZX Spectrum BASIC

Mensaje por Boriel » Vie Jul 28, 2017 8:20 pm

Bueno, realmente es un "fallo" mío, porque no suelo empaquetar los módulos python externos al compilador en la distribuciones que no son de windows. Ya lo he arreglado. :roll:

Puedes descargarte de nuevo la versión 1.6.9 (o posterior) desde aquí y decirme si te funciona?
http://www.boriel.com/wiki/en/index.php ... nt_Version

Habrá que adaptar algún código, pero normalmente no es complicado. El principal escollo es que cada IF debe de cerrarse con un :END IF

Lo demás depende.
Si quieres ver listados de ejemplo, aquí tienes algunos:
http://www.boriel.com/wiki/en/index.php ... e_Programs

Avatar de Usuario
wilco2009
Freddy Hardest
Mensajes: 543
Registrado: Lun Sep 17, 2012 9:40 am
Ubicación: Valencia

Re: Un compilador de ZX Spectrum BASIC

Mensaje por wilco2009 » Lun Ago 14, 2017 10:47 am

Boriel escribió:Bueno, realmente es un "fallo" mío, porque no suelo empaquetar los módulos python externos al compilador en la distribuciones que no son de windows. Ya lo he arreglado. :roll:

Puedes descargarte de nuevo la versión 1.6.9 (o posterior) desde aquí y decirme si te funciona?
http://www.boriel.com/wiki/en/index.php ... nt_Version

Habrá que adaptar algún código, pero normalmente no es complicado. El principal escollo es que cada IF debe de cerrarse con un :END IF

Lo demás depende.
Si quieres ver listados de ejemplo, aquí tienes algunos:
http://www.boriel.com/wiki/en/index.php ... e_Programs

Con --sinclair se hace bastante más compatible, ¿no es así?. Lo que no se es si sigue haciendo falta cerrar los IF con END IF

Boriel
Sabreman
Mensajes: 351
Registrado: Lun May 28, 2007 9:55 am
Ubicación: Tenerife
Contactar:

Re: Un compilador de ZX Spectrum BASIC

Mensaje por Boriel » Vie Sep 15, 2017 10:07 am

sigue haciendo falta.
Ese problema es realmente difícil de arreglar.
Si queremos que el IF admita varias lineas como en otros lenguajes, no se puede arreglar fácilmente. Es un límite de la herramienta (yacc y derivados) que solo admite ciertas gramáticas.

Una de las posibilidades es cambiar toda la parte de parseo del compilador (un trabajo titánico, pero posible). A ver si encuentro un hueco. Esto lo tengo en la "cola de TODOs" desde hace años... :shock:

Boriel
Sabreman
Mensajes: 351
Registrado: Lun May 28, 2007 9:55 am
Ubicación: Tenerife
Contactar:

Re: Un compilador de ZX Spectrum BASIC

Mensaje por Boriel » Sab Oct 07, 2017 1:14 am

Hola!
He sacado la versión 1.7.0 que ya admite READ, DATA, RESTORE y llamadas a SUB sin parámetros (lo que sería como "expandir la sintaxis). Así: mysub 1, 4, a-5 (por ejemplo)
Se puede descargar donde siempre:
http://www.boriel.com/wiki/en/index.php ... IC:Archive :roll:

Avatar de Usuario
radastan
Phantomas
Mensajes: 2232
Registrado: Lun May 07, 2007 5:34 pm
Contactar:

Re: Un compilador de ZX Spectrum BASIC

Mensaje por radastan » Sab Oct 07, 2017 7:19 am

¡Descargando!
_________________________________________
Hay otras páginas.... pero no son Bytemaniacos
http://www.bytemaniacos.com
Orgullo de 8 bits
_________________________________________

Boriel
Sabreman
Mensajes: 351
Registrado: Lun May 28, 2007 9:55 am
Ubicación: Tenerife
Contactar:

Re: Un compilador de ZX Spectrum BASIC

Mensaje por Boriel » Mié May 22, 2019 3:00 pm

Wow, realmente no había actualizado esto.
Ya está (hace más de un año?) la rama 1.8.x (concretamente la última versión es la 1.8.10).

Quizá el cambio más notable de esta versión es que sí, finalmente ya se admiten IF ... THEN en una linea sin tener que poner END IF al final, con lo cual la compatibilidad con antiguos programas BASIC del ZX Spectrum es muy alta! 8)
Se puede descargar, como siempre, desde aquí:
http://boriel.com/wiki/en/index.php/ZX_BASIC:Archive

Responder

¿Quién está conectado?

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