Duda basic protegido

Software y Juegos para retro-computadores, bueeeno... casi puros juegos :-)

Duda basic protegido

Notapor dogdark » Mar Nov 14, 2017 1:08 pm

generalmente los basic unos los puede listar cuando los graba, pero hey varios que estan con una proteccion de listado y se usa esta referencia.

Código: Seleccionar todo
FOR VARI=PEEK(130)+PEEK(131)*256 TO PEEK(132)+PEEK(133)*256:POKE VARI,155:NEXT VARI


Se puede hacer la inversión, para poder ver el listado de ese programa que debe estar con ese código.????
Avatar de Usuario
dogdark
 
Mensajes: 536
Registrado: Lun Mar 04, 2013 12:36 pm

Re: Duda basic protegido

Notapor vitoco » Mié Nov 15, 2017 11:41 am

Sí es posible la vuelta atrás y hacer legible el programa, pero se pierden los nombres originales de las variables.

Las direcciones de memoria 128 a 141 corresponden a los 14 primeros bytes (7 words de punteros) que quedan grabados en cada archivo BASIC, pero habiendo restado (en pareja) los valores de 128(LO) y 129(HI). Por eso los archivos empiezan con los 2 bytes $00.

Entre esos punteros están el 130 (3er y 4to byte) y el 132 (5to y 6to byte) de la tabla de nombres de variables, usados en la rutina para reemplazar los caracteres de los nombres por el caracter 155 ($9B) y destruir visualmente el listado, pero también está el puntero 134 (7mo y 8vo) que indica dónde está la tabla de valores de las variables, y de ahí se puede sacara de qué tipo es cada variable. Esa tabla usa 8 bytes por variable, y el primer byte de cada grupo indica el tipo de esa variable. Creo que el puntero 136 (9no y 10mo byte) sirve para saber donde ya terminó la tabla, y la reste entre estos 2 punteros dividida por 8 daría la cantidad de variables utilizadas. Revisa el Mapping para los detalles de cada puntero.

Mi recomendación es editar el archivo para poner las variables en su tabla y después cargarlo en memoria.

... o usar un programita que hice para eso hace años... 8-)
Avatar de Usuario
vitoco
 
Mensajes: 1848
Registrado: Lun Ene 28, 2013 4:47 pm

Re: Duda basic protegido

Notapor dogdark » Mié Nov 15, 2017 11:48 am

Me recomendaron un programa que esta en otro foro de atari, y con ese obtube el codigo, transformandolo en .lst y luego lo pase como corresponde en basic. Te adjunto el programa.

Avatar de Usuario
dogdark
 
Mensajes: 536
Registrado: Lun Mar 04, 2013 12:36 pm

Re: Duda basic protegido

Notapor vitoco » Mié Nov 15, 2017 1:18 pm

Creo que la vuelta mediante la generación del listado es larga y puede introducir errores... El tema es recuperar las variables, y para eso hay que poner los valores apropiados en su lugar asignado dentro del archivo. Después se carga el programa y se limpia con LIST/ENTER desde el mismo BASIC.

Busqué mi programita y encontré la versión inicial que hace precisamente eso. Está en RecuperaVariables.atr. Para especificar el archivo a modificar, hay que poner D: (o lo que corresponda) al inicio del nombre. OJO que dije "modificar", es decir, perderás el archivo original, así que mejor trabaja con una copia del archivo a listar.

Ahora, con años de circo, lo haría mucho más simple aún. 8-)
Avatar de Usuario
vitoco
 
Mensajes: 1848
Registrado: Lun Ene 28, 2013 4:47 pm


Volver a Software y Juegos

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron