home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / BEEHIVE / UTILITYS / XLINK128.SFX / xlink.doc < prev    next >
Text File  |  1980-01-01  |  11KB  |  234 lines

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