Autor Tema: Programación en BASIC  (Leído 3658 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado vreyes1981

  • HAL9000
  • ****
  • Mensajes: 2359
  • País: es
  • Sexo: Masculino
  • Fecha de registro: Diciembre 29, 2016, 14:22:13 pm
  • Dadme un teclado y moveré el mundo
    • Ver Perfil
    • Email
Programación en BASIC
« en: Marzo 05, 2023, 19:11:48 pm »
Buenos tardes. Escribo aquí estas líneas porque he descubierto los antiguos cargadores que se incluían en Micromania de la 2ª época que se escribían en BASIC para obtener trucos o ventajas en los juegos. En este caso en versión PC. El problema es que al crear el archivo en BASIC, cuando lo compilo bajo el comando RUN, me sale el siguiente error:

Citar
Error en la línea data 5

Break in 170

Adjunto en spoiler el código en BASIC. Aviso que es un buen tocho:

Spoiler (click para mostrar/ocultar)

¿Alguna idea de que puede ser? Gracias.
« Última modificación: Marzo 05, 2023, 19:13:34 pm por vreyes1981 »



Desconectado skywalky

  • IBM PC
  • *
  • Mensajes: 133
  • País: es
  • Fecha de registro: Enero 27, 2012, 15:10:38 pm
    • Ver Perfil
    • Email
Re: Programación en BASIC
« Respuesta #1 en: Marzo 05, 2023, 20:01:53 pm »
Pues según parece está fallando el checksum de una linea DATA así que comprueba la línea 580 ya que puede ser que el error esté ahí. Si nos dices en que Micromania está ese cargador quizá podamos ayudarte más.



Desconectado vreyes1981

  • HAL9000
  • ****
  • Mensajes: 2359
  • País: es
  • Sexo: Masculino
  • Fecha de registro: Diciembre 29, 2016, 14:22:13 pm
  • Dadme un teclado y moveré el mundo
    • Ver Perfil
    • Email
Re: Programación en BASIC
« Respuesta #2 en: Marzo 05, 2023, 20:05:02 pm »
Buenas: el Micromanía en cuestión es un suplemento que se llama "Los 100 Mejores Juegos para PC"

De todas formas le echo ese vistazo en la línea 580 como tu bien dices...
« Última modificación: Marzo 05, 2023, 20:15:27 pm por vreyes1981 »



Desconectado Crafterlock

  • IBM PC
  • *
  • Mensajes: 113
  • País: es
  • Sexo: Masculino
  • Fecha de registro: Julio 12, 2018, 01:33:33 am
    • Ver Perfil
    • Email
Re: Programación en BASIC
« Respuesta #3 en: Marzo 07, 2023, 01:45:30 am »
Una cosa quiero comentar respecto a los cargadores de la susodicha revista, la mayoría son obra de Javier Sánchez Fransesch (que en su momento comprobé que la mayoría funcionaban sin problemas), mas hay dos cargadores de Jesús Prez Sicilia (el del "Gryzor"y el del "Platoon") y ninguno de los dos funcionan.
¿Casualidad? No lo creo.

Desconectado vreyes1981

  • HAL9000
  • ****
  • Mensajes: 2359
  • País: es
  • Sexo: Masculino
  • Fecha de registro: Diciembre 29, 2016, 14:22:13 pm
  • Dadme un teclado y moveré el mundo
    • Ver Perfil
    • Email
Re: Programación en BASIC
« Respuesta #4 en: Marzo 07, 2023, 02:54:47 am »
Eso quiere decir que los  cargadores de Platoon y Gryzor no funcionan porque los códigos están mal de forma ex-profesa?



Desconectado Crafterlock

  • IBM PC
  • *
  • Mensajes: 113
  • País: es
  • Sexo: Masculino
  • Fecha de registro: Julio 12, 2018, 01:33:33 am
    • Ver Perfil
    • Email
Re: Programación en BASIC
« Respuesta #5 en: Marzo 07, 2023, 03:34:34 am »
Hombre, no diría tanto, pero que pueden tener algún error de transcripción, podría ser (como el nombre del creador de los cargadores, está claro que se llama "Pérez" y no "Prez").
Lamentablemente no tengo suficientes conocimientos para hallar una solución.
El del "Gryzor" no recuerdo haberlo visto en ningún otro lado, pero el del "Platoon" sí. Si lo encuentro los compararé, así al menos podremos saber si es un error de transcripción, o si es que el señor este no estaba por la labor...

Desconectado necromode

  • Calculadora
  • Mensajes: 20
  • Fecha de registro: Noviembre 05, 2011, 01:22:01 am
    • Ver Perfil
    • Email
Re: Programación en BASIC
« Respuesta #6 en: Marzo 20, 2023, 23:05:10 pm »
En powerbasic de la época se puede tracear...
Doy una pista:
El cálculo del checksum de la línea 5 es 1963
El valor (suma) que debería dar es 1915
1963-1915 = 48dec = 30hex
Es probable que en la línea 5 se haya confundido un 8 por una B o similar.
He restado -30hex a todos los pares hex en esa línea individualmente (únicamente en los que el resultado es mayor a 0) y generado los cargadores .com correspondientes.
Probados todos, el único que no da error o fenónemos adversos (el cargador .com genera un ** ERROR **) es el B4 (correspondiente al último dígito hex de la línea).
Sustituido por 84. Ejecutado el cargador y cargado el juego, no tiene vidas infinitas...
He bajado ese número de la revista y aprecio, que donde pone 5EBE en el .bas del hilo, yo diría que en la revista se parece más a 5E8E, el cálculo del checksum es correcto (1915) pero da ** error ** el cargador resultante.
Vaya misterio!
------------------
Bueno muchachos y no tan muchachos. Ya tengo la solución. (El fallo de transcripción de la revista a texto estaba en el (B8 00 5E BE)). Debería ser (B8 00 5E 8E).
Este no es un cargador TSR (residente en memoria), se encarga de ejecutar el GRYZOR.EXE.
Pero existe un pequeño problema, en el dos box .conf se monta la unidad en C, y después se accede a la carpeta GRYZOR, pero el cargador ejecuta el GRYZOR.EXE desde la ruta a:\gryzor.exe
Hechas las modificaciones pertinentes, lo tengo operativo.
Quizá la mejor solución sería, cambiar el byte incorrecto y modificar el .BAS para que la ruta de ejecución sea .\GRYZOR.EXE en la línea 590 (modificando también el checksum) , así independientemente de la carpeta donde esté el ejecutable lo va a encontrar igual.
Por si queréis trastear he utilizado el Powerbasic PB35 para DOS y el IDA 7.7.
------------------
Bueno, me dejo de tonterías y vamos a la solución práctica.
Aquí el spoiler con el .BAS modificado para que funcione como debe:

Spoiler (click para mostrar/ocultar)
« Última modificación: Marzo 21, 2023, 13:08:47 pm por necromode »

Desconectado kurt

  • Moderador Global
  • AMD Athlon
  • *****
  • Mensajes: 764
  • País: es
  • Fecha de registro: Enero 20, 2005, 11:44:11 am
  • Coleccionando aventuras gráficas
    • Ver Perfil
    • Aventgraficas
    • Email
Re: Programación en BASIC
« Respuesta #7 en: Marzo 21, 2023, 17:59:20 pm »
Ostras, pedazo de trabajo de investigación y de solución te has marcado. Que crack!!!

Gracias



Redump dumper & Floppy preservation
:es:Búsqueda de material de aventuras gráficas :es:

Desconectado vreyes1981

  • HAL9000
  • ****
  • Mensajes: 2359
  • País: es
  • Sexo: Masculino
  • Fecha de registro: Diciembre 29, 2016, 14:22:13 pm
  • Dadme un teclado y moveré el mundo
    • Ver Perfil
    • Email
Re: Programación en BASIC
« Respuesta #8 en: Marzo 21, 2023, 20:22:57 pm »
(...) Bueno muchachos y no tan muchachos. Ya tengo la solución. (El fallo de transcripción de la revista a texto estaba en el (B8 00 5E BE)). Debería ser (B8 00 5E 8E).

 :huh: :huh: :adoracion: :adoracion:

Edito:

Confirmado que se ejecuta correctamente:


¡Muchas gracias @necromode por tu ardua investigación!
« Última modificación: Marzo 21, 2023, 20:38:21 pm por vreyes1981 »



Desconectado necromode

  • Calculadora
  • Mensajes: 20
  • Fecha de registro: Noviembre 05, 2011, 01:22:01 am
    • Ver Perfil
    • Email
Re: Programación en BASIC
« Respuesta #9 en: Marzo 22, 2023, 00:00:54 am »
Aquí en el spoiler os dejo el cargador del PLATOON revisado y corregido extraído de la misma revista:
Tener en cuenta que el ejecutable que busca el cargador es .\o.exe

Spoiler (click para mostrar/ocultar)
« Última modificación: Marzo 22, 2023, 01:58:29 am por necromode »

Desconectado Crafterlock

  • IBM PC
  • *
  • Mensajes: 113
  • País: es
  • Sexo: Masculino
  • Fecha de registro: Julio 12, 2018, 01:33:33 am
    • Ver Perfil
    • Email
Re: Programación en BASIC
« Respuesta #10 en: Marzo 22, 2023, 02:08:19 am »
Llevaba más de treinta años frustrado con el maldito cargador del "Platoon". No te puedes imaginar lo agradecido que estoy por este favor que nos has hecho.
¡Mil gracias @necromode! :asisehace:

Desconectado necromode

  • Calculadora
  • Mensajes: 20
  • Fecha de registro: Noviembre 05, 2011, 01:22:01 am
    • Ver Perfil
    • Email
Re: Programación en BASIC
« Respuesta #11 en: Abril 05, 2023, 00:10:44 am »
30 años, ¡mae mía!

En el spoiler, a modo de preservación (igual a la revista) , el cargador del Gryzor corregido.

Spoiler (click para mostrar/ocultar)

Desconectado SkaZZ

  • Webmasters
  • HAL9000
  • *****
  • Mensajes: 2426
  • País: es
  • Sexo: Masculino
  • Fecha de registro: Noviembre 21, 2004, 20:19:49 pm
  • ZzZzzZz... Dark Souls... ZzZzzZz...
    • Ver Perfil
Re: Programación en BASIC
« Respuesta #12 en: Abril 05, 2023, 08:29:15 am »
Oh, GW-BASIC, ojalá lo hubiera visto antes. Te lo voy a pasar a QuickBasic, pues el compilador v4.5 se puede encontrar en la red o puedes también usar QB64, para que se puede compilar.

NO GOTO, NO CRY!



      //////       Hora de abandonware llegó, coge a tus
     (o   O)       amigos y vámonos. Con Kendo el friki y
       (_)         SkaZz el chiflado, lo pasaremos guay.
--oooO-----Oooo--  ¡Hora de abandonware!

Desconectado Crafterlock

  • IBM PC
  • *
  • Mensajes: 113
  • País: es
  • Sexo: Masculino
  • Fecha de registro: Julio 12, 2018, 01:33:33 am
    • Ver Perfil
    • Email
Re: Programación en BASIC
« Respuesta #13 en: Abril 05, 2023, 22:53:30 pm »
Yo uso el QuickBasic 1.1, con el DosBox claro. Es el que he usado toda la vida, y últimamente me muevo más por entorno Dos emulado que por Windows...  :lol:

Desconectado Crafterlock

  • IBM PC
  • *
  • Mensajes: 113
  • País: es
  • Sexo: Masculino
  • Fecha de registro: Julio 12, 2018, 01:33:33 am
    • Ver Perfil
    • Email
Re: Programación en BASIC
« Respuesta #14 en: Mayo 25, 2023, 03:13:08 am »
Veamos @necromode te cuento.

No me funciona el cargador del "Platoon", y lo que no entiendo es, como indicas, que el ejecutable que busca es el o.exe, cuando no existe en el juego ningún ejecutable con ese nombre.
Entonces, si se arranca el cargador da error, y si -por probar- se le cambia el nombre al ejecutable real del juego (platoon.exe) por o.exe, al ejecutar el cargador, se cuelga.

¿Hay alguna solución, o realmente no existe un cargador que pueda con este juego?