home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C128CPM / CROSSLINK2.LBR / XLINK.DOC.seq < prev   
Encoding:
Text File  |  2019-04-13  |  10.5 KB  |  203 lines

  1.  
  2. ╨ART ╔╔ - ┴ ╨RACTICAL ┼XAMPLE OF ─ATA ╨ORTABILITY
  3.  
  4.  
  5.  
  6. ├╥╧╙╙ ╠╔╬╦ IS A SHORT ┬┴╙╔├ 7 PROGRAM FOR USE ON THE ├-128 WITH A SINGLE
  7. 1571 DRIVE.  ╔T ALLOWS YOU TO READ A FILE INTO A 45 K ╥┴═ BUFFER FROM ANY ONE
  8. OF THE FOLLOWING SEVEN DISK FORMATS:
  9.   
  10.     ╙┼╤ - ┴╙├╔╔
  11.     ╙┼╤ - WITH ╨┼╘╙├╔╔ <> ┴╙├╔╔ CONVERSION
  12.     ╨╥╟ - ┴╙├╔╔
  13.     ╨╥╟ - WITH SCREEN CODE <> ┴╙├╔╔ CONVERSION
  14.     ├-128 ├╨/═ SINGLE SIDED
  15.     ├-128 ├╨/═ DOUBLE SIDED
  16.     ╔┬═ ╨├-─╧╙ DOUBLE SIDED, 9 SECTORS/TRACK
  17.  
  18. ╘HE BUFFER CAN THEN BE WRITTEN TO ANOTHER DISK IN ANY OF THE SAME LIST OF
  19. FORMATS OR TO A PRINTER.  (╔T SHOULD BE NOTED THAT THE ╔┬═ ╨├-─╧╙ DOUBLE
  20. SIDED FORMAT IS ╬╧╘ THE SAME AS THE "╔┬═-─╙" WHICH IS SUPPORTED BY ├-128 ├╨/═
  21. MODE.  ╘HE LATTER FORMAT IS USED BY ├╨/═-86 WHICH IS THE 16 BIT VERSION OF
  22. ├╨/═ DESIGNED TO RUN ON THE ╔┬═-╨├ INSTEAD OF ╨├-─╧╙.  ╨├-─╧╙ AND ├╨/═-86
  23. ARE NOT COMPATIBLE.)  ├╥╧╙╙ ╠╔╬╦ IS SIMPLE TO USE, JUST FOLLOW THE PROMPTS ON
  24. THE SCREEN.  ╧NE WORD OF CAUTION, HOWEVER.  ┬ECAUSE THE 1571 IS NOT A TRUE
  25. ╨├-─╧╙ DISK DRIVE, NEVER WRITE ╨├-─╧╙ FILES TO AN ORIGINAL, IRREPLACEABLE
  26. DISK.  ╨LAY IT SAFE, ALWAYS USE SCRATCH DISKS FOR WRITING FILES.  (┴LTHOUGH
  27. ╔ HAVE HAD NO PROBLEMS WITH DISKS FROM THREE DIFFERENT ╔┬═-╨├S AND TWO ╨├
  28. COMPATIBLES, THE POSSIBILITY DOES EXIST FOR MIS-MATCHED SECTOR TIMING, ETC.
  29. ╘HIS COULD HOPELESSLY CORRUPT THE DISK BEING WRITTEN TO.)
  30.  
  31. ├╥╧╙╙ ╠╔╬╦ USES BURST MODE ON THE 1571 TO READ AND WRITE ╨├-─╧╙ AND ├╨/═
  32. FILES, CONSEQUENTLY IT IS QUITE FAST.  (┴ DETAILED DESCRIPTION OF 1571
  33. BURST MODE AND HOW TO USE IT IS PRESENTED IN A SERIES OF ARTICLES BY
  34. THIS AUTHOR IN ╘╨╒╟ MAGAZINE, STARTING IN ═AY 1986.)  ┴ TYPICAL CONVERSION
  35. OF A 16K (65 ╙┼╤ BLOCK) TEXT FILE FROM ╙┼╤ ╨┼╘╙├╔╔ TO ╨├-─╧╙ TAKES ABOUT
  36. 65 SECONDS, INCLUDING ABOUT 25 SECONDS OF "OVERHEAD" REQUIRED TO
  37. DECODE AND RECODE THE ╨├-─╧╙ DIRECTORY AND FILE ALLOCATION TABLE (╞┴╘).
  38. ╬OTICE THAT ╔ SPECIFY THE CONVERSION OF A TEXT FILE.  ╘HIS BRINGS UP A
  39. GENERAL CAVEAT: PROGRAM FILES WRITTEN TO RUN UNDER ╨├-─╧╙ (I.E. WITH A FILE
  40. TYPE OF .┼╪┼ OR .├╧═) WILL NOT WORK IN ├-128 MODE OR ├╨/═ MODE (THE ├╨/═
  41. EXECUTABLE FILE ALSO HAS A FILE TYPE OF .├╧═, BUT THE TWO ARE NOT
  42. INTERCHANGEABLE) OR VICE VERSA.  ╚OWEVER, IF YOU DOWNLOAD A ├╨/═ PROGRAM TO
  43. A ╨├-─╧╙ DISK AND THEN CONVERT THE FILE TO ├╨/═ FORMAT, THE PROGRAM WILL
  44. WORK IN ├╨/═ MODE ON THE ├-128.  ╘HIS IS USEFUL, FOR EXAMPLE, IF YOU DO NOT
  45. HAVE A MODEM ON YOUR ├-128 BUT HAVE ACCESS TO ONE ON AN ╔┬═-╨├ WHERE YOU
  46. WORK.  ╘HE SAME GOES FOR DOWNLOADING TO A ├-128 PROGRAM TO ╨├-─╧╙ THEN
  47. CONVERTING TO A ╨╥╟ ┴╙├╔╔ FILE OR DOWNLOADING TO ╙┼╤ FORMAT IN ├-128
  48. MODE AND THEN CONVERTING TO ├╨/═ FORMAT.  (╘HE ORIGINAL ├╨/═ SYSTEM FILES
  49. FOR THE ├-128 DID NOT SUPPORT A MODEM.  ╘HE UPGRADED VERSION NOW DOES.)
  50. ╘EXT AND DATA FILES, ON THE OTHER HAND, FROM ONE MACHINE CAN USUALLY BE
  51. USED WITHOUT TROUBLE ON THE OTHER.  ╘EXT FILES TRANSFERRED USING SCREEN
  52. CODE ╨╥╟ FILES MAY REQUIRE REFORMATTING ON THE TARGET WORD PROCESSOR.
  53. ╙CREEN CODE FILES WRITTEN BY ├╥╧╙╙ ╠╔╬╦ MAY NOT WORK WITH ALL ├-128
  54. WORD PROCESSORS.  ╙OME WP'S, SUCH AS ╨APERBACK ╫RITER 128, INCLUDE A
  55. HEADER BLOCK AT THE BEGINNING OF THE FILE.  ╘HE HEADER CONTAINS INFO
  56. ON THE FILE CHARACTERISTICS SUCH AS MARGINS ETC.  ╔F IT IS NOT PRESENT,
  57. THE WP MAY NOT BE ABLE TO READ THE FILE CORRECTLY.  ╘HESE WP'S CAN
  58. USUALLY READ ╙┼╤ FILES AS WELL, HOWEVER, SO IT IS BETTER TO WRITE
  59. A ╙┼╤ FILE WITH ├╥╧╙╙ ╠╔╬╦ FOR USE ON MOST WP'S.  ├╥╧╙╙ ╠╔╬╦ CAN
  60. READ ╨╥╟ TEXT FILES WITH HEADERS, BUT YOU MUST DELETE THE HEADER BLOCK
  61. WITH THE TARGET WP.
  62.  
  63.  
  64. ╠╔╙╘╔╬╟ 1 IS A ┬┴╙╔├ LOADER FOR THE MACHINE LANGUAGE PORTION OF THE
  65. PROGRAM.  ╔T WILL CREATE A PROGRAM FILE NAMED "╪╠.═╠3" WHICH IS
  66. AUTOMATICALLY LOADED BY THE MAIN PROGRAM.  ╘HE ═╠ ROUTINE, WHICH IS LOCATED
  67. IN THE CASSETTE AND ╥╙ 232 BUFFERS, CONTAINS SEVERAL ENTRY POINTS.  ╘HESE
  68. ARE:
  69.  
  70.     HEX     DEC               FUNCTION
  71.  
  72.    0B69    2921              BURST SECTOR READ (FOR ├╨/═ AND ╨├-─╧╙)
  73.    0B9C    2972              READ ╙┼╤ OR ╨╥╟ FILE, NO CONVERT
  74.    0BD0    3024              WRITE ╙┼╤, ╨╥╟ FILE OR PRINTER, NO CONVERT
  75.    0C02    3074              BURST SECTOR WRITE (FOR ├╨/═ AND ╨├-─╧╙)
  76.    0C45    3141              WRITE ╙┼╤ OR PRINTER , CONVERT ┴╙├╔╔ TO ╨┼╘╙├╔╔
  77.    0CE0    3296              READ ╙┼╤ FILE, CONVERT ╨┼╘╙├╔╔ TO ┴╙├╔╔
  78.    0D7D    3453              READ ╨╥╟ FILE, CONVERT SCREEN CODE TO ┴╙├╔╔
  79.    0DDF    3551              WRITE ╨╥╟ FILE, CONVERT ┴╙├╔╔ TO SCREEN
  80.  
  81. ╔F YOU ARE INTERESTED, YOU CAN DISASSEMBLE THE MACHINE LANGUAGE WITH
  82. THE ├-128'S BUILT IN MONITOR.  ╘HE BURST MODE READ AND WRITE ROUTINES
  83. ARE SIMILAR TO THOSE DESCRIBED IN PARTS 2 AND 3 OF THE ╘╨╒╟ SERIES.
  84.  
  85.  
  86. ╠╔╙╘╔╬╟ 2 IS THE MAIN ┬┴╙╔├ PROGRAM.  ┴S YOU CAN SEE, THERE ARE NO ╥┼═
  87. STATEMENTS.  ┬ESIDE THE FACT THAT ╔ DON'T LIKE ╥┼═S (THEY CLUTTER UP THE
  88. LISTING AND SERVE NO REAL PURPOSE ANYWAY), THEY ALSO TAKE UP A CONSIDERABLE
  89. AMOUNT OF ╥┴═.  ╔N TRYING TO MAXIMIZE THE BUFFER SPACE, ╔ CHOSE TO LEAVE
  90. THEM OUT.  ╞OR THE BENEFIT OF THOSE WHO ARE INTERESTED THE FOLLOWING
  91. TABLE SUMMARIZES ITS MAIN PARTS.
  92.  
  93.  
  94.      LINE                 FUNCTION
  95.  
  96.      10-80           OPENING DISPLAY, DEFAULT PARAMETERS, ETC.
  97.      90-120          CALCULATE ├╨/═ SECTOR FILLING TABLE
  98.      130-150         ─┬=START OF DIRECTORY BUFFER,
  99.                      ╘┬=START OF DATA BUFFER IN BANK 0 ╥┴═
  100.                      ─╓() AND ╘┘$() ARE THE SUPPORTED DEVICES
  101.                      AND FILE TYPES.
  102.      160             MAIN MENU SELECT
  103.      170-200         READ ╙┼╤ OR ╨╥╟ FILE
  104.      210-240         WRITE ╙┼╤ OR ╨╥╟ FILE OR PRINTER
  105.      250-300         READ ├╨/═ FILE
  106.      310-380         WRITE ├╨/═ FILE
  107.      390             READ ╙┼╤ DIRECTORY
  108.      400-420         READ ├╨/═ DIRECTORY
  109.      440-450         READ A SPECIFIC ├╨/═ SECTOR
  110.      460-470         WRITE A SPECIFIC ├╨/═ SECTOR
  111.      480-540         ANALYZE ├╨/═ DIRECTORY AND ╞┴╘
  112.      550-560         EXIT AND ERROR ROUTINES
  113.      570             LOG IN CURRENT DISK
  114.      580-600         READ ╨├-─╧╙ DIRECTORY
  115.      610-620         READ A SPECIFIC ╨├-─╧╙ SECTOR
  116.      630-650         ANALYZE ╨├-─╧╙ ╞┴╘ AND DIRECTORY
  117.      660-720         READ ╨├-─╧╙ FILE
  118.      730-770         WRITE ╨├-─╧╙ FILE
  119.      780-820         RECODE AND WRITE ╨├-─╧╙ DIRECTORY AND ╞┴╘
  120.      830-840         WRITE A SPECIFIC ╨├-─╧╙ SECTOR
  121.      850             FIND FREE SPACE ON ╨├-─╧╙ DISK
  122.      860-870         NORMALIZE ╨├ ─╧╙ AND ├╨/═ FILENAMES
  123.      880             DISPLAY FILE STATS
  124.      890-            ENTER MENU OPTIONS
  125.  
  126.  
  127.  
  128. ╘HE MAXIMUM FILE SIZE THAT CAN BE TRANSFERRED IN ANY DIRECTIONS IS 45.5
  129. K BYTES.  ╠ONGER FILES WILL BE TRUNCATED TO THIS LENGTH.  ╘HIS IS
  130. EQUIVALENT TO 183 ╙┼╤ BLOCKS OR NEARLY 3 FULL ├╨/═ DIRECTORY EXTENTS.
  131. ┴LL FILES IN MEMORY ARE ASSUMED TO BE IN ┴╙├╔╔ FORMAT.  ╙┼╤ FILES READ
  132. WITH THE CONVERSION OPTION ARE ASSUMED TO BE ╨┼╘╙├╔╔ ON THE DISK AND
  133. ARE TRANSLATED TO ┴╙├╔╔ AS THEY ARE READ IN.  ╙┼╤ FILES WRITTEN
  134. WITH THE CONVERSION OPTION ARE ASSUMED TO BE ┴╙├╔╔ IN MEMORY AND ARE
  135. CONVERTED TO ╨┼╘╙├╔╔ AS THEY ARE WRITTEN TO DISK.  ╙IMILARLY, CONVERSIONS
  136. ARE MADE WHEN READING FROM OR WRITING TO ╨╥╟ SCREEN CODE FILES.  ┴LL
  137. OTHER TRANSFERS ARE DONE IN A BINARY WHAT-YOU-SEE-IS-WHAT-YOU-GET FASHION.
  138.  
  139. ├╥╧╙╙ ╠╔╬╦ CAN BE USED FOR SIMPLE ┴╙├╔╔ <> ╨┼╘╙├╔╔ CONVERSION OF ╙┼╤
  140. FILES WITH EITHER A 1571 OR 1541 (OR OTHER COMPATIBLE ) DRIVE IN THE
  141. FOLLOWING MANNER:
  142.  
  143.      ╨┼╘╙├╔╔ TO ┴╙├╔╔ - READ THE FILE IN ╨┼╘╙├╔╔ <> ┴╙├╔╔ CONVERSION
  144.                         MODE, THEN WRITE IT IN BINARY MODE.
  145.  
  146.      ┴╙├╔╔ TO ╨┼╘╙├╔╔ - READ THE FILE IN BINARY MODE, THEN WRITE IT IN
  147.                         ╨┼╘╙├╔╔ <> ┴╙├╔╔ CONVERSION MODE.
  148.  
  149. ╧NE WORD OF CAUTION FOR ╨┼╘╙├╔╔ <> ┴╙├╔╔ CONVERSIONS.  ├╥╧╙╙ ╠╔╬╦ PASSES
  150. CONTROL CODES (┴╙├╔╔ VALUE LESS THAN 32) AND CERTAIN OTHER SPECIAL
  151. CODES THROUGH IN BOTH DIRECTIONS UNCHANGED.  ╔T ALSO ADDS A LINEFEED
  152. CHARACTER (┴╙├╔╔ ├╚╥$(10)) AFTER EACH CARRIAGE RETURN WHEN CONVERTING
  153. TO ┴╙├╔╔ AND REMOVES ALL LINEFEEDS WHEN CONVERTING TO ╨┼╘╙├╔╔.  ╘HE
  154. PRESENCE OF THESE CODES IN, FOR EXAMPLE, TEXT FORMATTED ON A ├╨/═
  155. WORD PROCESSOR MAY REQUIRE THE TEXT TO BE REFORMATTED WITH A ├-128
  156. WORD PROCESSOR BEFORE IT CAN BE USED IN ├-128 MODE.  ╔N ADDITION,
  157. DOCUMENTS ORIGINALLY WRITTEN OR EDITED WITH SOME WORD PROCESSORS
  158. (SUCH AS ╫ORD╙TAR- EITHER ├╨/═ OR ╨├-─╧╙ VERSION) SHOULD BE HANDLED
  159. IN NON-DOCUMENT MODE (I.E. STANDARD ┴╙├╔╔) ON THESE WORD PROCESSORS
  160. IF THEY ARE INTENDED TO BE SUBSEQUENTLY USED IN ├-128 MODE.  ╫ORD╙TAR
  161. SETS THE HIGH BITS IN THE LAST CHARACTER OF EACH WORD IN DOCUMENT
  162. MODE.  ╘HIS RESULTS IN AN INCORRECT ┴╙├╔╔ TO ╨┼╘╙├╔╔ CONVERSION.  ╘HE HIGH
  163. BIT CAN ALSO BE STRIPPED OUT USING THE ┌ OPTION (ZERO THE PARITY BIT) OF
  164. ├╨/═'S ╨╔╨ COMMAND TO COPY THE ORIGINAL FILE TO AN ┴╙├╔╔ COMPATIBLE FILE.
  165. ┴ SIMILAR ROUTINE CAN BE USED FOR CONVERTING BETWEEN ╙┼╤ AND ╨╥╟ TEXT
  166. FILES.
  167.  
  168. ╫HEN READING THE DIRECTORY, ├╥╧╙╙ ╠╔╬╦ IGNORES THE FILE ATTRIBUTE (BYTE 11)
  169. EXCEPT FOR THE VOLUME LABEL AND SUBDIRECTORY ATTRIBUTES WHICH DO NOT
  170. REPRESENT VALID FILES.  ╘HUS YOU CAN DISPLAY AND ACCESS HIDDEN AND
  171. SYSTEM FILES WHICH DO NOT SHOW UP ON AN ╔┬═-╨├ ─╔╥ COMMAND.
  172. ├╥╧╙╙ ╠╔╬╦ SETS DIRECTORY BYTES 11-25 AND 30-31 TO 0 WHEN IT IS WRITING A NEW
  173. FILE.  ╘HIS IS EASIER THAN TRYING TO CALCULATE A FILE CREATION TIME, DATE,
  174. ATTRIBUTE, ETC.  ┌ERO BYTES IN THESE LOCATIONS ARE ACCEPTED BY ╨├-─╧╙.  ╞OR
  175. A MORE DETAILED DESCRIPTION OF ╨├-─╧╙ FILE FORMATS, ╨ART ╔ OF THIS ARTICLE.
  176.  
  177.  
  178. ├╥╧╙╙ ╠╔╬╦ WILL RECOVER UNUSED AND SCRATCHED DIRECTORY AND DATA SPACE FOR BOTH
  179. ├╨/═ AND ╨├-─╧╙ DISKS.  ╘HIS IS HANDLED AUTOMATICALLY BY ├OMMODORE ─╧╙ WHEN
  180. WRITING TO ╙┼╤ FILES.  ├╥╧╙╙ ╠╔╬╦ IS CURRENTLY CONFIGURED TO WORK WITH
  181. UP TO TWO DRIVES AND A PRINTER.  ╞OR ├╨/═ AND ╨├-─╧╙ FILES, AT LEAST ONE
  182. OF THE DRIVES MUST BE A 1571.  ╘HE DEVICE CONFIGURATION CAN BE CHANGED
  183. BY ALTERING THE DEFINITIONS OF ARRAYS ─╓() AND ─╓$() IN LINE 130-150.
  184. ╘O USE THE PRINTER FOR A FILE DUMP, SELECT ╙┼╤ ┴╙├╔╔ (FOR AN ┴╙├╔╔ PRINTER)
  185. OR ╙┼╤ ╨┼╘╙├╔╔ AS THE TARGET FILE TYPE WITH THE "╙┼╘ ╘┴╥╟┼╘" OPTION
  186. ON THE MAIN MENU.  (╘HERE IS NO NEED TO SPECIFY A FILENAME FOR THE
  187. PRINTER. ┴ <RETURN> AT THE FILENAME PROMPT IS SUFFICIENT.) ┘OU CAN THEN 
  188. SELECT THE PRINTER AS THE TARGET DEVICE.   ╧F COURSE, THE 1541 OR
  189. COMPATIBLE CAN ONLY BE USED TO READ OR WRITE ╙┼╤ FILES, SINCE IT DOES
  190. NOT SUPPORT BURST MODE.
  191.  
  192. ┴LTHOUGH IT IS NOT AN ╔┬═-╨├ EMULATOR, YOU WILL FIND ├╥╧╙╙ ╠╔╬╦ AN INVALUABLE
  193. UTILITY FOR TRANSFERRING FILES FROM ONE MACHINE TO ANOTHER (AND BETWEEN
  194. MODES ON THE ├-128 ALSO) IF YOU USE BOTH AN ╔┬═-╨├ AND A ├-128.  ╔T IS ALSO
  195. POSSIBLE WITH A LITTLE DETAILED KNOWLEDGE OF THE DISK FORMATS TO USE THE
  196. SAME PRINCIPLES FOR TRANSFERRING FILES TO/FROM OTHER COMPUTERS AND
  197. OPERATING SYSTEMS THAT USE ═╞═ TYPE DISKS, SUCH AS ╘╥╙─╧╙ USED ON THE
  198. ╥ADIO ╙HACK COMPUTERS OR POSSIBLY ╥╙ ├O├O ╧╙/9 DISKS TO ╨┼╘ ╧╙/9 FORMAT.
  199.  
  200.  
  201.  
  202.  
  203. INCIP