home *** CD-ROM | disk | FTP | other *** search
- u
- S T A R D I S S O L V E R
-
- Program and Text by Lee Novak
-
-
- STAR DISSOLVER is the third and
- final program in my "link and pack"
- trilogy. It reverses the effects of
- STAR PACKER 1.1 and STAR LINKER 1.9
- in a controlled environment, leaving
- you with the same, untouched files
- the original programmer used.
-
- STAR DISSOLVER takes the mystery
- out of those "10 SYS2061" programs.
-
-
- [USING THE PROGRAM]
- [{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}]
-
- The main menu should be familiar.
- The "suspect" program you want to
- dissolve loads from the source drive.
- Later on, the extracted "component"
- files are saved to the target drive.
- Press B to return to BASIC.
-
- Press F5 to bring up a file
- requestor. Select any "suspect" file
- or press F7 to cancel. Since this
- file is just that, a suspect, you
- don't need to know beforehand if it
- is linked, packed, or anything.
-
- STAR DISSOLVER loads the file and
- tells you its length. Press RETURN to
- make the program check if the file is
- linked and/or packed. And if either
- is so, it automatically "dissolves"
- the file for you. Hence the name, eh?
-
-
- [AFTER DISSOLVING]
- [{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}]
-
- If the program was only packed,
- you'll see the value under "bytes"
- for that solitiary program increase.
- If the program was linked, you'll see
- a list of the component files, with
- separate sizes and load addresses.
-
- You'll need to remember which is
- the primary BASIC file (it's white)
- if you choose to re-link the program
- later. You will NOT need to know the
- custom link addresses of each file.
- My program ensures the load address
- of each file IS the link address!
-
- STAR DISSOLVER wasn't designed to
- identify and decode the Jeff Jones'
- series of linkers, so programs using
- them will be flagged as "not linked".
-
- Press F1 to begin the automated
- saving sequence to the target drive.
- A disk error at this point will halt
- all operations, with the exception of
- the "file exists" error.
-
- You don't have to save. Press F7
- to cancel back to the main menu. Like
- STAR DISSOLVER's predecesors, you can
- load up files just to play around.
-
- Keep a scratch disk handy for
- dissolving. Never dissolve directly
- to a LOADSTAR disk. You would almost
- certainly get a "disk full" error and
- a splat file!
-
- [FT:] You can get away with
- dissolving onto the LOADSTAR disk if
- you get the 1581 version, but it's
- still not a good idea unless you're
- using a backup.
-
- A file that is neither linked nor
- packed can still be saved, only it
- hasn't changed a bit! Think of this
- "feature" as a simple file copier
- with a 51.5K capacity.
-
-
- [MORE ABOUT SAVING]
- [{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}]
-
- STAR DISSOLVER will not allow you
- to "scratch and replace" when an
- identical filename is found on disk.
- Instead, you're given the option of
- giving the currently saving file a
- different name, or skip saving that
- particular file altogether.
-
- Why would you want to do that?
- Suppose a bug is found in a large,
- linked program. Fender could provide
- the ONLY file that needs replacing.
- You could copy that file to a scratch
- disk, and dissolve the linked file to
- the same disk. When prompted, just
- skip saving the duplicated file.
-
- Of course, now you would have to
- re-link and re-pack the program to
- restore its former glory. This does
- take some time from a LOADSTARite.
- Maybe it will be easier on both sides
- to re-publish a bugged program...
-
- Bug fixes aren't the only reason
- to tear apart and re-build a program.
- Besides curiosity, you could break
- into a program to change a font or
- swap a music file. The main thing is
- that you gain "programmer" access to
- upcoming LOADSTAR programs.
-
- Many programs can be RUN in their
- unpacked and unlinked state with
- little modification. All that is
- usually needed is to remove the REMs
- in front of the BLOAD lines in the
- BASIC program. Sometimes a GOTO jumps
- over the BLOAD lines. Remove that.
-
- There are no guarantees that this
- kind of tinkering will get a program
- working as separate files. Every
- programmer has a different style and
- there's no telling what sort of
- nonsense may be in a program!
-
-
- [FENDER'S POSTMUMBLE:] This program
- is going on my utilities partition on
- RAMLink right after STAR LINKER and
- STAR PACKER, and it should go on your
- utilities disk, too. I'm finding the
- LINKER and PACKER tools to be
- lifesavers for me and you'll be
- seeing plenty of linked, packed
- programs on LOADSTAR in the future.
- I only wish that I had the time to go
- back through all of the great
- programs that we've published and
- redo them with Lee's fantastic tools.
- They'd be smaller, load faster, and
- would have the source codes
- "built-in". I'm afraid that there are
- many programs we've published that,
- because of shoddy archiving, would be
- very difficult to redo.
-
- No more, thanks to Lee Novak.
-
- [DAVE'S ADDENDUM:] I use *.PKD to
- indicate a Packed program and *.LNK
- for Linked. If you want to Dissolve a
- file then run the resulting "raw", you
- may need to create a new Boot to reset
- the Bottom of BASIC and bload the
- various files. Use pen and paper to
- note the various load addresses.
-
- For Dissolved binary files, I have
- found that an old technique works just
- fine:
-
- 5 D = PEEK(186):IF D<8 THEN STOP
- 10 IF A=0 THEN A=1:LOAD"FILE1",D,1
- 11 IF A=1 THEN A=2:LOAD"FILE2",D,1
- 12 IF A=2 THEN A=3:LOAD"FILE3",D,1
-
- 20 A$="BASICPROG"
- 30 PRINT"<CLR><DN><DN><DN>LOADA$,D"
- 40 PRINT"<DN><DN><DN><DN>RUN<HOME>
- 50 Q=INT(BOB/256)
- 51 POKE 44,Q: POKE Q*256,0
- 60 POKE631,13:POKE632,13:POKE198,2
- 70 END
-
- (BOB - Bottom of BASIC - is the load
- address of the BASIC program. For
- example, if the BASIC program is shown
- by Dissolver to load at 4097, then BOB
- would equal 4097.)
-
- DMM
-
-
-