¿Cómo sería el Spectrum BASIC hoy en día? Aquí la solución.

Noticias relacionadas con el mundo del Spectrum en general y este foro en particular. Presentación de nuevos usuarios.

Moderador: Sir Cilve Sinclair

Responder
Galileo
rst 0
Mensajes: 41
Registrado: Dom Ago 12, 2007 10:50 pm
Ubicación: Murcia (España)
Contactar:

¿Cómo sería el Spectrum BASIC hoy en día? Aquí la solución.

Mensaje por Galileo » Dom Jul 29, 2012 12:09 pm

Hola a todos otra vez.

Desde hace mucho tiempo buscaba un intérprete de BASIC que me permitiera hace cosas al estilo de mi muy querido Spectrum. Y, aunque lo busqué con ahínco, no encontré nada parecido.

Pero, hete aquí que Paul Dunn (el autor de BASin) viene al rescate con su proyecto SpecOS. He buscado en este foro y no me he topado con ninguna referencia al mismo, así que os dejo la referencia: https://sites.google.com/site/pauldunn/.

He descargado la última versión de desarrollo y me ha encandilado. Estoy deseando ver la primera versión estable, porque va a ser la caña (¿qué digo?: ¡ya es la caña!).

En serio, no podéis dejar de echarle un vistazo.
El Spectrum no necesita ser actualizado cada equis años, y SIEMPRE es compatible consigo mismo (chúpate esa, BG).

Avatar de Usuario
Hark0
Freddy Hardest
Mensajes: 545
Registrado: Mar Nov 13, 2012 12:42 pm
Ubicación: Cornella de Llobregat - Barcelona
Contactar:

Re: ¿Cómo sería el Spectrum BASIC hoy en día? Aquí la soluci

Mensaje por Hark0 » Mié Nov 14, 2012 12:20 am

Ostras!

Si el BASin ya me parece bueno, este ya tiene que ser la repera... y por lo que leo, con soporte RPi. :)
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica

Avatar de Usuario
javiperez
Jack The Nipper
Mensajes: 103
Registrado: Vie Ago 24, 2007 12:45 pm
Ubicación: Valladolid

Re: ¿Cómo sería el Spectrum BASIC hoy en día? Aquí la soluci

Mensaje por javiperez » Mié Nov 14, 2012 12:38 pm

"No more attribute clash"?? Esto es intrínseco a la organización de la memoria gráfica y el área de atributos, no?
The Spectrum will rise again to rule the Earth.
Real programmers never die. They just return without gosub.

Avatar de Usuario
na_th_an
Nonamed
Mensajes: 1889
Registrado: Lun May 07, 2007 10:16 am
Ubicación: Andalucía

Re: ¿Cómo sería el Spectrum BASIC hoy en día? Aquí la soluci

Mensaje por na_th_an » Jue Nov 15, 2012 10:30 am

En un dispositivo moderno no hay problemas de atributos. A eso se refiere. No es un intérprete para Spectrum, sino para dispositivos modernos.

A mí no me va. En cuanto pude abandonar los números de linea me sentí liberado. Volver a ellos me parece un contradios.

elfoscuro
Herbert
Mensajes: 65
Registrado: Mar Nov 24, 2009 7:16 pm

Re: ¿Cómo sería el Spectrum BASIC hoy en día? Aquí la soluci

Mensaje por elfoscuro » Jue Nov 15, 2012 2:57 pm

Vaya... pensaba que era un BASIC compilado en el Spectrum.

Estoy de acuerdo con na_th_an... odio los números de línea, el EDIT y demás. Prefiero la programación estructurada y, al contrario de lo que pensaba en su día, no necesito el GO TO para nada ;-)

Me acostumbré a programar en PASCAL, luego evolucioné a Delphi, y me cuesta mucho volver al BASIC Spectrum.

Tendré que mirarme el BASin, a ver que puede hacer por mí. Lástima del z88dk, no encuentro nada que me ayude a lanzarme, con tanto lío de instalación.

Un saludo.

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

Re: ¿Cómo sería el Spectrum BASIC hoy en día? Aquí la soluci

Mensaje por wilco2009 » Jue Nov 15, 2012 8:21 pm

Vaya, vaya..... Basic, Pascal, Delphi..... Me parece estar recordándome a mi mismo. :D

elfoscuro
Herbert
Mensajes: 65
Registrado: Mar Nov 24, 2009 7:16 pm

Re: ¿Cómo sería el Spectrum BASIC hoy en día? Aquí la soluci

Mensaje por elfoscuro » Jue Nov 15, 2012 9:31 pm

Pues hace mil años que no programo nada, y tenia medio hacer mi base de datos para Spectrum. Quizá debería retomarla y meterle caña de una vez.

Un saludo.

Avatar de Usuario
JBGV
Manic Miner
Mensajes: 279
Registrado: Vie Feb 11, 2011 9:16 am

Re: ¿Cómo sería el Spectrum BASIC hoy en día? Aquí la soluci

Mensaje por JBGV » Jue Nov 15, 2012 9:46 pm

Hola.

Oye, cuando decís que no usáis los GO TO o GOSUB os referís a eso, literalmente?

Yo no sabría hacer nada sin ellos :roll: :lol:

En ASM también, estoy todo el tiempo con JP JR y CALL.

elfoscuro
Herbert
Mensajes: 65
Registrado: Mar Nov 24, 2009 7:16 pm

Re: ¿Cómo sería el Spectrum BASIC hoy en día? Aquí la soluci

Mensaje por elfoscuro » Vie Nov 16, 2012 8:49 am

No, decimos que no usamos GO TO, no GO SUB. Los GO SUB son los "procedimientos" en programación estructurada.

Digamos que "defines" una nueva orden del lenguaje, que acepta parámetros como las demás, y la llamas como si hicieras un PRINT, LET o lo que sea. Es decir, Si necesitas un marcador de una manera concreta, creas la procedure MARCADOR(puntos:integer), y luego, en el bucle del juego, tras los INKEY$ por ejemplo, escribes MARCADOR(puntos_actuales), y se dibujaría.

Son "cajas negras" que hacen lo que quieras, o calculan lo que quieras. Lo único que cambia es que le puedes pasar valores, y que sus variables son locales y una vez finaliza el procedimiento su trabajo, estas dejan de existir.

En cuanto al GO TO, una vez eliminas los números de línea, te das cuenta de la poca falta que hace. Y si hablamos ya de programación con objetos, la primera pregunta que te viene a la mentes es... ¿GO... qué?

Busca un compilador de C, aprende a hacer programas básicos (por ejemplo, un punto de venta sencillo, en modo texto), y verás como el GO TO pasa a ser algo del pasado.

En Spectrum, lo usábamos mucho para arreglar la falta de estructuras básicas de cualquier lenguaje, como el WHILE, y sobre todo el IF THEN... ELSE. Una vez tienes esas estructuras, dejas de necesitar el GO TO.

Un saludo.

Avatar de Usuario
Scooter
Freddy Hardest
Mensajes: 711
Registrado: Jue Nov 11, 2010 10:17 pm

Re: ¿Cómo sería el Spectrum BASIC hoy en día? Aquí la soluci

Mensaje por Scooter » Vie Nov 16, 2012 9:21 am

Recuerdo el simons basic del c64 que permitía crear funciones y llamarlas por su nombre, que lujo asiatico!
Aquellos chalados en sus viejos cacharros...

Avatar de Usuario
na_th_an
Nonamed
Mensajes: 1889
Registrado: Lun May 07, 2007 10:16 am
Ubicación: Andalucía

Re: ¿Cómo sería el Spectrum BASIC hoy en día? Aquí la soluci

Mensaje por na_th_an » Vie Nov 16, 2012 10:19 am

Yo no me prohíbo usar GOTOs, pero al final tampoco los uso. No son necesarios. La única situación en los que viene bien es para salir de un montón de bucles anidados de un plumazo, por velocidad.

Los GOSUBs sí que ya no sirven para nada, teniendo funciones y procedimientos.

@elfooscuro: no hace falta irse a C, en ZX Basic tienes funciones (FUNCTION) y procedimientos (SUB), además de todas las construcciones de programación extructurada (WHILE:WEND, etcétera).

Avatar de Usuario
JBGV
Manic Miner
Mensajes: 279
Registrado: Vie Feb 11, 2011 9:16 am

Re: ¿Cómo sería el Spectrum BASIC hoy en día? Aquí la soluci

Mensaje por JBGV » Vie Nov 16, 2012 11:49 am

Gracias por las aclaraciones !

Hum... Esto contáis del GO TO es la diferencia entre la "programación estructurada" y la "programación lineal", no? -perdonad si digo alguna tonteria, yo en realidad no soy programador :oops: - Básicamente es el mismo código pero "ordenado" de forma distinta no?

Avatar de Usuario
na_th_an
Nonamed
Mensajes: 1889
Registrado: Lun May 07, 2007 10:16 am
Ubicación: Andalucía

Re: ¿Cómo sería el Spectrum BASIC hoy en día? Aquí la soluci

Mensaje por na_th_an » Vie Nov 16, 2012 11:55 am

La programación estructurada tiene bastantes ventajas. La primera es que es más legible y fácil de entender. Si indentas bien el código, con un simple vistazo puedes entender la estructura de un algoritmo, sin tener que estar siguiendo GOTOs. En este sentido, sí, es una forma diferente de organizar el código. A la programación más lineal le suelen crecer los enanos y al final se obtiene lo que se conoce como "código espaghetti". Se llama así porque el flujo se lía y se relía en sí mismo y al final, si revisitas tu programa tras unos meses, las pasas putas para seguir el hilo.

Además, hace que mover o reutilizar código sea mucho más fácil, ya que no hay que enmendar etiquetas ni cambiar números de linea ni nada parecido. Básicamente, lo que haces es facilitarte la vida. ¿cómo te crees que sacamos tantos juegos? :lol: Porque somos los masters del universo del CTRL+C, CTRL+V :lol:

Sin embargo, GOTO tiene algunas aplicaciones y a veces viene bien para acelerar un poco las cosas. Por lo general, programando estructuradamente no tienes ningún impacto en eficiencia (en realidad, si lo haces bien, te es más fácil optimizar el código y hasta es mejor), pero hay veces en las que un GOTO viene bien:

Código: Seleccionar todo

While Not terminado
   For j = 1 To 1000
      For k = 32 To 128 Step 8
         Do
            a = Int (Rnd * 10)
            b = Int (Rnd * 20)
            If mapa (a, b) = 12 Then Goto fueraDelTodo:
         Loop While a = b
      Next k
   Next j
Wend

fueraDelTodo:


En situaciones así puedes usarlo para salir de un plumazo de un montón de estructuras anidadas. En realidad es para lo único que lo usaría, pero confieso que llevo mucho sin usarlo. En todos mis últimos juegos en C o en ZX Basic no hay ni uno solo.

Avatar de Usuario
JBGV
Manic Miner
Mensajes: 279
Registrado: Vie Feb 11, 2011 9:16 am

Re: ¿Cómo sería el Spectrum BASIC hoy en día? Aquí la soluci

Mensaje por JBGV » Vie Nov 16, 2012 1:10 pm

Joer ,gracias. En esto es en lo que tengo que insistir mas, las mierdoñas que yo hago siguen liadísimas.

Entonces CTRL+C, CTRL+V es como se llama técnicamente a la churrera :mrgreen:

PD, por cierto tengo que abrir un hilo para preguntarte sobre el tutorial de compresión/descompresion que pusiste en la página de Boriel... pero otro día :lol: .

Avatar de Usuario
na_th_an
Nonamed
Mensajes: 1889
Registrado: Lun May 07, 2007 10:16 am
Ubicación: Andalucía

Re: ¿Cómo sería el Spectrum BASIC hoy en día? Aquí la soluci

Mensaje por na_th_an » Vie Nov 16, 2012 2:07 pm

JBGV escribió:Joer ,gracias. En esto es en lo que tengo que insistir mas, las mierdoñas que yo hago siguen liadísimas.

Entonces CTRL+C, CTRL+V es como se llama técnicamente a la churrera :mrgreen:

PD, por cierto tengo que abrir un hilo para preguntarte sobre el tutorial de compresión/descompresion que pusiste en la página de Boriel... pero otro día :lol: .


Fale :)

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: Google [Bot] y 3 invitados