home *** CD-ROM | disk | FTP | other *** search
-
- ╙ELF EXTRACTING ╠╚┴╥├HIVES FOR THE ├64 AND ├128
- -----------------------------------------------
-
-
- ╘HE ╠╚┴╥├HIVE SELF EXTRACT MODULE (╙╞╪) IS SLIGHTLY LARGER THAN THE
- ╙─┴ MODULES FOR ┴╥├128. ╔T WEIGHS IN AT ABOUT 3500 BYTES OR 14 ├┬═ DISK
- BLOCKS COMPARED TO AROUND 2000 BYTES (OR 8 ├┬═ DISK BLOCKS) FOR THE ╙─┴
- MODULES.
-
- ╔T DOES, HOWEVER, HAVE A NUMBER OF ADVANTAGES.
-
- ╠╚┴╥├HIVES ARE SMALLER, SO THE EXTRA 1500 BYTES OR SO WILL MOST
- CERTAINLY BE RECUPERATED IN ANY ARCHIVE WHICH IS MORE THAN A FEW KILOBYTES
- IN LENGTH. ╙INCE ╠╚┴╥├HIVES ARE TYPICALLY 20% SMALLER, BREAK EVEN WOULD BE
- AT 1500/0.2 = 7500 BYTES OR SO. ╔F THE ARCHIVE IS LARGER THAN THAT, AN ╙╞╪
- WILL MORE THAN LIKELY BE SMALLER THAN AN ╙─┴.
-
- ╙╞╪ DOESN'T FORCE YOU TO DISSOLVE TO DRIVE 0 ON UNIT 8 AS ╙─┴ DOES, SO
- YOU CAN EXTRACT THE ╙╞╪ TO A ╥┴═─╧╙ DRIVE OR HARD DRIVE OR WHATEVER.
- ╥UNNING THE ╙╞╪ IS STRAIGHT FORWARD. ┘OU'LL BE PROMPTED FOR THE DESTINATION
- DRIVE AND UNIT NUMBER. ┘OU CAN JUST HIT RETURN TO ACCEPT THE DEFAULTS OR
- ENTER A NEW ONE. ┼NTERING A BLANK (IE. SPACING OUT THE DEFAULT AND HITTING
- RETURN) WILL CAUSE ╙╞╪ TO JUST EXIT WITHOUT DOING ANYTHING.
-
- ╠╚┴╥├ IS AVAILABLE ON ═╙-─╧╙ AND ┴MIGA─╧╙, SO SELF DISSOLVING ARCHIVES
- COULD BE BUILT ON THOSE MACHINES. ╔F YOU'RE A SYSOP RUNNING A BULLETIN
- BOARD ON AN ┴MIGA OR ╨├ AND YOU CATER TO A 8-BIT ├OMMODORE AUDIENCE, THIS
- COULD COME IN HANDY. ┴LSO ╙╞╪'S CAN BE CONVERTED TO ╠╚┴╥├HIVES BY STRIPPING
- OF THE ╙╞╪ PROGRAM HEADER AND THEN BE MANIPULATED AS A REGULAR ARCHIVE.
- ╬OTE, HOWEVER, THAT THE ╙╞╪ CODE ASSUMES THAT ANY CONTAINED FILES HAVE
- VALID ├OMMODORE FILENAMES, SO IF YOU'RE CREATING ╙╞╪'S ON AN ┴MIGA KEEP
- YOUR FILENAMES 16 CHARACTERS OR LESS IN LENGTH, AND DO NOT TELL ╠╚┴╥├ TO
- PUT FULL PATH NAMES IN THE ARCHIVE.
- ╫HEN CREATING ╙╞╪'S ON THE ├128, FILETYPE INFORMATION IS INCLUDED IN
- THE ╠╚┴╥├HIVE AND FILES WILL RETAIN THEIR CORRECT TYPE (╙┼╤ OR ╨╥╟ ONLY,
- ╥┼╠ AND ╒╙╥ ARE NOT ALLOWED). ╔F THIS FILETYPE INFORMATION IS NOT PRESENT,
- ╙╞╪ ALWAYS CREATES ╨╥╟ FILES. ╔F YOU'RE CREATING THEM ON AN ┴MIGA, SINCE
- THE COMMA IS LEGAL IN FILENAMES, YOU CAN INCLUDE FILETYPE INFORMATION BY
- TAGGING ON A ",S" OR ",P" (OR EVEN ",U" BUT NOT ",R") TO THE FILENAME.
- ╘O CREATE AN ╙╞╪ ON A NON ├OMMODORE 8 BIT, SIMPLY CREATE THE ╠╚┴╥├HIVE
- AS NORMAL AND THEN APPEND IT TO THE ╙╞╪ MACHINE LANGUAGE HEADER. ╧N A ╨├
- YOU WOULD SAY ...
-
- COPY/B SFX.ML+NAME.LZH NAME.SFX
-
- AND IN ┴MIGA PARLANCE ...
-
- JOIN SFX.ML NAME.LZH AS NAME.SFX
-
- ╙╞╪ IS WRITTEN IN SUCH A WAY AS TO ALLOW IT TO RUN ON EITHER A ├64 OR
- A ├128. ┘OU CAN ╠╧┴─ AND ╥╒╬ A GIVEN ╙╞╪ EITHER FROM 128 MODE ON A ├128, OR
- ON A ├64, IT MAKES NO DIFFERENCE. ╘HIS IS NICE, SINCE TRYING TO RUN A ├64
- ╙─┴ IN 128 MODE WILL CRASH THE MACHINE AND VISA VERSA. ┬ECAUSE OF THIS
- DIFFERENCE, ╔ CHOSE TO TAG AN '.╙╞╪' ONTO THE END OF THE ARCHIVE NAME
- RATHER THAN AN '.╙─┴' TO MAKE IT CLEAR THAT IT CAN BE RUN IN EITHER ├64 OR
- ├128 MODE. ╧F COURSE, THE FILENAME IS TOTALLY IRRELEVANT, BUT EXTENSIONS
- COME IN HANDY FOR IDENTIFICATION.
-
- ╘HERE IS A SMALL PRICE TO PAY FOR THIS CONVENIENCE, BUT ╔ THINK ITS
- WORTH IT. ╔N ORDER TO BE ABLE TO RUN ON BOTH MACHINES, THE ╙╞╪ CODE MUST
- SENSE WHERE IN MEMORY IT HAS BEEN LOADED AND RELOCATE ITSELF TO
- ACCOMMODATE. ╔F THE RELOCATION FAILS, THE CODE IS INOPERATIVE. ╘HE
- RELOCATION SCHEME USED ASSUMES THAT THE 'START OF ┬┴╙╔├' IS AT THE DEFAULT
- $0801 (├64) OR $1C01 (├128) OR AN INTEGER MULTIPLE OF 256 BYTES ABOVE OR
- BELOW THOSE ADDRESSES. ╘HIS WILL ALMOST ALWAYS BE THE CASE, BUT IF YOU HAVE
- SOME UTILITY GOING WHICH MOVES THE START OF ┬┴╙╔├ TO SOME OTHER VALUE, ╙╞╪
- WILL CRASH.
-
- ╔F YOU DON'T KNOW WHAT ╔'M RAMBLING ON ABOUT, YOU CAN AVOID ANY
- PROBLEMS BY FOLLOWING THESE SIMPLE RULES.
-
- 1) ╬EVER ╙┴╓┼ AN ╙╞╪ THAT HAS BEEN ╥╒╬
- 2) ╬EVER MOVE THE START OF ┬┴╙╔├
-
- ╔F YOU MUST, YOU CAN RUN THE SAME ╙╞╪ OVER AND OVER AGAIN WITHOUT
- HAVING TO RELOAD IT FROM DISK. ╚OWEVER, THE FOLLOWING SEQUENCE OF EVENTS
- WILL CAUSE A CRASH...
-
- ╟╥┴╨╚╔├ ├╠╥ ├128 START OF ┬┴╙╔├ = $1C01
- ╠╧┴─"╙╧═┼.╙╞╪",8
- ╥╒╬ ╥ELOCATES TO $1C01
- ╥╒╬ ╙ECOND RUN IS FINE BECAUSE
- RELOCATION OFFSET IS NOW ZERO
- ╟╥┴╨╚╔├ 1:╟╥┴╨╚╔├ 5 ═OVES START OF ┬┴╙╔├ TO $4001
- ╥╒╬ ╘HIS IS ╧╦ TOO. ╫E CAN MOVE UP
- BUT NOT DOWN.
- ╟╥┴╨╚╔├ ├╠╥ ═OVE START OF ┬┴╙╔├ TO $1C01
- ╥╒╬ ╘HIS TIME IT WILL CRASH.
-
- ╘HE SAME THING WOULD HAPPEN IF YOU WERE TO ╥╒╬ THE ╙╞╪ ON A 128, ╙┴╓┼
- IT TO DISK AND THEN ╠╧┴─ AND ╥╒╬ IT ON A 64.
-
-
- ═EMORY ╒SAGE:
-
- ├128 ├64
-
- ╙╞╪ ╚EADER $1C01-$2A00 $0801-$1600 (┴PPROXIMATE)
- ╠╚┴╥├HIVE $2A00-$D800
- $1600-$CFFF
-
- ╙╞╪ WORKSPACE $D800-$FEFF $D800-$FEFF
-
- ╘HIS PUTS A LIMIT ON THE OVERAL MAXIMUM SIZE OF AN ╙╞╪ OF :
-
- ├64 $0801-$├╞╞╞ WHICH IS 51200 BYTES
- ├128 $1C01-$─800 WHICH IS 48128 BYTES
-
- ╔F IT SHOULD HAPPEN THAT THE ╙╞╪ IS SUFFICIENTLY LARGE THAT PART OF
- THE ARCHIVE EXTENDS PAST $D800, THE TAIL END OF IT WILL BE OVERWRITTEN BY
- THE DECOMPRESSOR. ╘HEREFORE IT IS ESSENTIAL TO KEEP THE TOTAL SIZE OF THE
- ╙╞╪ (INCLUDING THE HEADER) BELOW 48╦. (THAT'S 190 ├┬═ DISK BLOCKS) ╘HERE'S
- A TINY BIT OF LEEWAY THERE, BUT IF IT LOOKS CLOSE, THEN IT WOULD BE BEST TO
- ACTUALLY RUN THE ╙╞╪ AND VERIFY THAT IT DOES INDEED EXTRACT TO COMPLETION.
- ╔N THE CASE OF THE 64, AN ╙╞╪ THAT EXTENDS PAST $A000 WILL EXTRACT OK,
- BUT SINCE ITS LARGER THAN THE ┬┴╙╔├ PROGRAM AREA, YOU'LL GET AN 'OUT OF
- MEMORY ERROR' IF YOU TRY TO DO ANYTHING OTHER THAN JUST ╥╒╬ THE ╙╞╪. ╙IMPLY
- TYPE ╬┼╫ TO MAKE IT GO AWAY.
- ╞URTHERMORE, IF YOU'VE MOVED THE START OF ┬┴╙╔├ TO A HIGHER LOCATION
- IN MEMORY, THIS WILL CUT DOWN ON THE SIZE OF THE LARGEST ╙╞╪ THAT WILL
- DISSOLVE WITHOUT PROBLEMS.
-
- ╘ITLES
- ------
-
- ╫HEN FIRST ╥╒╬, AN ╙╞╪ CHECKS TO SEE IF THE VERY FIRST FILE IN THE
- ╠╚┴╥├HIVE IS NAMED "TITLE". ╔F IT IS, THEN IT WILL BE ECHOED TO THE SCREEN
- RATHER THAN EXTRACTED TO DISK. ┘OU WILL BE PROMPTED FOR THE OUTPUT DEVICE
- ONLY AFTER THE TITLE HAS BEEN DISPLAYED.
-
-
- ╔N ORDER TO ALLOW FOR DELAYS WHILE DISPLAYING TITLES, THE ╙╞╪ CODE
- HANDLES A COUPLE OF CHARACTERS DIFFERENTLY WHILE EXTRACTING THE "TITLE"
- FILE.
-
- CHR$(0) - ├AUSES ╙╞╪ TO FLUSH THE KEYBOARD BUFFER AND THEN WAIT FOR
- THE USER TO PRESS A KEY. ╘HE "TITLE" SHOULD DISPLAY AN
- APPROPRIATE MESSAGE TO ACCOMPANY THE PAUSE.
-
- CHR$(1) - ├AUSES A BRIEF DELAY OF ABOUT A SECOND OR SO.
-
- ├ONVERSION OF ╙╞╪ TO ╠┌╚
- ------------------------
-
- ╘HE FILE "SFX2LZH.C" IS THE ┴╬╙╔ ├ SOURCE CODE FOR A SIMPLE PROGRAM TO
- STRIP OFF THE ╙╞╪ HEADER FROM THE SELF EXTRACTING ARCHIVE. ╘HIS PROGRAM
- SHOULD WORK NOT ONLY WITH ├128/├64 ╙╞╪'S, BUT ALSO WITH ═╙-─╧╙ SELF
- EXTRACTING ┼╪┼ OR ├╧═ FILES AS WELL.
- ╫ITH ╙─┴ FOR ┴╥├64/┴╥├128 ╔ TRIED TO KEEP THE SIZE OF THE ╙─┴ HEADER
- SUCH THAT THE ARCHIVE PORTION ALWAYS BEGAN ON A DISK SECTOR BOUNDARY. ╬O
- ATTEMPT WILL BE MADE TO DO THIS WITH ╙╞╪.
-
-
- 23╩AN90 - ├╙
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-