Jump to content
IGNORED

TB XL listing de-protector ?!?


Recommended Posts

Hmmm, there are several (if not dozens) of listing de-protectors / un-protectors for protected (unlistable) Atari Basic listings.

 

Is there such a program for a list-protected TB XL program ?!? Well, I tried several of the old Atari Basic programs to de-protect it, but none of them worked, so I guess I need a program specifically written in/for TB XL.

 

By the way, I want to list a german PD program, written in TB XL and make a few changes (if possible), alas, it has list-protection. The program can be found here:

http://www.atarimania.com/game-atari-400-800-xl-xe-gohtic-i-der-aeonen-wechsel_11934.html

 

If you know of such a TB XL program, please give me a link or upload it here...

 

Link to comment
Share on other sites

Hmmm, there are several (if not dozens) of listing de-protectors / un-protectors for protected (unlistable) Atari Basic listings.

 

Is there such a program for a list-protected TB XL program ?!? Well, I tried several of the old Atari Basic programs to de-protect it, but none of them worked, so I guess I need a program specifically written in/for TB XL.

 

By the way, I want to list a german PD program, written in TB XL and make a few changes (if possible), alas, it has list-protection. The program can be found here:

http://www.atarimania.com/game-atari-400-800-xl-xe-gohtic-i-der-aeonen-wechsel_11934.html

 

If you know of such a TB XL program, please give me a link or upload it here...

 

 

Many years ago, I wrote the ATASCII Printer web service to list my old stuff. Then I added the ability to untokenize Atari BASIC programs, including those that unlistable ones, allowing the creation of new variable names if the original ones were deleted. With that working, I could include the Turbo BASIC XL syntax to it. I'm sure that I could extract the untokenizer module and make it available, but you could try this service to get a printable version of the listing (in images).

 

BTW, I've just tried the service with some *.HSP files from disk 1 (side A), sucessfully! ;-)

  • Like 1
Link to comment
Share on other sites

 

Edit: listing works fine. Editing doesn't.

 

What I see from my tests is that there are lines with a length longer than 120 chars, but a POKE 82,0 would allow you to edit most of them, the ones that only uses 3 phisical lines (1 logical line) in the screen editor. For the others, you could abbreviate some statements to save space.

 

Anyway, if you ENTER a listing from disk, lines could be up to 255 chars.

Link to comment
Share on other sites

 

Many years ago, I wrote the ATASCII Printer web service to list my old stuff. Then I added the ability to untokenize Atari BASIC programs, including those that unlistable ones, allowing the creation of new variable names if the original ones were deleted. With that working, I could include the Turbo BASIC XL syntax to it. I'm sure that I could extract the untokenizer module and make it available, but you could try this service to get a printable version of the listing (in images).

 

BTW, I've just tried the service with some *.HSP files from disk 1 (side A), sucessfully! ;-)

 

The module that untokenizes Turbo BASIC XL programs for the printer does not currently support programs with more than 128 variables like some of this Gohtic I game. When I wrote that module, I was not aware that TB XL didn't have that Atari BASIC restriction. I must fix it.

 

But... I remembered that the module was based in an old BASIC program I wrote to put variable names in programs that had them deleted as an obfuscation protection. I've searched, found and then run my program over all the *.HSP files and they became listable. I've attached the modified ATRs.

 

There are many isuses with these TB XL programs:

 

(1) Some lines are longer than 120 chars when LISTed, so they must be edited carefully, probably abbreviating statements and removing unneeded spaces. POKE 82,0 (no left margin) and *L- (disable indent mode) commands will help here.

 

(2) The internal variable's name table is "corrupted" as my program used short variable names, leaving unused space after the last variable name as a row of zeroes. Adding a new variable might have an unexpected result. It is recomended to perforrm the LOAD, LIST, NEW, ENTER and SAVE sequence for every program to rebuild the program structure properly before making any modification to them.

 

(3) All of them starts with a line with a VAR=VAR asignment, i.e. it assigns the current value of a variable to itself. It will be 0 when the program starts, and retains its value otherwise. Could this be another protection? Might it be that the program validates that the variable is not the first one in the variable's name table to detect that the recomended procedure in (2) was performed and a then to abort?

 

(4) I had to unlock *.HSP files to be able to modify them, but I didn't lock them again. Be careful! I don't know if any of the programs will try to overwrite itself as an extra protection.

 

I hope this helps!!!

GohticI.zip

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...