_  __   _  _         _ _     _      _           _           
  __| |/ /_ | || |     __| (_)___| | __ (_)_ __   __| | _____  __
 / _` | '_ \| || |_   / _` | / __| |/ / | | '_ \ / _` |/ _ \ \/ /
| (_| | (_) |__   _| | (_| | \__ \   <  | | | | | (_| |  __/>  < 
 \__,_|\___/   |_|    \__,_|_|___/_|\_\ |_|_| |_|\__,_|\___/_/\_\
                                                                 
            

1541-DOS.DOC

FILE INFORMATION

FILENAME(S): 1541-DOS.DOC

FILE TYPE(S): PRG

FILE SIZE: 42.5K

FIRST SEEN: 2025-10-20 14:30:34

APPEARS ON: 2 disk(s)

FILE HASH

1d1d79e01a70033c2f64954d86d87a9edf95dbd37f80cd5d48bdfc09424b8223

FOUND ON DISKS (2 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
64 ER 09 94 1541-DOS.DOC PRG C64er, Treasure Chest - Klaus Der Suhler 17 0 DOWNLOAD FILE
MASTERMMSOFT 1541-DOS.DOC PRG Treasure Chest - Klaus Der Suhler 17 0 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 3D 3D 3D 3D 3D 3D 3D 3D  3D 3D 3D 3D 3D 3D 3D 3D  |================|
00000010: 3D 3D 3D 3D 3D 3D 3D 3D  3D 3D 3D 3D 3D 3D 3D 3D  |================|
00000020: 3D 3D 3D 3D 3D 3D 3D 3D  3D 3D 3D 3D 3D 3D 3D 3D  |================|
00000030: 3D 3D 3D 3D 3D 3D 3D 3D  3D 3D 3D 3D 3D 3D 3D 3D  |================|
00000040: 3D 3D 3D 3D 3D 3D 0A 20  20 20 20 20 20 20 20 20  |======.         |
00000050: 20 20 20 20 20 20 20 49  6E 73 74 72 75 63 74 69  |       Instructi|
00000060: 6F 6E 73 20 66 6F 72 20  74 68 65 20 31 35 34 31  |ons for the 1541|
00000070: 2D 64 6F 73 20 70 61 63  6B 61 67 65 0A 20 20 20  |-dos package.   |
00000080: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000090: 20 20 20 28 4A 61 6E 75  61 72 79 20 34 2C 20 31  |   (January 4, 1|
000000A0: 39 39 34 20 76 65 72 73  69 6F 6E 29 0A 3D 3D 3D  |994 version).===|
000000B0: 3D 3D 3D 3D 3D 3D 3D 3D  3D 3D 3D 3D 3D 3D 3D 3D  |================|
000000C0: 3D 3D 3D 3D 3D 3D 3D 3D  3D 3D 3D 3D 3D 3D 3D 3D  |================|
000000D0: 3D 3D 3D 3D 3D 3D 3D 3D  3D 3D 3D 3D 3D 3D 3D 3D  |================|
000000E0: 3D 3D 3D 3D 3D 3D 3D 3D  3D 3D 3D 3D 3D 3D 3D 3D  |================|
000000F0: 3D 3D 3D 0A 20 0A 20 20  54 68 65 73 65 20 61 72  |===. .  These ar|
00000100: 65 20 74 68 65 20 69 6E  73 74 72 75 63 74 69 6F  |e the instructio|
00000110: 6E 73 20 6F 6E 20 68 6F  77 20 74 6F 20 72 65 61  |ns on how to rea|
00000120: 64 20 61 6E 64 20 77 72  69 74 65 20 74 6F 20 4D  |d and write to M|
00000130: 53 2D 44 4F 53 20 66 6C  6F 70 70 79 0A 64 69 73  |S-DOS floppy.dis|
00000140: 6B 73 20 77 69 74 68 20  61 20 73 6C 69 67 68 74  |ks with a slight|
00000150: 6C 79 20 6D 6F 64 69 66  69 65 64 20 43 6F 6D 6D  |ly modified Comm|
00000160: 6F 64 6F 72 65 20 31 35  34 31 20 6F 72 20 4F 63  |odore 1541 or Oc|
00000170: 65 61 6E 69 63 20 4F 43  2D 31 31 38 2F 4F 43 2D  |eanic OC-118/OC-|
00000180: 31 31 38 4E 0A 64 69 73  6B 20 64 72 69 76 65 2E  |118N.disk drive.|
00000190: 0A 20 0A 20 20 49 6E 63  6C 75 64 65 64 20 69 73  |. .  Included is|
000001A0: 20 69 6E 66 6F 72 6D 61  74 69 6F 6E 20 61 62 6F  | information abo|
000001B0: 75 74 20 74 68 65 20 6E  65 63 65 73 73 61 72 79  |ut the necessary|
000001C0: 20 6D 6F 64 69 66 69 63  61 74 69 6F 6E 20 6F 66  | modification of|
000001D0: 20 74 68 65 20 31 35 34  31 0A 64 72 69 76 65 20  | the 1541.drive |
000001E0: 61 6E 64 20 74 68 65 20  75 73 61 67 65 20 6F 66  |and the usage of|
000001F0: 20 74 68 65 20 70 72 6F  67 72 61 6D 73 20 69 6E  | the programs in|
00000200: 20 74 68 69 73 20 70 61  63 6B 61 67 65 2E 0A 20  | this package.. |
00000210: 0A 20 0A 43 4F 4E 54 45  4E 54 53 0A 2D 2D 2D 2D  |. .CONTENTS.----|
00000220: 2D 2D 2D 2D 0A 20 0A 31  29 20 48 61 72 64 77 61  |----. .1) Hardwa|
00000230: 72 65 20 72 65 71 75 69  72 65 6D 65 6E 74 73 0A  |re requirements.|
00000240: 32 29 20 4D 46 4D 20 6D  6F 64 69 66 69 63 61 74  |2) MFM modificat|
00000250: 69 6F 6E 0A 32 41 29 20  31 35 34 31 20 64 69 73  |ion.2A) 1541 dis|
00000260: 6B 20 64 72 69 76 65 20  6D 6F 64 69 66 69 63 61  |k drive modifica|
00000270: 74 69 6F 6E 0A 32 42 29  20 31 35 34 31 20 64 69  |tion.2B) 1541 di|
00000280: 73 6B 20 64 72 69 76 65  20 6D 6F 64 69 66 69 63  |sk drive modific|
00000290: 61 74 69 6F 6E 20 2D 2D  20 66 69 72 73 74 20 61  |ation -- first a|
000002A0: 6C 74 65 72 6E 61 74 65  0A 32 43 29 20 31 35 34  |lternate.2C) 154|
000002B0: 31 20 64 69 73 6B 20 64  72 69 76 65 20 6D 6F 64  |1 disk drive mod|
000002C0: 69 66 69 63 61 74 69 6F  6E 20 2D 2D 20 73 65 63  |ification -- sec|
000002D0: 6F 6E 64 20 61 6C 74 65  72 6E 61 74 65 0A 32 44  |ond alternate.2D|
000002E0: 29 20 4F 63 65 61 6E 69  63 20 4F 43 2D 31 31 38  |) Oceanic OC-118|
000002F0: 2F 4F 43 2D 31 31 38 4E  20 64 69 73 6B 20 64 72  |/OC-118N disk dr|
00000300: 69 76 65 20 6D 6F 64 69  66 69 63 61 74 69 6F 6E  |ive modification|
00000310: 0A 33 29 20 50 72 65 70  61 72 69 6E 67 20 64 69  |.3) Preparing di|
00000320: 73 6B 73 20 66 6F 72 20  64 61 74 61 20 74 72 61  |sks for data tra|
00000330: 6E 73 66 65 72 0A 34 29  20 54 72 61 6E 73 66 65  |nsfer.4) Transfe|
00000340: 72 72 69 6E 67 20 66 69  6C 65 73 20 66 72 6F 6D  |rring files from|
00000350: 20 4D 53 2D 44 4F 53 20  64 69 73 6B 73 20 74 6F  | MS-DOS disks to|
00000360: 20 43 42 4D 20 64 69 73  6B 73 0A 20 20 20 77 69  | CBM disks.   wi|
00000370: 74 68 20 22 31 35 34 31  2D 72 65 61 64 73 2D 64  |th "1541-reads-d|
00000380: 6F 73 22 0A 35 29 20 54  72 61 6E 73 66 65 72 72  |os".5) Transferr|
00000390: 69 6E 67 20 66 69 6C 65  73 20 66 72 6F 6D 20 43  |ing files from C|
000003A0: 42 4D 20 64 69 73 6B 73  20 74 6F 20 4D 53 2D 44  |BM disks to MS-D|
000003B0: 4F 53 20 64 69 73 6B 73  0A 20 20 20 77 69 74 68  |OS disks.   with|
000003C0: 20 22 31 35 34 31 2D 77  72 69 74 65 73 2D 39 30  | "1541-writes-90|
000003D0: 6B 22 20 61 6E 64 20 22  72 65 61 64 39 30 6B 22  |k" and "read90k"|
000003E0: 0A 36 29 20 45 72 72 6F  72 20 6D 65 73 73 61 67  |.6) Error messag|
000003F0: 65 73 0A 37 29 20 43 6F  6D 70 61 74 69 62 69 6C  |es.7) Compatibil|
00000400: 69 74 79 0A 38 29 20 50  6F 73 73 69 62 6C 65 20  |ity.8) Possible |
00000410: 69 6D 70 72 6F 76 65 6D  65 6E 74 73 0A 39 29 20  |improvements.9) |
00000420: 44 69 73 63 6C 61 69 6D  65 72 0A 31 30 29 20 43  |Disclaimer.10) C|
00000430: 6F 6E 74 61 63 74 69 6E  67 20 74 68 65 20 61 75  |ontacting the au|
00000440: 74 68 6F 72 73 0A 20 0A  41 50 50 45 4E 44 49 58  |thors. .APPENDIX|
00000450: 20 41 3A 20 4C 69 73 74  69 6E 67 20 6F 66 20 42  | A: Listing of B|
00000460: 41 53 49 43 20 70 72 6F  67 72 61 6D 20 31 35 34  |ASIC program 154|
00000470: 31 2D 64 6F 73 2E 62 6F  6F 74 0A 41 50 50 45 4E  |1-dos.boot.APPEN|
00000480: 44 49 58 20 42 3A 20 43  2D 76 65 72 73 69 6F 6E  |DIX B: C-version|
00000490: 20 6F 66 20 52 65 61 64  39 30 6B 20 66 6F 72 20  | of Read90k for |
000004A0: 55 6E 69 78 0A 0A 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |Unix..----------|
000004B0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
000004C0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
000004D0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
000004E0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 0A 20 0A  |-------------. .|
000004F0: 31 29 20 48 41 52 44 57  41 52 45 20 52 45 51 55  |1) HARDWARE REQU|
00000500: 49 52 45 4D 45 4E 54 53  0A 20 0A 20 20 59 6F 75  |IREMENTS. .  You|
00000510: 20 72 65 71 75 69 72 65  20 61 20 43 36 34 20 6F  | require a C64 o|
00000520: 72 20 43 31 32 38 20 28  69 6E 20 43 36 34 20 6D  |r C128 (in C64 m|
00000530: 6F 64 65 29 20 77 69 74  68 20 61 74 20 6C 65 61  |ode) with at lea|
00000540: 73 74 20 6F 6E 65 20 31  35 34 31 20 6F 72 0A 4F  |st one 1541 or.O|
00000550: 43 2D 31 31 38 2F 4F 43  2D 31 31 38 4E 20 66 6C  |C-118/OC-118N fl|
00000560: 6F 70 70 79 20 64 69 73  6B 20 64 72 69 76 65 2E  |oppy disk drive.|
00000570: 20 54 68 65 20 64 72 69  76 65 20 6D 75 73 74 20  | The drive must |
00000580: 62 65 20 6D 6F 64 69 66  69 65 64 20 73 6C 69 67  |be modified slig|
00000590: 68 74 6C 79 20 74 6F 0A  61 6C 6C 6F 77 20 69 74  |htly to.allow it|
000005A0: 20 74 6F 20 75 74 69 6C  69 7A 65 20 74 68 65 20  | to utilize the |
000005B0: 4D 46 4D 20 6D 65 74 68  6F 64 20 6F 66 20 73 74  |MFM method of st|
000005C0: 6F 72 69 6E 67 20 64 61  74 61 20 75 73 65 64 20  |oring data used |
000005D0: 6F 6E 20 4D 53 2D 44 4F  53 0A 63 6F 6D 70 61 74  |on MS-DOS.compat|
000005E0: 69 62 6C 65 20 64 69 73  6B 73 2E 20 54 68 69 73  |ible disks. This|
000005F0: 20 6D 6F 64 69 66 69 63  61 74 69 6F 6E 20 64 6F  | modification do|
00000600: 65 73 20 6E 6F 74 20 61  66 66 65 63 74 20 74 68  |es not affect th|
00000610: 65 20 6E 6F 72 6D 61 6C  20 6F 70 65 72 61 74 69  |e normal operati|
00000620: 6F 6E 0A 6F 66 20 74 68  65 20 64 72 69 76 65 2E  |on.of the drive.|
00000630: 20 49 66 20 79 6F 75 20  64 6F 6E 27 74 20 68 61  | If you don't ha|
00000640: 76 65 20 65 78 70 65 72  69 65 6E 63 65 20 69 6E  |ve experience in|
00000650: 20 73 6F 6C 64 65 72 69  6E 67 20 63 69 72 63 75  | soldering circu|
00000660: 69 74 20 62 6F 61 72 64  73 0A 74 68 65 6E 20 66  |it boards.then f|
00000670: 69 6E 64 20 73 6F 6D 65  6F 6E 65 20 77 68 6F 20  |ind someone who |
00000680: 64 6F 65 73 3B 20 74 68  65 20 6D 6F 64 69 66 69  |does; the modifi|
00000690: 63 61 74 69 6F 6E 20 69  73 20 73 6D 61 6C 6C 2C  |cation is small,|
000006A0: 20 62 75 74 20 74 72 69  63 6B 79 2C 20 61 6E 64  | but tricky, and|
000006B0: 0A 77 69 6C 6C 20 76 6F  69 64 20 74 68 65 20 77  |.will void the w|
000006C0: 61 72 72 61 6E 74 79 20  6F 6E 20 79 6F 75 72 20  |arranty on your |
000006D0: 64 69 73 6B 20 64 72 69  76 65 2E 0A 20 0A 20 20  |disk drive.. .  |
000006E0: 54 68 65 20 31 35 34 31  20 63 61 6E 20 74 68 65  |The 1541 can the|
000006F0: 6E 20 72 65 61 64 20 73  69 6E 67 6C 65 20 73 69  |n read single si|
00000700: 64 65 64 2C 20 64 6F 75  62 6C 65 20 64 65 6E 73  |ded, double dens|
00000710: 69 74 79 20 64 69 73 6B  73 20 77 72 69 74 74 65  |ity disks writte|
00000720: 6E 20 62 79 0A 4D 53 2D  44 4F 53 20 63 6F 6D 70  |n by.MS-DOS comp|
00000730: 75 74 65 72 73 20 77 69  74 68 20 35 20 31 2F 34  |uters with 5 1/4|
00000740: 22 20 69 6E 63 68 20 64  69 73 6B 20 64 72 69 76  |" inch disk driv|
00000750: 65 73 2E 0A 20 0A 20 20  59 6F 75 20 6E 65 65 64  |es.. .  You need|
00000760: 20 61 6E 20 4D 53 2D 44  4F 53 20 63 6F 6D 70 75  | an MS-DOS compu|
00000770: 74 65 72 20 77 69 74 68  20 61 74 20 6C 65 61 73  |ter with at leas|
00000780: 74 20 6F 6E 65 20 35 20  31 2F 34 22 20 66 6C 6F  |t one 5 1/4" flo|
00000790: 70 70 79 20 64 72 69 76  65 20 61 6E 64 0A 6F 6E  |ppy drive and.on|
000007A0: 65 20 6F 74 68 65 72 20  77 72 69 74 61 62 6C 65  |e other writable|
000007B0: 20 64 69 73 6B 20 64 65  76 69 63 65 20 28 61 20  | disk device (a |
000007C0: 66 6C 6F 70 70 79 2C 20  68 61 72 64 20 6F 72 20  |floppy, hard or |
000007D0: 52 41 4D 20 64 69 73 6B  20 64 72 69 76 65 29 20  |RAM disk drive) |
000007E0: 74 6F 20 72 65 61 64 0A  66 69 6C 65 73 20 77 72  |to read.files wr|
000007F0: 69 74 74 65 6E 20 62 79  20 74 68 65 20 31 35 34  |itten by the 154|
00000800: 31 2E 0A 20 0A 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |1.. .-----------|
00000810: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00000820: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00000830: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00000840: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 0A 20 0A 32  |------------. .2|
00000850: 29 20 4D 46 4D 20 4D 4F  44 49 46 49 43 41 54 49  |) MFM MODIFICATI|
00000860: 4F 4E 0A 20 0A 20 20 57  41 52 4E 49 4E 47 3A 20  |ON. .  WARNING: |
00000870: 74 68 65 20 64 69 73 6B  20 64 72 69 76 65 20 6D  |the disk drive m|
00000880: 6F 74 68 65 72 62 6F 61  72 64 20 63 61 6E 20 62  |otherboard can b|
00000890: 65 20 65 61 73 69 6C 79  20 64 61 6D 61 67 65 64  |e easily damaged|
000008A0: 20 62 79 20 73 74 61 74  69 63 0A 65 6C 65 63 74  | by static.elect|
000008B0: 72 69 63 69 74 79 2E 20  44 6F 6E 27 74 20 77 6F  |ricity. Don't wo|
000008C0: 72 6B 20 6F 6E 20 74 68  69 73 20 70 72 6F 6A 65  |rk on this proje|
000008D0: 63 74 20 77 65 61 72 69  6E 67 20 73 79 6E 74 68  |ct wearing synth|
000008E0: 65 74 69 63 20 63 6C 6F  74 68 65 73 20 61 6E 64  |etic clothes and|
000008F0: 0A 72 75 62 62 65 72 20  73 68 6F 65 73 20 6F 6E  |.rubber shoes on|
00000900: 20 61 20 6E 79 6C 6F 6E  20 63 61 72 70 65 74 20  | a nylon carpet |
00000910: 61 6E 64 20 65 78 70 65  63 74 20 79 6F 75 72 20  |and expect your |
00000920: 64 72 69 76 65 20 74 6F  20 63 6F 6D 65 20 74 68  |drive to come th|
00000930: 72 6F 75 67 68 0A 75 6E  73 63 61 74 68 65 64 21  |rough.unscathed!|
00000940: 20 20 55 73 65 20 6F 66  20 61 20 67 72 6F 75 6E  |  Use of a groun|
00000950: 64 65 64 20 73 6F 6C 64  65 72 69 6E 67 20 69 72  |ded soldering ir|
00000960: 6F 6E 20 69 73 20 72 65  63 6F 6D 6D 65 6E 64 65  |on is recommende|
00000970: 64 2C 20 61 73 20 69 73  0A 6D 69 6E 69 6D 69 7A  |d, as is.minimiz|
00000980: 69 6E 67 20 63 6F 6E 74  61 63 74 20 77 69 74 68  |ing contact with|
00000990: 20 74 68 65 20 62 6F 61  72 64 2E 0A 20 0A 20 20  | the board.. .  |
000009A0: 41 73 20 6C 6F 6E 67 20  61 73 20 79 6F 75 20 74  |As long as you t|
000009B0: 61 6B 65 20 72 65 61 73  6F 6E 61 62 6C 65 20 70  |ake reasonable p|
000009C0: 72 65 63 61 75 74 69 6F  6E 73 2C 20 6E 6F 20 64  |recautions, no d|
000009D0: 61 6D 61 67 65 20 73 68  6F 75 6C 64 20 6F 63 63  |amage should occ|
000009E0: 75 72 20 74 6F 0A 79 6F  75 72 20 64 69 73 6B 20  |ur to.your disk |
000009F0: 64 72 69 76 65 20 62 79  20 66 6F 6C 6C 6F 77 69  |drive by followi|
00000A00: 6E 67 20 74 68 65 73 65  20 69 6E 73 74 72 75 63  |ng these instruc|
00000A10: 74 69 6F 6E 73 2E 20 48  6F 77 65 76 65 72 2C 20  |tions. However, |
00000A20: 64 69 66 66 65 72 65 6E  63 65 73 0A 62 65 74 77  |differences.betw|
00000A30: 65 65 6E 20 62 6F 61 72  64 20 72 65 76 69 73 69  |een board revisi|
00000A40: 6F 6E 73 20 6D 61 6B 65  20 69 74 20 69 6D 70 6F  |ons make it impo|
00000A50: 73 73 69 62 6C 65 20 74  6F 20 67 75 61 72 61 6E  |ssible to guaran|
00000A60: 74 65 65 20 74 68 61 74  20 74 68 65 0A 6D 6F 64  |tee that the.mod|
00000A70: 69 66 69 63 61 74 69 6F  6E 73 20 64 65 73 63 72  |ifications descr|
00000A80: 69 62 65 64 20 68 65 72  65 20 77 69 6C 6C 20 77  |ibed here will w|
00000A90: 6F 72 6B 20 6F 6E 20 79  6F 75 72 20 64 69 73 6B  |ork on your disk|
00000AA0: 20 64 72 69 76 65 2E 20  43 61 76 65 61 74 0A 65  | drive. Caveat.e|
00000AB0: 6D 70 74 6F 72 21 0A 20  0A 20 20 54 68 65 20 63  |mptor!. .  The c|
00000AC0: 6C 6F 63 6B 20 64 69 76  69 73 6F 72 20 69 73 20  |lock divisor is |
00000AD0: 61 20 37 34 4C 53 31 39  33 20 68 65 78 61 64 65  |a 74LS193 hexade|
00000AE0: 63 69 6D 61 6C 20 63 6F  75 6E 74 65 72 20 69 6E  |cimal counter in|
00000AF0: 20 74 68 65 20 31 35 34  31 2C 20 61 6E 64 0A 74  | the 1541, and.t|
00000B00: 68 65 20 73 69 6D 69 6C  61 72 20 37 34 4C 53 31  |he similar 74LS1|
00000B10: 36 31 20 69 6E 20 74 68  65 20 4F 63 65 61 6E 69  |61 in the Oceani|
00000B20: 63 20 64 72 69 76 65 73  2E 20 54 68 65 20 43 50  |c drives. The CP|
00000B30: 55 20 6C 6F 61 64 73 20  74 68 65 20 6E 75 6D 62  |U loads the numb|
00000B40: 65 72 20 74 6F 0A 73 74  61 72 74 20 63 6F 75 6E  |er to.start coun|
00000B50: 74 69 6E 67 20 61 74 20  6F 6E 20 69 74 73 20 69  |ting at on its i|
00000B60: 6E 70 75 74 73 20 61 6E  64 20 74 68 65 20 6F 76  |nputs and the ov|
00000B70: 65 72 66 6C 6F 77 20 66  72 6F 6D 20 74 68 65 20  |erflow from the |
00000B80: 63 6F 75 6E 74 65 72 20  69 73 0A 63 68 61 69 6E  |counter is.chain|
00000B90: 65 64 20 74 6F 20 74 68  65 20 6E 65 78 74 20 70  |ed to the next p|
00000BA0: 6F 72 74 69 6F 6E 20 6F  66 20 74 68 65 20 63 69  |ortion of the ci|
00000BB0: 72 63 75 69 74 2E 20 4F  66 20 74 68 65 20 34 20  |rcuit. Of the 4 |
00000BC0: 63 6F 75 6E 74 65 72 20  69 6E 70 75 74 73 2C 20  |counter inputs, |
00000BD0: 74 68 65 0A 6C 6F 77 65  72 20 74 77 6F 20 61 72  |the.lower two ar|
00000BE0: 65 20 63 6F 6E 74 72 6F  6C 6C 65 64 20 62 79 20  |e controlled by |
00000BF0: 74 68 65 20 43 50 55 20  61 6E 64 20 74 68 65 20  |the CPU and the |
00000C00: 68 69 67 68 65 72 20 32  20 61 72 65 20 74 69 65  |higher 2 are tie|
00000C10: 64 20 74 6F 20 67 72 6F  75 6E 64 2E 0A 54 68 69  |d to ground..Thi|
00000C20: 73 20 6D 65 61 6E 73 20  76 61 6C 75 65 73 20 6F  |s means values o|
00000C30: 66 20 30 20 74 68 72 6F  75 67 68 20 33 20 6F 6E  |f 0 through 3 on|
00000C40: 20 74 68 65 20 63 6F 75  6E 74 65 72 20 69 6E 70  | the counter inp|
00000C50: 75 74 73 20 72 65 71 75  69 72 65 20 31 36 20 74  |uts require 16 t|
00000C60: 6F 20 31 33 0A 63 6F 75  6E 74 73 20 28 72 65 73  |o 13.counts (res|
00000C70: 70 65 63 74 69 76 65 6C  79 29 20 62 65 66 6F 72  |pectively) befor|
00000C80: 65 20 6F 76 65 72 66 6C  6F 77 2C 20 74 68 75 73  |e overflow, thus|
00000C90: 20 64 69 76 69 64 69 6E  67 20 74 68 65 20 69 6E  | dividing the in|
00000CA0: 70 75 74 20 62 79 20 74  68 61 74 0A 61 6D 6F 75  |put by that.amou|
00000CB0: 6E 74 2E 20 54 68 65 20  72 61 6E 67 65 20 6F 66  |nt. The range of|
00000CC0: 20 63 6C 6F 63 6B 20 72  61 74 65 73 20 74 68 61  | clock rates tha|
00000CD0: 74 20 63 61 6E 20 62 65  20 67 65 6E 65 72 61 74  |t can be generat|
00000CE0: 65 64 20 77 69 74 68 20  74 68 6F 73 65 0A 64 69  |ed with those.di|
00000CF0: 76 69 73 6F 72 73 20 69  73 20 66 72 6F 6D 20 32  |visors is from 2|
00000D00: 35 30 20 6B 48 7A 20 74  6F 20 33 30 37 20 6B 48  |50 kHz to 307 kH|
00000D10: 7A 2E 0A 20 0A 20 20 4D  6F 64 69 66 79 69 6E 67  |z.. .  Modifying|
00000D20: 20 74 68 65 20 31 35 34  31 20 74 6F 20 72 65 61  | the 1541 to rea|
00000D30: 64 20 4D 46 4D 20 64 69  73 6B 73 20 69 6E 76 6F  |d MFM disks invo|
00000D40: 6C 76 65 73 20 70 6C 61  63 69 6E 67 20 74 68 65  |lves placing the|
00000D50: 20 68 69 67 68 65 72 20  74 77 6F 0A 62 69 74 73  | higher two.bits|
00000D60: 20 6F 66 20 74 68 65 20  63 6F 75 6E 74 65 72 20  | of the counter |
00000D70: 75 6E 64 65 72 20 43 50  55 20 63 6F 6E 74 72 6F  |under CPU contro|
00000D80: 6C 2E 20 54 68 61 74 20  61 6C 6C 6F 77 73 20 61  |l. That allows a|
00000D90: 20 66 75 6C 6C 20 72 61  6E 67 65 20 6F 66 0A 64  | full range of.d|
00000DA0: 69 76 69 73 6F 72 73 20  66 72 6F 6D 20 31 20 74  |ivisors from 1 t|
00000DB0: 68 72 6F 75 67 68 20 31  36 2C 20 61 6E 20 65 76  |hrough 16, an ev|
00000DC0: 65 6E 20 67 72 65 61 74  65 72 20 72 61 6E 67 65  |en greater range|
00000DD0: 20 74 68 61 6E 20 74 68  65 20 64 69 76 69 64 65  | than the divide|
00000DE0: 20 62 79 20 38 0A 72 65  71 75 69 72 65 64 20 66  | by 8.required f|
00000DF0: 6F 72 20 61 20 35 30 30  20 6B 48 7A 20 63 6C 6F  |or a 500 kHz clo|
00000E00: 63 6B 2E 20 49 6E 20 66  61 63 74 2C 20 6F 6E 6C  |ck. In fact, onl|
00000E10: 79 20 6F 6E 65 20 61 64  64 69 74 69 6F 6E 61 6C  |y one additional|
00000E20: 20 63 6F 75 6E 74 65 72  20 69 6E 70 75 74 0A 6E  | counter input.n|
00000E30: 65 65 64 73 20 74 6F 20  62 65 20 75 6E 64 65 72  |eeds to be under|
00000E40: 20 43 50 55 20 63 6F 6E  74 72 6F 6C 2C 20 62 75  | CPU control, bu|
00000E50: 74 20 77 68 69 6C 65 20  77 65 27 72 65 20 69 6E  |t while we're in|
00000E60: 20 74 68 65 20 64 72 69  76 65 20 77 69 74 68 20  | the drive with |
00000E70: 61 0A 73 6F 6C 64 65 72  69 6E 67 20 69 72 6F 6E  |a.soldering iron|
00000E80: 2C 20 77 68 79 20 6E 6F  74 20 63 6F 6E 6E 65 63  |, why not connec|
00000E90: 74 20 74 68 65 20 6F 74  68 65 72 20 6F 6E 65 20  |t the other one |
00000EA0: 74 6F 6F 3F 20 20 49 74  20 6D 69 67 68 74 20 62  |too?  It might b|
00000EB0: 65 20 72 65 71 75 69 72  65 64 0A 74 6F 20 72 65  |e required.to re|
00000EC0: 61 64 20 6F 74 68 65 72  20 64 69 73 6B 20 66 6F  |ad other disk fo|
00000ED0: 72 6D 61 74 73 20 69 6E  20 74 68 65 20 66 75 74  |rmats in the fut|
00000EE0: 75 72 65 2E 0A 20 0A 20  20 4F 6E 63 65 20 79 6F  |ure.. .  Once yo|
00000EF0: 75 27 76 65 20 63 68 6F  73 65 6E 20 6F 6E 65 20  |u've chosen one |
00000F00: 6F 66 20 74 68 65 20 6D  6F 64 69 66 69 63 61 74  |of the modificat|
00000F10: 69 6F 6E 20 69 6E 73 74  72 75 63 74 69 6F 6E 73  |ion instructions|
00000F20: 20 62 65 6C 6F 77 20 61  6E 64 0A 63 6F 6D 70 6C  | below and.compl|
00000F30: 65 74 65 64 20 69 74 2C  20 74 61 6B 65 20 6F 6E  |eted it, take on|
00000F40: 65 20 6C 61 73 74 20 6C  6F 6F 6B 20 61 74 20 79  |e last look at y|
00000F50: 6F 75 72 20 77 6F 72 6B  2E 20 4C 6F 6F 6B 20 65  |our work. Look e|
00000F60: 73 70 65 63 69 61 6C 6C  79 20 66 6F 72 0A 73 6F  |specially for.so|
00000F70: 6C 64 65 72 20 62 72 69  64 67 65 73 20 61 6E 64  |lder bridges and|
00000F80: 20 77 69 72 65 73 20 74  6F 75 63 68 69 6E 67 20  | wires touching |
00000F90: 61 64 6A 61 63 65 6E 74  20 70 61 64 73 2E 20 4E  |adjacent pads. N|
00000FA0: 65 78 74 2C 20 72 65 2D  61 74 74 61 63 68 20 61  |ext, re-attach a|
00000FB0: 6E 79 0A 63 6F 6E 6E 65  63 74 6F 72 73 2C 20 73  |ny.connectors, s|
00000FC0: 63 72 65 77 20 74 68 65  20 64 72 69 76 65 20 74  |crew the drive t|
00000FD0: 6F 67 65 74 68 65 72 20  61 6E 64 20 70 6C 75 67  |ogether and plug|
00000FE0: 20 69 74 20 69 6E 2E 20  42 65 66 6F 72 65 20 61  | it in. Before a|
00000FF0: 74 74 61 63 68 69 6E 67  20 69 74 0A 74 6F 20 79  |ttaching it.to y|
00001000: 6F 75 72 20 43 36 34 2C  20 74 72 79 20 74 75 72  |our C64, try tur|
00001010: 6E 69 6E 67 20 69 74 20  6F 6E 2E 20 49 66 20 79  |ning it on. If y|
00001020: 6F 75 20 64 6F 6E 27 74  20 68 65 61 72 20 61 6E  |ou don't hear an|
00001030: 79 74 68 69 6E 67 20 75  6E 75 73 75 61 6C 20 61  |ything unusual a|
00001040: 6E 64 0A 64 6F 6E 27 74  20 73 6D 65 6C 6C 20 73  |nd.don't smell s|
00001050: 6D 6F 6B 65 2C 20 79 6F  75 72 20 64 72 69 76 65  |moke, your drive|
00001060: 20 68 61 73 20 70 61 73  73 65 64 20 74 68 65 20  | has passed the |
00001070: 66 69 72 73 74 20 74 65  73 74 21 20 54 75 72 6E  |first test! Turn|
00001080: 20 74 68 65 20 64 72 69  76 65 0A 6F 66 66 20 61  | the drive.off a|
00001090: 6E 64 20 70 6C 75 67 20  69 74 20 69 6E 74 6F 20  |nd plug it into |
000010A0: 79 6F 75 72 20 63 6F 6D  70 75 74 65 72 2E 20 54  |your computer. T|
000010B0: 75 72 6E 20 74 68 65 6D  20 62 6F 74 68 20 6F 6E  |urn them both on|
000010C0: 20 61 6E 64 20 74 72 79  20 6C 6F 61 64 69 6E 67  | and try loading|
000010D0: 20 61 0A 70 72 6F 67 72  61 6D 20 66 72 6F 6D 20  | a.program from |
000010E0: 61 20 6E 6F 6E 63 72 69  74 69 63 61 6C 20 31 35  |a noncritical 15|
000010F0: 34 31 20 64 69 73 6B 2E  20 49 66 20 69 74 20 72  |41 disk. If it r|
00001100: 65 61 64 73 20 66 69 6E  65 20 61 6E 64 20 64 6F  |eads fine and do|
00001110: 65 73 6E 27 74 20 65 72  61 73 65 0A 74 68 65 20  |esn't erase.the |
00001120: 64 69 73 6B 2C 20 74 68  65 6E 20 6D 6F 76 65 20  |disk, then move |
00001130: 74 6F 20 74 68 65 20 6E  65 78 74 20 73 65 63 74  |to the next sect|
00001140: 69 6F 6E 20 61 6E 64 20  74 72 79 20 72 65 61 64  |ion and try read|
00001150: 69 6E 67 20 61 6E 20 4D  53 2D 44 4F 53 20 64 69  |ing an MS-DOS di|
00001160: 73 6B 2E 0A 49 66 20 69  74 20 64 6F 65 73 6E 27  |sk..If it doesn'|
00001170: 74 20 77 6F 72 6B 20 70  72 6F 70 65 72 6C 79 2C  |t work properly,|
00001180: 20 6F 70 65 6E 20 74 68  65 20 64 72 69 76 65 20  | open the drive |
00001190: 61 67 61 69 6E 20 61 6E  64 20 63 6F 6D 70 61 72  |again and compar|
000011A0: 65 20 79 6F 75 72 20 77  6F 72 6B 0A 74 6F 20 74  |e your work.to t|
000011B0: 68 65 20 69 6E 73 74 72  75 63 74 69 6F 6E 73 20  |he instructions |
000011C0: 63 61 72 65 66 75 6C 6C  79 2E 0A 20 0A 32 41 29  |carefully.. .2A)|
000011D0: 20 31 35 34 31 20 44 49  53 4B 20 44 52 49 56 45  | 1541 DISK DRIVE|
000011E0: 20 4D 4F 44 49 46 49 43  41 54 49 4F 4E 0A 20 0A  | MODIFICATION. .|
000011F0: 20 20 54 68 69 73 20 73  65 63 74 69 6F 6E 20 64  |  This section d|
00001200: 65 73 63 72 69 62 65 73  20 74 68 65 20 65 61 73  |escribes the eas|
00001210: 69 65 73 74 20 6D 6F 64  69 66 69 63 61 74 69 6F  |iest modificatio|
00001220: 6E 20 74 6F 20 6D 61 6B  65 20 74 6F 20 79 6F 75  |n to make to you|
00001230: 72 20 31 35 34 31 2C 0A  61 6E 64 20 68 61 73 20  |r 1541,.and has |
00001240: 74 68 65 20 70 6F 74 65  6E 74 69 61 6C 20 6F 66  |the potential of|
00001250: 20 77 6F 72 6B 69 6E 67  20 77 69 74 68 20 6D 6F  | working with mo|
00001260: 72 65 20 64 69 73 6B 20  66 6F 72 6D 61 74 73 20  |re disk formats |
00001270: 74 68 61 6E 20 6A 75 73  74 20 4D 53 2D 44 4F 53  |than just MS-DOS|
00001280: 0A 4D 46 4D 20 28 75 73  69 6E 67 20 66 75 74 75  |.MFM (using futu|
00001290: 72 65 20 73 6F 66 74 77  61 72 65 29 2E 20 54 68  |re software). Th|
000012A0: 65 20 64 69 73 61 64 76  61 6E 74 61 67 65 20 69  |e disadvantage i|
000012B0: 73 20 74 68 61 74 20 70  61 72 74 20 6F 66 20 74  |s that part of t|
000012C0: 68 65 0A 75 6E 75 73 65  64 20 49 2F 4F 20 70 6F  |he.unused I/O po|
000012D0: 72 74 20 41 20 69 73 20  72 65 71 75 69 72 65 64  |rt A is required|
000012E0: 2C 20 77 68 69 63 68 20  6D 65 61 6E 73 20 74 68  |, which means th|
000012F0: 61 74 20 74 68 65 20 70  6F 72 74 20 63 61 6E 6E  |at the port cann|
00001300: 6F 74 20 62 65 20 75 73  65 64 0A 77 69 74 68 20  |ot be used.with |
00001310: 61 20 66 61 73 74 20 6C  6F 61 64 69 6E 67 20 64  |a fast loading d|
00001320: 65 76 69 63 65 20 74 68  61 74 20 72 65 71 75 69  |evice that requi|
00001330: 72 65 73 20 61 20 70 61  72 61 6C 6C 65 6C 20 63  |res a parallel c|
00001340: 61 62 6C 65 20 63 6F 6E  6E 65 63 74 69 6F 6E 20  |able connection |
00001350: 74 6F 0A 74 68 65 20 31  35 34 31 20 28 73 74 61  |to.the 1541 (sta|
00001360: 6E 64 61 72 64 20 66 61  73 74 20 6C 6F 61 64 65  |ndard fast loade|
00001370: 72 20 63 61 72 74 72 69  64 67 65 73 20 77 6F 72  |r cartridges wor|
00001380: 6B 20 66 69 6E 65 29 2E  20 55 73 65 20 6F 6E 65  |k fine). Use one|
00001390: 20 6F 66 20 74 68 65 0A  61 6C 74 65 72 6E 61 74  | of the.alternat|
000013A0: 65 20 6D 6F 64 69 66 69  63 61 74 69 6F 6E 73 20  |e modifications |
000013B0: 69 66 20 79 6F 75 20 77  61 6E 74 20 74 6F 20 75  |if you want to u|
000013C0: 73 65 20 73 75 63 68 20  61 20 66 61 73 74 20 6C  |se such a fast l|
000013D0: 6F 61 64 65 72 2E 0A 20  0A 20 20 54 68 65 20 75  |oader.. .  The u|
000013E0: 6E 75 73 65 64 20 49 2F  4F 20 70 6F 72 74 20 61  |nused I/O port a|
000013F0: 76 61 69 6C 61 62 6C 65  20 6F 6E 20 74 68 65 20  |vailable on the |
00001400: 66 69 72 73 74 20 36 35  32 32 20 76 65 72 73 61  |first 6522 versa|
00001410: 74 69 6C 65 20 69 6E 74  65 72 66 61 63 65 0A 61  |tile interface.a|
00001420: 64 61 70 74 65 72 73 20  28 56 49 41 29 20 63 61  |dapters (VIA) ca|
00001430: 6E 20 62 65 20 63 6F 6E  6E 65 63 74 65 64 20 74  |n be connected t|
00001440: 6F 20 74 68 65 20 63 6F  75 6E 74 65 72 27 73 20  |o the counter's |
00001450: 65 78 74 72 61 20 69 6E  70 75 74 73 20 28 77 68  |extra inputs (wh|
00001460: 69 63 68 20 61 72 65 0A  6E 6F 72 6D 61 6C 6C 79  |ich are.normally|
00001470: 20 63 6F 6E 6E 65 63 74  65 64 20 74 6F 20 67 72  | connected to gr|
00001480: 6F 75 6E 64 29 20 61 6E  64 20 75 73 65 64 20 74  |ound) and used t|
00001490: 6F 20 65 78 74 65 6E 64  20 74 68 65 20 63 6C 6F  |o extend the clo|
000014A0: 63 6B 20 66 72 65 71 75  65 6E 63 79 0A 72 61 6E  |ck frequency.ran|
000014B0: 67 65 2E 20 53 69 6E 63  65 20 74 68 65 20 70 6F  |ge. Since the po|
000014C0: 72 74 20 69 73 20 61 6C  73 6F 20 61 74 20 67 72  |rt is also at gr|
000014D0: 6F 75 6E 64 20 70 6F 74  65 6E 74 69 61 6C 20 75  |ound potential u|
000014E0: 70 6F 6E 20 72 65 73 65  74 2C 20 74 68 65 20 63  |pon reset, the c|
000014F0: 6C 6F 63 6B 0A 63 69 72  63 75 69 74 72 79 20 69  |lock.circuitry i|
00001500: 73 20 6E 6F 74 20 61 66  66 65 63 74 65 64 20 62  |s not affected b|
00001510: 79 20 74 68 65 20 6D 6F  64 69 66 69 63 61 74 69  |y the modificati|
00001520: 6F 6E 2E 0A 20 0A 20 20  52 65 66 65 72 20 74 6F  |on.. .  Refer to|
00001530: 20 74 68 65 20 66 69 67  75 72 65 20 69 6E 20 66  | the figure in f|
00001540: 69 6C 65 20 31 35 34 31  43 4C 4B 2E 47 49 46 20  |ile 1541CLK.GIF |
00001550: 77 68 69 6C 65 20 6D 61  6B 69 6E 67 20 74 68 65  |while making the|
00001560: 73 65 0A 6D 6F 64 69 66  69 63 61 74 69 6F 6E 73  |se.modifications|
00001570: 2E 20 55 6E 70 6C 75 67  20 79 6F 75 72 20 31 35  |. Unplug your 15|
00001580: 34 31 20 61 6E 64 20 72  65 6D 6F 76 65 20 69 74  |41 and remove it|
00001590: 73 20 63 6F 76 65 72 20  62 79 20 75 6E 73 63 72  |s cover by unscr|
000015A0: 65 77 69 6E 67 20 74 68  65 0A 66 6F 75 72 20 73  |ewing the.four s|
000015B0: 63 72 65 77 73 20 6F 6E  20 74 68 65 20 62 6F 74  |crews on the bot|
000015C0: 74 6F 6D 20 6F 66 20 74  68 65 20 63 61 73 65 2E  |tom of the case.|
000015D0: 20 4C 6F 63 61 74 65 20  74 68 65 20 63 6F 6E 74  | Locate the cont|
000015E0: 72 6F 6C 6C 65 72 20 50  43 42 20 61 6E 64 0A 75  |roller PCB and.u|
000015F0: 6E 70 6C 75 67 20 74 68  65 20 74 72 61 6E 73 66  |nplug the transf|
00001600: 6F 72 6D 65 72 20 63 6F  6E 6E 65 63 74 6F 72 20  |ormer connector |
00001610: 6E 65 61 72 20 74 68 65  20 72 65 67 75 6C 61 74  |near the regulat|
00001620: 6F 72 20 49 43 73 20 61  6E 64 20 68 65 61 74 20  |or ICs and heat |
00001630: 73 69 6E 6B 2E 0A 52 65  6D 6F 76 65 20 74 68 65  |sink..Remove the|
00001640: 20 73 63 72 65 77 73 20  61 74 74 61 63 68 69 6E  | screws attachin|
00001650: 67 20 74 68 65 20 50 43  42 20 74 6F 20 74 68 65  |g the PCB to the|
00001660: 20 63 68 61 73 73 69 73  2C 20 69 6E 63 6C 75 64  | chassis, includ|
00001670: 69 6E 67 20 74 68 65 20  74 77 6F 0A 73 63 72 65  |ing the two.scre|
00001680: 77 73 20 61 74 74 61 63  68 65 64 20 74 6F 20 74  |ws attached to t|
00001690: 68 65 20 72 65 67 75 6C  61 74 6F 72 20 68 65 61  |he regulator hea|
000016A0: 74 20 73 69 6E 6B 2C 20  61 6E 64 20 74 69 6C 74  |t sink, and tilt|
000016B0: 20 74 68 65 20 62 6F 61  72 64 20 75 70 2E 0A 20  | the board up.. |
000016C0: 0A 20 20 4C 6F 63 61 74  65 20 55 45 36 20 28 74  |.  Locate UE6 (t|
000016D0: 68 65 20 37 34 4C 53 31  39 33 20 63 6F 75 6E 74  |he 74LS193 count|
000016E0: 65 72 20 49 43 29 20 61  6E 64 20 63 75 74 20 74  |er IC) and cut t|
000016F0: 68 65 20 74 72 61 63 65  73 20 67 6F 69 6E 67 20  |he traces going |
00001700: 74 6F 20 70 69 6E 73 20  39 0A 61 6E 64 20 31 30  |to pins 9.and 10|
00001710: 3B 20 6D 61 6B 65 20 73  75 72 65 20 74 68 65 20  |; make sure the |
00001720: 74 77 6F 20 70 69 6E 73  20 61 72 65 20 6E 6F 74  |two pins are not|
00001730: 20 73 74 69 6C 6C 20 63  6F 6E 6E 65 63 74 65 64  | still connected|
00001740: 20 74 6F 20 65 61 63 68  20 6F 74 68 65 72 2C 0A  | to each other,.|
00001750: 74 6F 6F 2E 20 43 61 72  65 66 75 6C 6C 79 20 73  |too. Carefully s|
00001760: 6F 6C 64 65 72 20 61 20  73 68 6F 72 74 20 77 69  |older a short wi|
00001770: 72 65 20 74 6F 20 70 69  6E 20 39 20 61 6E 64 20  |re to pin 9 and |
00001780: 61 6E 6F 74 68 65 72 20  6F 6E 65 20 74 6F 20 70  |another one to p|
00001790: 69 6E 20 31 30 2E 0A 4C  6F 63 61 74 65 20 55 43  |in 10..Locate UC|
000017A0: 33 20 28 36 35 32 32 20  56 49 41 29 20 61 6E 64  |3 (6522 VIA) and|
000017B0: 20 73 6F 6C 64 65 72 20  74 68 65 20 6F 74 68 65  | solder the othe|
000017C0: 72 20 65 6E 64 20 6F 66  20 74 68 65 20 66 69 72  |r end of the fir|
000017D0: 73 74 20 77 69 72 65 20  28 66 72 6F 6D 0A 55 45  |st wire (from.UE|
000017E0: 36 20 70 69 6E 20 39 29  20 74 6F 20 55 43 33 20  |6 pin 9) to UC3 |
000017F0: 70 69 6E 20 33 20 28 77  68 69 63 68 20 69 73 20  |pin 3 (which is |
00001800: 6F 74 68 65 72 77 69 73  65 20 75 6E 63 6F 6E 6E  |otherwise unconn|
00001810: 65 63 74 65 64 29 2E 20  53 6F 6C 64 65 72 20 74  |ected). Solder t|
00001820: 68 65 0A 6F 74 68 65 72  20 65 6E 64 20 6F 66 20  |he.other end of |
00001830: 74 68 65 20 73 65 63 6F  6E 64 20 77 69 72 65 20  |the second wire |
00001840: 28 66 72 6F 6D 20 55 45  36 20 70 69 6E 20 31 30  |(from UE6 pin 10|
00001850: 29 20 74 6F 20 55 43 33  20 70 69 6E 20 32 20 28  |) to UC3 pin 2 (|
00001860: 61 6C 73 6F 0A 6F 74 68  65 72 77 69 73 65 20 75  |also.otherwise u|
00001870: 6E 63 6F 6E 6E 65 63 74  65 64 29 2E 0A 20 0A 20  |nconnected).. . |
00001880: 20 43 75 72 72 65 6E 74  6C 79 2C 20 6F 6E 6C 79  | Currently, only|
00001890: 20 74 68 65 20 6A 75 6D  70 65 72 20 74 6F 20 55  | the jumper to U|
000018A0: 45 36 20 70 69 6E 20 39  20 69 73 20 72 65 71 75  |E6 pin 9 is requ|
000018B0: 69 72 65 64 20 74 6F 20  72 65 61 64 20 49 42 4D  |ired to read IBM|
000018C0: 0A 64 69 73 6B 65 74 74  65 73 2E 20 49 66 20 79  |.diskettes. If y|
000018D0: 6F 75 20 77 61 6E 74 20  74 6F 20 73 61 76 65 20  |ou want to save |
000018E0: 79 6F 75 72 73 65 6C 66  20 73 6F 6C 64 65 72 69  |yourself solderi|
000018F0: 6E 67 20 6F 6E 65 20 6A  75 6D 70 65 72 2C 20 79  |ng one jumper, y|
00001900: 6F 75 20 6D 61 79 0A 6C  65 61 76 65 20 55 45 36  |ou may.leave UE6|
00001910: 20 70 69 6E 20 31 30 20  63 6F 6E 6E 65 63 74 65  | pin 10 connecte|
00001920: 64 20 74 6F 20 67 72 6F  75 6E 64 2E 20 54 68 65  |d to ground. The|
00001930: 20 6A 75 6D 70 65 72 20  74 6F 20 55 45 36 20 70  | jumper to UE6 p|
00001940: 69 6E 20 31 30 20 6D 61  79 20 62 65 0A 72 65 71  |in 10 may be.req|
00001950: 75 69 72 65 64 20 69 6E  20 74 68 65 20 66 75 74  |uired in the fut|
00001960: 75 72 65 20 74 6F 20 72  65 61 64 20 6F 74 68 65  |ure to read othe|
00001970: 72 20 6E 65 77 20 61 6E  64 20 65 78 63 69 74 69  |r new and exciti|
00001980: 6E 67 20 64 69 73 6B 20  66 6F 72 6D 61 74 73 2E  |ng disk formats.|
00001990: 0A 20 0A 32 42 29 20 31  35 34 31 20 44 49 53 4B  |. .2B) 1541 DISK|
000019A0: 20 44 52 49 56 45 20 4D  4F 44 49 46 49 43 41 54  | DRIVE MODIFICAT|
000019B0: 49 4F 4E 20 2D 2D 20 46  49 52 53 54 20 41 4C 54  |ION -- FIRST ALT|
000019C0: 45 52 4E 41 54 45 0A 20  0A 20 20 55 73 65 20 74  |ERNATE. .  Use t|
000019D0: 68 65 20 66 6F 6C 6C 6F  77 69 6E 67 20 6D 6F 64  |he following mod|
000019E0: 69 66 69 63 61 74 69 6F  6E 20 69 6E 73 74 72 75  |ification instru|
000019F0: 63 74 69 6F 6E 73 20 69  66 20 79 6F 75 20 77 61  |ctions if you wa|
00001A00: 6E 74 20 74 6F 20 6C 65  61 76 65 20 74 68 65 0A  |nt to leave the.|
00001A10: 66 69 72 73 74 20 56 49  41 27 73 20 75 6E 75 73  |first VIA's unus|
00001A20: 65 64 20 70 6F 72 74 20  41 20 61 6C 6F 6E 65 2E  |ed port A alone.|
00001A30: 20 59 6F 75 27 6C 6C 20  6E 65 65 64 20 61 20 34  | You'll need a 4|
00001A40: 2E 37 20 6B 69 6C 6F 68  6D 20 72 65 73 69 73 74  |.7 kilohm resist|
00001A50: 6F 72 20 74 6F 0A 70 65  72 66 6F 72 6D 20 74 68  |or to.perform th|
00001A60: 69 73 20 6D 6F 64 69 66  69 63 61 74 69 6F 6E 20  |is modification |
00001A70: 28 61 6C 74 68 6F 75 67  68 20 61 6E 79 74 68 69  |(although anythi|
00001A80: 6E 67 20 33 2E 33 6B 20  74 6F 20 31 30 6B 20 73  |ng 3.3k to 10k s|
00001A90: 68 6F 75 6C 64 20 61 6C  73 6F 0A 77 6F 72 6B 29  |hould also.work)|
00001AA0: 2E 0A 20 0A 20 20 42 65  73 69 64 65 73 20 61 6C  |.. .  Besides al|
00001AB0: 6C 20 6F 66 20 70 6F 72  74 20 41 2C 20 70 69 6E  |l of port A, pin|
00001AC0: 20 43 41 31 20 6F 66 20  74 68 65 20 66 69 72 73  | CA1 of the firs|
00001AD0: 74 20 56 49 41 20 69 73  20 61 6C 73 6F 20 75 6E  |t VIA is also un|
00001AE0: 75 73 65 64 20 69 6E 20  61 0A 73 74 6F 63 6B 20  |used in a.stock |
00001AF0: 31 35 34 31 2E 20 55 6E  66 6F 72 74 75 6E 61 74  |1541. Unfortunat|
00001B00: 65 6C 79 2C 20 69 74 20  67 6F 65 73 20 68 69 67  |ely, it goes hig|
00001B10: 68 20 28 6E 6F 74 20 74  6F 20 67 72 6F 75 6E 64  |h (not to ground|
00001B20: 29 20 77 68 65 6E 20 72  65 73 65 74 20 61 6E 64  |) when reset and|
00001B30: 0A 63 61 6E 27 74 20 62  65 20 64 69 72 65 63 74  |.can't be direct|
00001B40: 6C 79 20 63 6F 6E 6E 65  63 74 65 64 20 74 6F 20  |ly connected to |
00001B50: 74 68 65 20 63 6F 75 6E  74 65 72 27 73 20 69 6E  |the counter's in|
00001B60: 70 75 74 20 66 6F 72 20  74 68 65 20 64 72 69 76  |put for the driv|
00001B70: 65 20 74 6F 20 62 65 0A  61 62 6C 65 20 74 6F 20  |e to be.able to |
00001B80: 72 65 61 64 20 72 65 67  75 6C 61 72 20 31 35 34  |read regular 154|
00001B90: 31 20 64 69 73 6B 73 20  61 74 20 70 6F 77 65 72  |1 disks at power|
00001BA0: 20 75 70 2E 20 49 6E 73  74 65 61 64 2C 20 61 6E  | up. Instead, an|
00001BB0: 20 75 6E 75 73 65 64 20  69 6E 76 65 72 74 65 72  | unused inverter|
00001BC0: 0A 69 73 20 75 73 65 64  20 74 6F 20 69 6E 76 65  |.is used to inve|
00001BD0: 72 74 20 74 68 65 20 68  69 67 68 20 73 69 67 6E  |rt the high sign|
00001BE0: 61 6C 20 74 6F 20 6C 6F  77 2C 20 77 68 69 63 68  |al to low, which|
00001BF0: 20 69 73 20 74 68 65 6E  20 63 6F 6E 6E 65 63 74  | is then connect|
00001C00: 65 64 20 74 6F 20 74 68  65 0A 63 6F 75 6E 74 65  |ed to the.counte|
00001C10: 72 2E 0A 20 0A 20 20 55  6E 70 6C 75 67 20 79 6F  |r.. .  Unplug yo|
00001C20: 75 72 20 31 35 34 31 20  61 6E 64 20 72 65 6D 6F  |ur 1541 and remo|
00001C30: 76 65 20 69 74 73 20 63  6F 76 65 72 20 62 79 20  |ve its cover by |
00001C40: 75 6E 73 63 72 65 77 69  6E 67 20 74 68 65 20 66  |unscrewing the f|
00001C50: 6F 75 72 20 73 63 72 65  77 73 20 6F 6E 0A 74 68  |our screws on.th|
00001C60: 65 20 62 6F 74 74 6F 6D  20 6F 66 20 74 68 65 20  |e bottom of the |
00001C70: 63 61 73 65 2E 20 4C 6F  63 61 74 65 20 74 68 65  |case. Locate the|
00001C80: 20 63 6F 6E 74 72 6F 6C  6C 65 72 20 50 43 42 20  | controller PCB |
00001C90: 61 6E 64 20 75 6E 70 6C  75 67 20 74 68 65 0A 74  |and unplug the.t|
00001CA0: 72 61 6E 73 66 6F 72 6D  65 72 20 63 6F 6E 6E 65  |ransformer conne|
00001CB0: 63 74 6F 72 20 6E 65 61  72 20 74 68 65 20 72 65  |ctor near the re|
00001CC0: 67 75 6C 61 74 6F 72 20  49 43 73 20 61 6E 64 20  |gulator ICs and |
00001CD0: 68 65 61 74 20 73 69 6E  6B 2E 20 52 65 6D 6F 76  |heat sink. Remov|
00001CE0: 65 20 74 68 65 0A 73 63  72 65 77 73 20 61 74 74  |e the.screws att|
00001CF0: 61 63 68 69 6E 67 20 74  68 65 20 50 43 42 20 74  |aching the PCB t|
00001D00: 6F 20 74 68 65 20 63 68  61 73 73 69 73 2C 20 69  |o the chassis, i|
00001D10: 6E 63 6C 75 64 69 6E 67  20 74 68 65 20 74 77 6F  |ncluding the two|
00001D20: 20 73 63 72 65 77 73 0A  61 74 74 61 63 68 65 64  | screws.attached|
00001D30: 20 74 6F 20 74 68 65 20  72 65 67 75 6C 61 74 6F  | to the regulato|
00001D40: 72 20 68 65 61 74 20 73  69 6E 6B 2C 20 61 6E 64  |r heat sink, and|
00001D50: 20 74 69 6C 74 20 74 68  65 20 62 6F 61 72 64 20  | tilt the board |
00001D60: 75 70 2E 0A 20 0A 20 20  4C 6F 63 61 74 65 20 55  |up.. .  Locate U|
00001D70: 45 36 20 28 74 68 65 20  37 34 4C 53 31 39 33 20  |E6 (the 74LS193 |
00001D80: 63 6F 75 6E 74 65 72 20  49 43 29 20 61 6E 64 20  |counter IC) and |
00001D90: 63 75 74 20 74 68 65 20  74 72 61 63 65 20 67 6F  |cut the trace go|
00001DA0: 69 6E 67 20 74 6F 20 70  69 6E 20 39 3B 0A 6D 61  |ing to pin 9;.ma|
00001DB0: 6B 65 20 73 75 72 65 20  74 68 65 20 70 69 6E 20  |ke sure the pin |
00001DC0: 39 20 69 73 6E 27 74 20  73 74 69 6C 6C 20 63 6F  |9 isn't still co|
00001DD0: 6E 6E 65 63 74 65 64 20  74 6F 20 70 69 6E 20 31  |nnected to pin 1|
00001DE0: 30 2E 20 43 61 72 65 66  75 6C 6C 79 20 73 6F 6C  |0. Carefully sol|
00001DF0: 64 65 72 20 61 0A 73 68  6F 72 74 20 77 69 72 65  |der a.short wire|
00001E00: 20 74 6F 20 70 69 6E 20  39 2E 20 4C 6F 63 61 74  | to pin 9. Locat|
00001E10: 65 20 55 42 31 20 28 37  34 30 36 20 6F 70 65 6E  |e UB1 (7406 open|
00001E20: 2D 63 6F 6C 6C 65 63 74  6F 72 20 68 65 78 20 69  |-collector hex i|
00001E30: 6E 76 65 72 74 65 72 29  20 61 6E 64 0A 76 65 72  |nverter) and.ver|
00001E40: 69 66 79 20 74 68 61 74  20 70 69 6E 73 20 35 20  |ify that pins 5 |
00001E50: 61 6E 64 20 36 20 61 72  65 20 75 6E 63 6F 6E 6E  |and 6 are unconn|
00001E60: 65 63 74 65 64 2E 20 53  6F 6C 64 65 72 20 74 68  |ected. Solder th|
00001E70: 65 20 6F 74 68 65 72 20  65 6E 64 20 6F 66 20 74  |e other end of t|
00001E80: 68 65 0A 77 69 72 65 20  61 6E 64 20 6F 6E 65 20  |he.wire and one |
00001E90: 65 6E 64 20 6F 66 20 74  68 65 20 72 65 73 69 73  |end of the resis|
00001EA0: 74 6F 72 20 74 6F 20 70  69 6E 20 36 2E 20 54 68  |tor to pin 6. Th|
00001EB0: 65 20 6F 74 68 65 72 20  65 6E 64 20 6F 66 20 74  |e other end of t|
00001EC0: 68 65 0A 72 65 73 69 73  74 6F 72 20 6D 75 73 74  |he.resistor must|
00001ED0: 20 62 65 20 73 6F 6C 64  65 72 65 64 20 74 6F 20  | be soldered to |
00001EE0: 70 69 6E 20 31 34 20 28  56 63 63 29 2E 20 4C 6F  |pin 14 (Vcc). Lo|
00001EF0: 63 61 74 65 20 55 43 33  20 28 36 35 32 32 20 56  |cate UC3 (6522 V|
00001F00: 49 41 29 20 61 6E 64 0A  73 6F 6C 64 65 72 20 61  |IA) and.solder a|
00001F10: 20 73 68 6F 72 74 20 6C  65 6E 67 74 68 20 6F 66  | short length of|
00001F20: 20 77 69 72 65 20 62 65  74 77 65 65 6E 20 70 69  | wire between pi|
00001F30: 6E 20 33 39 20 28 43 41  32 29 20 61 6E 64 20 70  |n 39 (CA2) and p|
00001F40: 69 6E 20 35 20 6F 66 20  55 42 31 2E 0A 20 0A 32  |in 5 of UB1.. .2|
00001F50: 43 29 20 31 35 34 31 20  44 49 53 4B 20 44 52 49  |C) 1541 DISK DRI|
00001F60: 56 45 20 4D 4F 44 49 46  49 43 41 54 49 4F 4E 20  |VE MODIFICATION |
00001F70: 2D 2D 20 53 45 43 4F 4E  44 20 41 4C 54 45 52 4E  |-- SECOND ALTERN|
00001F80: 41 54 45 0A 20 0A 20 20  49 66 20 79 6F 75 20 64  |ATE. .  If you d|
00001F90: 6F 6E 27 74 20 68 61 76  65 20 61 20 72 65 73 69  |on't have a resi|
00001FA0: 73 74 6F 72 20 68 61 6E  64 79 2C 20 6F 72 20 61  |stor handy, or a|
00001FB0: 72 65 20 6D 6F 64 69 66  79 69 6E 67 20 61 20 31  |re modifying a 1|
00001FC0: 35 34 31 20 63 6F 6D 70  61 74 69 62 6C 65 0A 64  |541 compatible.d|
00001FD0: 69 73 6B 20 64 72 69 76  65 20 74 68 61 74 20 64  |isk drive that d|
00001FE0: 6F 65 73 6E 27 74 20 68  61 76 65 20 61 6E 20 75  |oesn't have an u|
00001FF0: 6E 75 73 65 64 20 70 6F  72 74 20 6F 72 20 69 6E  |nused port or in|
00002000: 76 65 72 74 65 72 20 28  6F 72 20 65 76 65 6E 20  |verter (or even |
00002010: 6F 6E 65 0A 74 68 61 74  20 64 6F 65 73 2C 20 6C  |one.that does, l|
00002020: 69 6B 65 20 74 68 65 20  4F 43 2D 31 31 38 29 2C  |ike the OC-118),|
00002030: 20 74 68 65 6E 20 79 6F  75 20 6D 61 79 20 62 65  | then you may be|
00002040: 20 66 6F 72 63 65 64 20  74 6F 20 75 73 65 20 74  | forced to use t|
00002050: 68 69 73 0A 61 6C 74 65  72 6E 61 74 65 20 6D 6F  |his.alternate mo|
00002060: 64 69 66 69 63 61 74 69  6F 6E 2E 20 41 20 73 77  |dification. A sw|
00002070: 69 74 63 68 20 69 73 20  69 6E 73 74 61 6C 6C 65  |itch is installe|
00002080: 64 20 77 68 69 63 68 20  61 6C 6C 6F 77 73 20 79  |d which allows y|
00002090: 6F 75 20 74 6F 20 63 68  6F 6F 73 65 0A 74 6F 20  |ou to choose.to |
000020A0: 72 65 61 64 20 6E 6F 72  6D 61 6C 20 31 35 34 31  |read normal 1541|
000020B0: 20 64 69 73 6B 73 20 77  68 65 6E 20 64 6F 77 6E  | disks when down|
000020C0: 20 6F 72 20 4D 46 4D 20  64 69 73 6B 73 20 77 68  | or MFM disks wh|
000020D0: 65 6E 20 75 70 2E 0A 20  0A 20 20 4C 6F 63 61 74  |en up.. .  Locat|
000020E0: 65 20 55 45 36 20 28 74  68 65 20 37 34 4C 53 31  |e UE6 (the 74LS1|
000020F0: 39 33 20 63 6F 75 6E 74  65 72 20 49 43 29 20 61  |93 counter IC) a|
00002100: 6E 64 20 63 75 74 20 74  68 65 20 74 72 61 63 65  |nd cut the trace|
00002110: 20 67 6F 69 6E 67 20 74  6F 20 70 69 6E 20 39 3B  | going to pin 9;|
00002120: 0A 6D 61 6B 65 20 73 75  72 65 20 74 68 65 20 70  |.make sure the p|
00002130: 69 6E 20 39 20 69 73 6E  27 74 20 73 74 69 6C 6C  |in 9 isn't still|
00002140: 20 63 6F 6E 6E 65 63 74  65 64 20 74 6F 20 70 69  | connected to pi|
00002150: 6E 20 31 30 2E 20 43 61  72 65 66 75 6C 6C 79 20  |n 10. Carefully |
00002160: 73 6F 6C 64 65 72 20 61  0A 73 68 6F 72 74 20 77  |solder a.short w|
00002170: 69 72 65 20 62 65 74 77  65 65 6E 20 70 69 6E 20  |ire between pin |
00002180: 39 20 61 6E 64 20 74 68  65 20 6D 69 64 64 6C 65  |9 and the middle|
00002190: 20 70 6F 73 69 74 69 6F  6E 20 6F 66 20 61 20 53  | position of a S|
000021A0: 50 44 54 20 73 77 69 74  63 68 2E 0A 43 6F 6E 6E  |PDT switch..Conn|
000021B0: 65 63 74 20 6F 6E 65 20  72 65 6D 61 69 6E 69 6E  |ect one remainin|
000021C0: 67 20 73 77 69 74 63 68  20 63 6F 6E 74 61 63 74  |g switch contact|
000021D0: 20 74 6F 20 67 72 6F 75  6E 64 20 61 6E 64 20 74  | to ground and t|
000021E0: 68 65 20 6F 74 68 65 72  20 74 6F 20 56 63 63 20  |he other to Vcc |
000021F0: 28 2B 35 0A 56 29 2E 20  54 6F 20 75 73 65 20 72  |(+5.V). To use r|
00002200: 65 67 75 6C 61 72 20 31  35 34 31 20 64 69 73 6B  |egular 1541 disk|
00002210: 73 2C 20 73 77 69 74 63  68 20 74 6F 20 74 68 65  |s, switch to the|
00002220: 20 67 72 6F 75 6E 64 20  70 6F 73 69 74 69 6F 6E  | ground position|
00002230: 2E 20 54 6F 20 75 73 65  0A 4D 46 4D 20 64 69 73  |. To use.MFM dis|
00002240: 6B 73 2C 20 73 77 69 74  63 68 20 74 6F 20 74 68  |ks, switch to th|
00002250: 65 20 2B 35 20 56 20 70  6F 73 69 74 69 6F 6E 2E  |e +5 V position.|
00002260: 0A 20 0A 32 44 29 20 4F  43 45 41 4E 49 43 20 4F  |. .2D) OCEANIC O|
00002270: 43 2D 31 31 38 2F 4F 43  2D 31 31 38 4E 20 44 49  |C-118/OC-118N DI|
00002280: 53 4B 20 44 52 49 56 45  20 4D 4F 44 49 46 49 43  |SK DRIVE MODIFIC|
00002290: 41 54 49 4F 4E 0A 20 0A  20 20 54 68 65 20 4F 43  |ATION. .  The OC|
000022A0: 2D 31 31 38 20 61 6E 64  20 4F 43 2D 31 31 38 4E  |-118 and OC-118N|
000022B0: 20 61 72 65 20 74 68 69  72 64 20 70 61 72 74 79  | are third party|
000022C0: 20 31 35 34 31 2D 63 6F  6D 70 61 74 69 62 6C 65  | 1541-compatible|
000022D0: 20 64 69 73 6B 20 64 72  69 76 65 73 2E 0A 54 68  | disk drives..Th|
000022E0: 65 79 20 61 70 70 65 61  72 20 73 69 6D 69 6C 61  |ey appear simila|
000022F0: 72 20 74 6F 20 74 68 65  20 41 6D 69 67 61 20 65  |r to the Amiga e|
00002300: 78 74 65 72 6E 61 6C 20  64 69 73 6B 20 64 72 69  |xternal disk dri|
00002310: 76 65 73 20 69 6E 20 74  68 61 74 20 74 68 65 79  |ves in that they|
00002320: 20 61 72 65 0A 63 6F 6D  70 61 63 74 20 61 6E 64  | are.compact and|
00002330: 20 68 61 76 65 20 61 6E  20 65 78 74 65 72 6E 61  | have an externa|
00002340: 6C 20 70 6F 77 65 72 20  73 75 70 70 6C 79 2E 20  |l power supply. |
00002350: 54 68 65 69 72 20 63 69  72 63 75 69 74 72 79 20  |Their circuitry |
00002360: 69 73 20 73 6C 69 67 68  74 6C 79 0A 64 69 66 66  |is slightly.diff|
00002370: 65 72 65 6E 74 20 66 72  6F 6D 20 74 68 61 74 20  |erent from that |
00002380: 6F 66 20 74 68 65 20 31  35 34 31 2C 20 61 6E 64  |of the 1541, and|
00002390: 20 74 68 65 79 20 72 65  71 75 69 72 65 20 61 20  | they require a |
000023A0: 64 69 66 66 65 72 65 6E  74 0A 6D 6F 64 69 66 69  |different.modifi|
000023B0: 63 61 74 69 6F 6E 2E 20  54 68 69 73 20 64 65 73  |cation. This des|
000023C0: 63 72 69 70 74 69 6F 6E  20 69 73 20 65 71 75 69  |cription is equi|
000023D0: 76 61 6C 65 6E 74 20 74  6F 20 74 68 65 20 66 69  |valent to the fi|
000023E0: 72 73 74 20 61 6C 74 65  72 6E 61 74 65 0A 31 35  |rst alternate.15|
000023F0: 34 31 20 6D 6F 64 69 66  69 63 61 74 69 6F 6E 20  |41 modification |
00002400: 61 62 6F 76 65 2C 20 73  6F 20 79 6F 75 27 6C 6C  |above, so you'll|
00002410: 20 6E 65 65 64 20 61 20  33 2E 33 6B 20 74 6F 20  | need a 3.3k to |
00002420: 31 30 6B 20 6B 69 6C 6F  68 6D 20 72 65 73 69 73  |10k kilohm resis|
00002430: 74 6F 72 2E 0A 20 0A 20  20 4C 6F 63 61 74 65 20  |tor.. .  Locate |
00002440: 55 34 20 28 37 34 4C 53  31 36 31 20 63 6F 75 6E  |U4 (74LS161 coun|
00002450: 74 65 72 20 49 43 29 20  6F 6E 20 74 68 65 20 62  |ter IC) on the b|
00002460: 6F 61 72 64 20 69 6E 20  74 68 65 20 74 6F 70 20  |oard in the top |
00002470: 72 69 67 68 74 20 6F 66  20 74 68 65 0A 64 69 61  |right of the.dia|
00002480: 67 72 61 6D 2E 20 54 68  65 72 65 20 6D 61 79 20  |gram. There may |
00002490: 62 65 20 61 6E 6F 74 68  65 72 20 55 34 20 6F 6E  |be another U4 on|
000024A0: 20 61 20 64 69 66 66 65  72 65 6E 74 20 62 6F 61  | a different boa|
000024B0: 72 64 2C 20 73 6F 20 6D  61 6B 65 20 73 75 72 65  |rd, so make sure|
000024C0: 20 74 68 65 0A 55 34 20  79 6F 75 20 75 73 65 20  | the.U4 you use |
000024D0: 68 61 73 20 37 34 4C 53  31 36 31 20 77 72 69 74  |has 74LS161 writ|
000024E0: 74 65 6E 20 6F 6E 20 69  74 2E 20 43 75 74 20 74  |ten on it. Cut t|
000024F0: 68 65 20 74 72 61 63 65  20 62 65 74 77 65 65 6E  |he trace between|
00002500: 20 70 69 6E 20 36 20 6F  66 20 55 34 0A 61 6E 64  | pin 6 of U4.and|
00002510: 20 47 4E 44 20 61 6E 64  20 73 6F 6C 64 65 72 20  | GND and solder |
00002520: 61 20 73 68 6F 72 74 20  77 69 72 65 20 74 6F 20  |a short wire to |
00002530: 70 69 6E 20 36 2E 20 4C  6F 63 61 74 65 20 55 31  |pin 6. Locate U1|
00002540: 35 20 28 37 34 30 36 20  6F 70 65 6E 2D 0A 63 6F  |5 (7406 open-.co|
00002550: 6C 6C 65 63 74 6F 72 20  68 65 78 20 69 6E 76 65  |llector hex inve|
00002560: 72 74 65 72 29 20 61 6E  64 20 73 6F 6C 64 65 72  |rter) and solder|
00002570: 20 74 68 65 20 6F 74 68  65 72 20 65 6E 64 20 6F  | the other end o|
00002580: 66 20 74 68 65 20 77 69  72 65 20 61 6E 64 20 6F  |f the wire and o|
00002590: 6E 65 0A 65 6E 64 20 6F  66 20 74 68 65 20 72 65  |ne.end of the re|
000025A0: 73 69 73 74 6F 72 20 74  6F 20 70 69 6E 20 38 20  |sistor to pin 8 |
000025B0: 28 77 68 69 63 68 20 73  68 6F 75 6C 64 20 6F 74  |(which should ot|
000025C0: 68 65 72 77 69 73 65 20  62 65 20 75 6E 63 6F 6E  |herwise be uncon|
000025D0: 6E 65 63 74 65 64 29 2E  0A 43 6F 6E 6E 65 63 74  |nected)..Connect|
000025E0: 20 74 68 65 20 6F 74 68  65 72 20 65 6E 64 20 6F  | the other end o|
000025F0: 66 20 74 68 65 20 72 65  73 69 73 74 6F 72 20 74  |f the resistor t|
00002600: 6F 20 70 69 6E 20 31 34  20 28 56 63 63 29 2E 20  |o pin 14 (Vcc). |
00002610: 4C 6F 63 61 74 65 20 55  38 20 28 36 35 32 32 0A  |Locate U8 (6522.|
00002620: 56 49 41 29 20 61 6E 64  20 73 6F 6C 64 65 72 20  |VIA) and solder |
00002630: 61 20 73 68 6F 72 74 20  6C 65 6E 67 74 68 20 6F  |a short length o|
00002640: 66 20 77 69 72 65 20 62  65 74 77 65 65 6E 20 70  |f wire between p|
00002650: 69 6E 20 33 39 20 28 43  41 32 29 20 61 6E 64 20  |in 39 (CA2) and |
00002660: 70 69 6E 20 39 20 6F 66  0A 55 31 35 2E 0A 20 0A  |pin 9 of.U15.. .|
00002670: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002680: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002690: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 55 31  |              U1|
000026A0: 2C 33 2C 35 20 20 55 32  2C 34 2C 36 0A 20 20 20  |,3,5  U2,4,6.   |
000026B0: 20 5F 5F 5F 5F 5F 5F 5F  5F 5F 5F 5F 5F 20 20 20  | ____________   |
000026C0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000026D0: 20 20 20 20 5F 5F 5F 5F  5F 20 20 20 55 37 2C 39  |    _____   U7,9|
000026E0: 20 20 20 55 38 2C 31 30  0A 20 20 20 21 21 20 20  |   U8,10.   !!  |
000026F0: 20 20 20 20 20 20 20 20  20 5C 20 20 20 3D 4D 4D  |         \   =MM|
00002700: 4D 4D 4D 3D 3D 3D 3D 3D  3D 3D 3D 3D 5F 5F 20 2F  |MMM=========__ /|
00002710: 20 20 20 20 20 21 20 20  20 48 23 48 20 20 20 20  |     !   H#H    |
00002720: 48 23 48 20 20 48 0A 20  20 20 21 21 20 20 20 20  |H#H  H.   !!    |
00002730: 20 20 20 20 20 20 20 20  2D 2D 2D 2D 2D 2D 2D 2D  |        --------|
00002740: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 20 20 20  |-------------   |
00002750: 20 20 20 21 20 20 3D 3D  3D 3D 3D 3D 3D 3D 3D 3D  |   !  ==========|
00002760: 3D 3D 3D 3D 0A 20 20 20  21 21 20 20 20 20 73 65  |====.   !!    se|
00002770: 72 76 6F 20 63 61 72 64  20 20 20 20 20 20 20 20  |rvo card        |
00002780: 20 20 6D 6F 74 68 65 72  62 6F 61 72 64 20 20 20  |  motherboard   |
00002790: 20 21 20 20 20 20 20 20  20 20 20 20 20 20 4D 4D  | !            MM|
000027A0: 48 20 2D 2D 20 63 6F 6E  6E 65 63 74 6F 72 73 0A  |H -- connectors.|
000027B0: 20 20 20 21 21 20 20 2D  20 2D 20 2D 20 2D 20 2D  |   !!  - - - - -|
000027C0: 20 2D 20 2D 20 20 20 20  20 20 20 2D 20 2D 20 2D  | - -       - - -|
000027D0: 20 2D 20 2D 20 2D 20 2D  20 2D 20 2D 21 3D 3D 3D  | - - - - - -!===|
000027E0: 3D 3D 3D 3D 3D 3D 3D 3D  3D 3D 3D 3D 3D 0A 20 20  |=============.  |
000027F0: 20 21 21 5F 5F 5F 5F 5F  5F 5F 5F 5F 5F 5F 5F 5F  | !!_____________|
00002800: 5F 5F 5F 5F 5F 5F 5F 5F  5F 5F 57 5F 57 5F 57 5F  |__________W_W_W_|
00002810: 57 5F 57 5F 57 5F 57 5F  5F 5F 21 20 20 20 48 23  |W_W_W_W___!   H#|
00002820: 48 20 20 20 48 23 48 20  20 22 0A 20 0A 20 20 20  |H   H#H  ". .   |
00002830: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002840: 20 20 20 20 20 20 20 20  20 20 20 20 55 31 2E 2E  |            U1..|
00002850: 2E 39 20 20 20 20 20 20  20 20 20 20 20 20 55 31  |.9            U1|
00002860: 30 2E 2E 2E 55 31 38 0A  20 0A 20 20 20 20 20 20  |0...U18. .      |
00002870: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 4F 43  |              OC|
00002880: 2D 31 31 38 2C 20 4F 43  2D 31 31 38 4E 20 2D 20  |-118, OC-118N - |
00002890: 73 69 64 65 20 76 69 65  77 0A 20 0A 2D 2D 2D 2D  |side view. .----|
000028A0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
000028B0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
000028C0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
000028D0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
000028E0: 2D 2D 2D 0A 20 0A 33 29  20 50 52 45 50 41 52 49  |---. .3) PREPARI|
000028F0: 4E 47 20 44 49 53 4B 53  20 46 4F 52 20 44 41 54  |NG DISKS FOR DAT|
00002900: 41 20 54 52 41 4E 53 46  45 52 0A 20 0A 20 20 54  |A TRANSFER. .  T|
00002910: 68 65 20 31 35 34 31 20  64 72 69 76 65 20 6F 6E  |he 1541 drive on|
00002920: 6C 79 20 68 61 73 20 61  20 73 69 6E 67 6C 65 20  |ly has a single |
00002930: 68 65 61 64 20 74 6F 20  72 65 61 64 20 73 69 6E  |head to read sin|
00002940: 67 6C 65 2D 73 69 64 65  64 20 64 69 73 6B 73 2E  |gle-sided disks.|
00002950: 20 54 68 69 73 0A 6D 65  61 6E 73 20 79 6F 75 20  | This.means you |
00002960: 6E 65 65 64 20 64 69 73  6B 73 20 66 6F 72 6D 61  |need disks forma|
00002970: 74 74 65 64 20 77 69 74  68 20 74 68 65 20 31 38  |tted with the 18|
00002980: 30 20 4B 42 20 4D 53 2D  44 4F 53 20 66 6F 72 6D  |0 KB MS-DOS form|
00002990: 61 74 20 28 34 30 20 74  72 61 63 6B 73 0A 6F 6E  |at (40 tracks.on|
000029A0: 20 61 20 73 69 6E 67 6C  65 20 73 69 64 65 2C 20  | a single side, |
000029B0: 39 20 73 65 63 74 6F 72  73 20 70 65 72 20 74 72  |9 sectors per tr|
000029C0: 61 63 6B 20 77 69 74 68  20 61 20 73 65 63 74 6F  |ack with a secto|
000029D0: 72 20 73 69 7A 65 20 6F  66 20 35 31 32 20 62 79  |r size of 512 by|
000029E0: 74 65 73 29 2E 0A 53 75  63 68 20 64 69 73 6B 73  |tes)..Such disks|
000029F0: 20 63 61 6E 20 62 65 20  66 6F 72 6D 61 74 74 65  | can be formatte|
00002A00: 64 20 75 73 69 6E 67 20  74 68 65 20 4D 53 2D 44  |d using the MS-D|
00002A10: 4F 53 20 46 4F 52 4D 41  54 20 63 6F 6D 6D 61 6E  |OS FORMAT comman|
00002A20: 64 20 6F 6E 20 64 6F 75  62 6C 65 0A 64 65 6E 73  |d on double.dens|
00002A30: 69 74 79 20 64 69 73 6B  73 20 77 69 74 68 20 74  |ity disks with t|
00002A40: 68 65 20 2F 31 20 63 6F  6D 6D 61 6E 64 20 6C 69  |he /1 command li|
00002A50: 6E 65 20 6F 70 74 69 6F  6E 2E 20 45 2E 67 2E 3A  |ne option. E.g.:|
00002A60: 0A 20 0A 20 20 20 20 46  4F 52 4D 41 54 20 2F 31  |. .    FORMAT /1|
00002A70: 20 41 3A 0A 20 0A 20 20  49 66 20 79 6F 75 20 75  | A:. .  If you u|
00002A80: 73 65 20 61 20 68 69 67  68 20 64 65 6E 73 69 74  |se a high densit|
00002A90: 79 20 64 69 73 6B 20 64  72 69 76 65 20 28 31 2E  |y disk drive (1.|
00002AA0: 32 20 4D 42 29 20 79 6F  75 20 77 69 6C 6C 20 61  |2 MB) you will a|
00002AB0: 6C 73 6F 20 68 61 76 65  20 74 6F 0A 75 73 65 20  |lso have to.use |
00002AC0: 74 68 65 20 2F 34 20 63  6F 6D 6D 61 6E 64 20 6C  |the /4 command l|
00002AD0: 69 6E 65 20 6F 70 74 69  6F 6E 20 74 6F 20 63 72  |ine option to cr|
00002AE0: 65 61 74 65 20 64 6F 75  62 6C 65 20 64 65 6E 73  |eate double dens|
00002AF0: 69 74 79 20 66 6F 72 6D  61 74 2E 20 45 2E 67 2E  |ity format. E.g.|
00002B00: 3A 0A 20 0A 20 20 20 20  46 4F 52 4D 41 54 20 2F  |:. .    FORMAT /|
00002B10: 31 20 2F 34 20 41 3A 0A  20 0A 20 20 4E 65 77 65  |1 /4 A:. .  Newe|
00002B20: 72 20 76 65 72 73 69 6F  6E 73 20 6F 66 20 4D 53  |r versions of MS|
00002B30: 2D 44 4F 53 20 61 6C 6C  6F 77 20 74 68 65 20 2F  |-DOS allow the /|
00002B40: 46 20 73 77 69 74 63 68  20 77 68 69 63 68 20 77  |F switch which w|
00002B50: 69 6C 6C 20 77 6F 72 6B  20 6F 6E 20 62 6F 74 68  |ill work on both|
00002B60: 0A 6B 69 6E 64 73 20 6F  66 20 64 72 69 76 65 73  |.kinds of drives|
00002B70: 2E 20 45 2E 67 2E 3A 0A  20 0A 20 20 20 20 46 4F  |. E.g.:. .    FO|
00002B80: 52 4D 41 54 20 2F 46 3A  31 38 30 20 41 3A 0A 20  |RMAT /F:180 A:. |
00002B90: 0A 20 20 49 66 20 79 6F  75 20 75 73 65 20 6F 74  |.  If you use ot|
00002BA0: 68 65 72 20 70 72 6F 67  72 61 6D 73 20 74 6F 20  |her programs to |
00002BB0: 66 6F 72 6D 61 74 20 64  69 73 6B 73 20 69 6E 73  |format disks ins|
00002BC0: 74 65 61 64 20 6F 66 20  74 68 65 20 4D 53 2D 44  |tead of the MS-D|
00002BD0: 4F 53 0A 46 4F 52 4D 41  54 20 63 6F 6D 6D 61 6E  |OS.FORMAT comman|
00002BE0: 64 2C 20 79 6F 75 20 6D  61 79 20 68 61 76 65 20  |d, you may have |
00002BF0: 74 6F 20 75 73 65 20 64  69 66 66 65 72 65 6E 74  |to use different|
00002C00: 20 70 61 72 61 6D 65 74  65 72 73 20 74 6F 20 67  | parameters to g|
00002C10: 65 6E 65 72 61 74 65 20  64 69 73 6B 73 0A 77 69  |enerate disks.wi|
00002C20: 74 68 20 65 78 61 63 74  6C 79 20 74 68 65 20 64  |th exactly the d|
00002C30: 69 73 6B 20 6F 72 67 61  6E 69 7A 61 74 69 6F 6E  |isk organization|
00002C40: 20 31 35 34 31 2D 72 65  61 64 73 2D 64 6F 73 20  | 1541-reads-dos |
00002C50: 65 78 70 65 63 74 73 2E  0A 20 20 45 2E 67 2E 20  |expects..  E.g. |
00002C60: 77 69 74 68 20 74 68 65  20 70 75 62 6C 69 63 2D  |with the public-|
00002C70: 64 6F 6D 61 69 6E 20 70  72 6F 67 72 61 6D 20 46  |domain program F|
00002C80: 44 46 4F 52 4D 41 54 20  79 6F 75 20 68 61 76 65  |DFORMAT you have|
00002C90: 20 74 6F 20 75 73 65 0A  20 0A 20 20 20 20 46 44  | to use. .    FD|
00002CA0: 46 4F 52 4D 41 54 20 41  3A 20 2F 46 3A 31 38 30  |FORMAT A: /F:180|
00002CB0: 20 2F 43 3A 31 20 2F 44  3A 36 34 0A 20 0A 20 0A  | /C:1 /D:64. . .|
00002CC0: 20 20 54 68 65 73 65 20  61 72 65 20 74 68 65 20  |  These are the |
00002CD0: 62 6F 6F 74 20 73 65 63  74 6F 72 20 70 61 72 61  |boot sector para|
00002CE0: 6D 65 74 65 72 73 20 66  6F 72 20 61 20 31 35 34  |meters for a 154|
00002CF0: 31 2D 72 65 61 64 73 2D  64 6F 73 20 72 65 61 64  |1-reads-dos read|
00002D00: 61 62 6C 65 20 64 69 73  6B 3A 0A 20 0A 20 20 20  |able disk:. .   |
00002D10: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 42 79  |              By|
00002D20: 74 65 73 20 70 65 72 20  73 65 63 74 6F 72 3A 20  |tes per sector: |
00002D30: 35 31 32 0A 20 20 20 20  20 20 20 20 20 20 20 20  |512.            |
00002D40: 20 20 53 65 63 74 6F 72  73 20 70 65 72 20 43 6C  |  Sectors per Cl|
00002D50: 75 73 74 65 72 3A 20 31  0A 20 20 20 20 52 65 73  |uster: 1.    Res|
00002D60: 65 72 76 65 64 20 53 65  63 74 6F 72 73 20 61 74  |erved Sectors at|
00002D70: 20 62 65 67 69 6E 6E 69  6E 67 3A 20 31 0A 20 20  | beginning: 1.  |
00002D80: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002D90: 20 20 20 20 20 46 41 54  20 43 6F 70 69 65 73 3A  |     FAT Copies:|
00002DA0: 20 32 0A 20 20 20 20 20  20 20 20 20 20 20 52 6F  | 2.           Ro|
00002DB0: 6F 74 20 64 69 72 65 63  74 6F 72 79 20 65 6E 74  |ot directory ent|
00002DC0: 72 69 65 73 3A 20 36 34  0A 20 20 20 20 20 20 20  |ries: 64.       |
00002DD0: 20 20 20 20 20 54 6F 74  61 6C 20 73 65 63 74 6F  |     Total secto|
00002DE0: 72 73 20 6F 6E 20 64 69  73 6B 3A 20 33 36 30 0A  |rs on disk: 360.|
00002DF0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002E00: 20 20 53 65 63 74 6F 72  73 20 70 65 72 20 46 41  |  Sectors per FA|
00002E10: 54 3A 20 32 0A 20 20 20  20 20 20 20 20 20 20 20  |T: 2.           |
00002E20: 20 20 20 20 20 53 65 63  74 6F 72 73 20 70 65 72  |     Sectors per|
00002E30: 20 74 72 61 63 6B 3A 20  39 0A 20 20 20 20 20 20  | track: 9.      |
00002E40: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002E50: 20 20 20 20 20 20 53 69  64 65 73 3A 20 31 0A 20  |      Sides: 1. |
00002E60: 0A 20 0A 20 0A 20 20 48  69 67 68 20 64 65 6E 73  |. . .  High dens|
00002E70: 69 74 79 20 64 72 69 76  65 73 20 75 73 65 20 61  |ity drives use a|
00002E80: 20 6E 61 72 72 6F 77 65  72 20 72 65 61 64 2F 77  | narrower read/w|
00002E90: 72 69 74 65 20 68 65 61  64 20 74 68 61 6E 20 64  |rite head than d|
00002EA0: 6F 75 62 6C 65 0A 64 65  6E 73 69 74 79 20 64 72  |ouble.density dr|
00002EB0: 69 76 65 73 20 61 6E 64  20 74 68 65 20 31 35 34  |ives and the 154|
00002EC0: 31 2E 20 54 68 65 72 65  66 6F 72 65 2C 20 79 6F  |1. Therefore, yo|
00002ED0: 75 20 73 68 6F 75 6C 64  20 6E 6F 74 20 77 72 69  |u should not wri|
00002EE0: 74 65 20 74 6F 20 61 20  64 6F 75 62 6C 65 0A 64  |te to a double.d|
00002EF0: 65 6E 73 69 74 79 20 64  69 73 6B 20 77 69 74 68  |ensity disk with|
00002F00: 20 61 20 68 69 67 68 20  64 65 6E 73 69 74 79 20  | a high density |
00002F10: 64 72 69 76 65 20 69 66  20 74 68 65 20 64 69 73  |drive if the dis|
00002F20: 6B 20 68 61 73 20 70 72  65 76 69 6F 75 73 6C 79  |k has previously|
00002F30: 20 62 65 65 6E 0A 77 72  69 74 74 65 6E 20 74 6F  | been.written to|
00002F40: 20 62 79 20 6F 6E 65 20  6F 66 20 74 68 6F 73 65  | by one of those|
00002F50: 20 64 72 69 76 65 73 20  77 69 74 68 20 69 74 73  | drives with its|
00002F60: 20 77 69 64 65 72 20 72  65 61 64 2F 77 72 69 74  | wider read/writ|
00002F70: 65 20 68 65 61 64 2E 0A  20 0A 2D 2D 2D 2D 2D 2D  |e head.. .------|
00002F80: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00002F90: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00002FA0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00002FB0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00002FC0: 2D 0A 20 0A 34 29 20 54  52 41 4E 53 46 45 52 52  |-. .4) TRANSFERR|
00002FD0: 49 4E 47 20 46 49 4C 45  53 20 46 52 4F 4D 20 4D  |ING FILES FROM M|
00002FE0: 53 2D 44 4F 53 20 44 49  53 4B 53 20 54 4F 20 43  |S-DOS DISKS TO C|
00002FF0: 42 4D 20 44 49 53 4B 53  20 57 49 54 48 0A 20 20  |BM DISKS WITH.  |
00003000: 20 22 31 35 34 31 2D 72  65 61 64 73 2D 64 6F 73  | "1541-reads-dos|
00003010: 22 0A 0A 20 20 59 6F 75  20 6E 65 65 64 20 74 68  |"..  You need th|
00003020: 65 20 70 72 6F 67 72 61  6D 20 31 35 34 31 2D 72  |e program 1541-r|
00003030: 65 61 64 73 2D 64 6F 73  20 74 6F 20 72 65 61 64  |eads-dos to read|
00003040: 20 66 69 6C 65 73 20 66  72 6F 6D 20 4D 53 2D 44  | files from MS-D|
00003050: 4F 53 20 64 69 73 6B 73  2E 0A 49 66 20 79 6F 75  |OS disks..If you|
00003060: 20 68 61 76 65 20 6E 6F  20 6F 74 68 65 72 20 77  | have no other w|
00003070: 61 79 20 6F 66 20 74 72  61 6E 73 66 65 72 72 69  |ay of transferri|
00003080: 6E 67 20 69 74 20 74 6F  20 74 68 65 20 43 36 34  |ng it to the C64|
00003090: 2C 20 79 6F 75 20 63 61  6E 20 74 79 70 65 20 69  |, you can type i|
000030A0: 6E 0A 74 68 65 20 42 41  53 49 43 20 6C 69 73 74  |n.the BASIC list|
000030B0: 69 6E 67 20 6F 66 20 31  35 34 31 2D 64 6F 73 2E  |ing of 1541-dos.|
000030C0: 62 6F 6F 74 20 69 6E 20  41 70 70 65 6E 64 69 78  |boot in Appendix|
000030D0: 20 41 20 74 6F 20 72 65  61 64 20 31 35 34 31 2D  | A to read 1541-|
000030E0: 64 6F 73 2E 73 66 78 0A  66 6F 72 20 74 68 65 20  |dos.sfx.for the |
000030F0: 66 69 72 73 74 20 74 69  6D 65 2E 0A 0A 20 20 54  |first time...  T|
00003100: 68 65 20 70 72 6F 67 72  61 6D 20 31 35 34 31 2D  |he program 1541-|
00003110: 72 65 61 64 73 2D 64 6F  73 20 63 6F 70 69 65 73  |reads-dos copies|
00003120: 20 66 69 6C 65 73 20 69  6E 20 74 68 65 20 72 6F  | files in the ro|
00003130: 6F 74 20 64 69 72 65 63  74 6F 72 79 20 6F 66 20  |ot directory of |
00003140: 61 0A 31 38 30 20 4B 42  20 4D 53 2D 44 4F 53 20  |a.180 KB MS-DOS |
00003150: 64 69 73 6B 20 74 6F 20  61 20 43 42 4D 20 64 69  |disk to a CBM di|
00003160: 73 6B 2E 0A 20 0A 20 20  49 74 20 63 61 6E 20 62  |sk.. .  It can b|
00003170: 65 20 6C 6F 61 64 65 64  20 61 6E 64 20 73 74 61  |e loaded and sta|
00003180: 72 74 65 64 20 6C 69 6B  65 20 61 20 42 41 53 49  |rted like a BASI|
00003190: 43 20 70 72 6F 67 72 61  6D 2E 20 54 68 65 20 75  |C program. The u|
000031A0: 73 65 72 0A 69 6E 74 65  72 66 61 63 65 20 69 73  |ser.interface is|
000031B0: 20 64 69 61 6C 6F 67 75  65 20 6F 72 69 65 6E 74  | dialogue orient|
000031C0: 65 64 2C 20 73 6F 20 79  6F 75 20 68 61 76 65 20  |ed, so you have |
000031D0: 74 6F 20 69 6E 70 75 74  20 64 61 74 61 20 77 68  |to input data wh|
000031E0: 65 6E 20 61 73 6B 65 64  0A 66 6F 72 20 69 74 2E  |en asked.for it.|
000031F0: 20 59 6F 75 20 63 61 6E  20 61 63 63 65 70 74 20  | You can accept |
00003200: 64 65 66 61 75 6C 74 20  76 61 6C 75 65 73 20 62  |default values b|
00003210: 79 20 73 69 6D 70 6C 79  20 70 72 65 73 73 69 6E  |y simply pressin|
00003220: 67 20 74 68 65 0A 52 45  54 55 52 4E 2D 6B 65 79  |g the.RETURN-key|
00003230: 2E 0A 20 0A 20 20 41 74  20 74 68 65 20 62 65 67  |.. .  At the beg|
00003240: 69 6E 6E 69 6E 67 20 69  74 20 77 69 6C 6C 20 61  |inning it will a|
00003250: 73 6B 20 66 6F 72 20 74  68 65 20 64 65 76 69 63  |sk for the devic|
00003260: 65 20 6E 75 6D 62 65 72  20 6F 66 20 74 68 65 20  |e number of the |
00003270: 31 35 34 31 20 64 72 69  76 65 0A 6D 6F 64 69 66  |1541 drive.modif|
00003280: 69 65 64 20 66 6F 72 20  4D 46 4D 20 72 65 61 64  |ied for MFM read|
00003290: 69 6E 67 2E 20 54 68 69  73 20 69 73 20 74 68 65  |ing. This is the|
000032A0: 20 64 72 69 76 65 20 74  68 65 20 4D 53 2D 44 4F  | drive the MS-DO|
000032B0: 53 20 73 6F 75 72 63 65  20 64 69 73 6B 0A 77 69  |S source disk.wi|
000032C0: 6C 6C 20 62 65 20 72 65  61 64 20 66 72 6F 6D 2E  |ll be read from.|
000032D0: 20 4E 65 78 74 20 79 6F  75 20 68 61 76 65 20 74  | Next you have t|
000032E0: 6F 20 65 6E 74 65 72 20  74 68 65 20 64 65 76 69  |o enter the devi|
000032F0: 63 65 20 6E 75 6D 62 65  72 20 6F 66 20 74 68 65  |ce number of the|
00003300: 0A 64 72 69 76 65 20 74  68 65 20 66 69 6C 65 20  |.drive the file |
00003310: 73 68 61 6C 6C 20 62 65  20 63 6F 70 69 65 64 20  |shall be copied |
00003320: 74 6F 2E 20 54 68 69 73  20 63 61 6E 20 62 65 20  |to. This can be |
00003330: 61 6E 79 20 43 6F 6D 6D  6F 64 6F 72 65 20 63 6F  |any Commodore co|
00003340: 6D 70 61 74 69 62 6C 65  0A 64 69 73 6B 20 64 72  |mpatible.disk dr|
00003350: 69 76 65 2E 20 59 6F 75  20 63 61 6E 20 65 6E 74  |ive. You can ent|
00003360: 65 72 20 65 71 75 61 6C  20 6E 75 6D 62 65 72 73  |er equal numbers|
00003370: 20 66 6F 72 20 62 6F 74  68 20 64 72 69 76 65 73  | for both drives|
00003380: 3B 20 74 68 65 20 70 72  6F 67 72 61 6D 0A 77 69  |; the program.wi|
00003390: 6C 6C 20 74 68 65 6E 20  77 6F 72 6B 20 77 69 74  |ll then work wit|
000033A0: 68 20 61 20 73 69 6E 67  6C 65 20 31 35 34 31 20  |h a single 1541 |
000033B0: 64 69 73 6B 20 64 72 69  76 65 2E 20 48 6F 77 65  |disk drive. Howe|
000033C0: 76 65 72 2C 20 74 68 65  20 70 72 6F 67 72 61 6D  |ver, the program|
000033D0: 0A 77 69 6C 6C 20 62 65  20 61 20 62 69 74 20 73  |.will be a bit s|
000033E0: 6C 6F 77 65 72 20 61 6E  64 20 79 6F 75 20 77 69  |lower and you wi|
000033F0: 6C 6C 20 68 61 76 65 20  74 6F 20 73 77 61 70 20  |ll have to swap |
00003400: 64 69 73 6B 73 20 71 75  69 74 65 0A 66 72 65 71  |disks quite.freq|
00003410: 75 65 6E 74 6C 79 2E 0A  20 0A 20 20 59 6F 75 20  |uently.. .  You |
00003420: 6D 61 79 20 74 68 65 6E  20 6C 65 74 20 74 68 65  |may then let the|
00003430: 20 70 72 6F 67 72 61 6D  20 73 74 61 72 74 20 72  | program start r|
00003440: 65 61 64 69 6E 67 20 66  6F 72 6D 61 74 20 61 6E  |eading format an|
00003450: 64 20 64 69 72 65 63 74  6F 72 79 0A 69 6E 66 6F  |d directory.info|
00003460: 72 6D 61 74 69 6F 6E 20  66 72 6F 6D 20 61 6E 20  |rmation from an |
00003470: 4D 53 2D 44 4F 53 20 64  69 73 6B 2E 20 4F 6E 6C  |MS-DOS disk. Onl|
00003480: 79 20 74 68 65 20 72 6F  6F 74 20 64 69 72 65 63  |y the root direc|
00003490: 74 6F 72 79 20 69 73 0A  73 75 70 70 6F 72 74 65  |tory is.supporte|
000034A0: 64 20 2D 2D 20 79 6F 75  20 63 61 6E 20 6E 6F 74  |d -- you can not|
000034B0: 20 63 6F 70 79 20 66 72  6F 6D 20 73 75 62 64 69  | copy from subdi|
000034C0: 72 65 63 74 6F 72 69 65  73 2E 0A 20 0A 20 20 57  |rectories.. .  W|
000034D0: 69 74 68 20 65 61 63 68  20 66 69 6C 65 20 79 6F  |ith each file yo|
000034E0: 75 20 61 72 65 20 67 69  76 65 6E 20 74 68 65 20  |u are given the |
000034F0: 6F 70 74 69 6F 6E 20 6F  66 20 63 6F 70 79 69 6E  |option of copyin|
00003500: 67 20 69 74 20 74 6F 20  61 20 43 42 4D 20 64 69  |g it to a CBM di|
00003510: 73 6B 2E 20 49 66 0A 79  6F 75 20 64 65 63 69 64  |sk. If.you decid|
00003520: 65 20 74 6F 20 63 6F 70  79 20 61 20 66 69 6C 65  |e to copy a file|
00003530: 2C 20 79 6F 75 20 6D 75  73 74 20 65 6E 74 65 72  |, you must enter|
00003540: 20 61 20 74 65 78 74 20  63 6F 6E 76 65 72 73 69  | a text conversi|
00003550: 6F 6E 20 6E 75 6D 62 65  72 2E 0A 49 66 20 79 6F  |on number..If yo|
00003560: 75 20 65 6E 74 65 72 20  30 2C 20 74 68 65 20 66  |u enter 0, the f|
00003570: 69 6C 65 20 77 69 6C 6C  20 62 65 20 63 6F 70 69  |ile will be copi|
00003580: 65 64 20 77 69 74 68 6F  75 74 20 63 6F 6E 76 65  |ed without conve|
00003590: 72 73 69 6F 6E 2E 20 57  69 74 68 20 6E 75 6D 62  |rsion. With numb|
000035A0: 65 72 0A 31 2C 20 79 6F  75 20 73 65 6C 65 63 74  |er.1, you select|
000035B0: 20 63 6F 6E 76 65 72 73  69 6F 6E 20 66 72 6F 6D  | conversion from|
000035C0: 20 41 53 43 49 49 20 74  6F 20 43 42 4D 20 63 68  | ASCII to CBM ch|
000035D0: 61 72 61 63 74 65 72 20  73 65 74 20 28 50 45 54  |aracter set (PET|
000035E0: 53 43 49 49 29 3B 0A 6E  75 6D 62 65 72 20 32 20  |SCII);.number 2 |
000035F0: 73 74 61 6E 64 73 20 66  6F 72 20 63 6F 6E 76 65  |stands for conve|
00003600: 72 73 69 6F 6E 20 66 72  6F 6D 20 41 53 43 49 49  |rsion from ASCII|
00003610: 20 74 6F 20 44 61 74 61  20 42 65 63 6B 65 72 20  | to Data Becker |
00003620: 43 2D 65 64 69 74 6F 72  0A 66 6F 72 6D 61 74 2E  |C-editor.format.|
00003630: 20 54 68 65 20 6C 61 74  74 65 72 20 75 73 65 73  | The latter uses|
00003640: 20 74 68 65 20 43 42 4D  20 63 68 61 72 61 63 74  | the CBM charact|
00003650: 65 72 20 73 65 74 20 65  78 74 65 6E 64 65 64 20  |er set extended |
00003660: 62 79 20 63 68 61 72 61  63 74 65 72 73 0A 6E 65  |by characters.ne|
00003670: 65 64 65 64 20 66 6F 72  20 74 68 65 20 70 72 6F  |eded for the pro|
00003680: 67 72 61 6D 6D 69 6E 67  20 6C 61 6E 67 75 61 67  |gramming languag|
00003690: 65 20 43 2E 0A 20 0A 20  20 43 68 61 72 61 63 74  |e C.. .  Charact|
000036A0: 65 72 73 20 74 68 61 74  20 64 6F 20 6E 6F 74 20  |ers that do not |
000036B0: 65 78 69 73 74 20 69 6E  20 74 68 65 20 64 65 73  |exist in the des|
000036C0: 74 69 6E 61 74 69 6F 6E  20 63 68 61 72 61 63 74  |tination charact|
000036D0: 65 72 20 73 65 74 20 61  72 65 0A 69 67 6E 6F 72  |er set are.ignor|
000036E0: 65 64 2E 20 54 61 62 20  63 68 61 72 61 63 74 65  |ed. Tab characte|
000036F0: 72 73 20 61 72 65 20 63  6F 6E 76 65 72 74 65 64  |rs are converted|
00003700: 20 74 6F 20 73 69 6E 67  6C 65 20 73 70 61 63 65  | to single space|
00003710: 73 2E 0A 20 20 4E 6F 74  65 20 74 68 61 74 20 75  |s..  Note that u|
00003720: 75 65 6E 63 6F 64 65 64  20 66 69 6C 65 73 20 63  |uencoded files c|
00003730: 61 6E 20 63 6F 6E 74 61  69 6E 20 63 68 61 72 61  |an contain chara|
00003740: 63 74 65 72 73 20 28 62  61 63 6B 73 6C 61 73 68  |cters (backslash|
00003750: 20 61 6E 64 0A 75 6E 64  65 72 73 63 6F 72 65 29  | and.underscore)|
00003760: 20 74 68 61 74 20 64 6F  20 6E 6F 74 20 65 78 69  | that do not exi|
00003770: 73 74 20 69 6E 20 43 42  4D 20 63 68 61 72 61 63  |st in CBM charac|
00003780: 74 65 72 20 73 65 74 2E  0A 0A 20 20 49 6E 20 64  |ter set...  In d|
00003790: 65 74 61 69 6C 2C 20 63  6F 6E 76 65 72 73 69 6F  |etail, conversio|
000037A0: 6E 20 69 73 20 64 6F 6E  65 20 61 63 63 6F 72 64  |n is done accord|
000037B0: 69 6E 67 20 74 6F 20 74  68 65 20 66 6F 6C 6C 6F  |ing to the follo|
000037C0: 77 69 6E 67 20 74 61 62  6C 65 73 3A 0A 20 0A 20  |wing tables:. . |
000037D0: 20 20 20 41 53 43 49 49  20 20 20 20 20 2D 3E 20  |   ASCII     -> |
000037E0: 20 20 20 43 42 4D 0A 20  20 20 20 2D 2D 2D 2D 2D  |   CBM.    -----|
000037F0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 0A 20  |--------------. |
00003800: 20 20 20 30 2E 2E 37 20  20 20 20 20 20 20 20 20  |   0..7         |
00003810: 20 20 20 2D 0A 20 20 20  20 38 20 20 20 20 20 20  |   -.    8      |
00003820: 20 20 20 20 20 20 20 20  20 33 32 0A 20 20 20 20  |         32.    |
00003830: 39 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |9               |
00003840: 2D 0A 20 20 20 20 31 30  20 20 20 20 20 20 20 20  |-.    10        |
00003850: 20 20 20 20 20 20 31 33  0A 20 20 20 20 31 31 2E  |      13.    11.|
00003860: 2E 33 31 20 20 20 20 20  20 20 20 20 20 2D 0A 20  |.31          -. |
00003870: 20 20 20 33 32 2E 2E 36  34 20 20 20 20 20 20 20  |   32..64       |
00003880: 20 20 20 33 32 2E 2E 36  34 0A 20 20 20 20 36 35  |   32..64.    65|
00003890: 2E 2E 39 30 20 20 20 20  20 20 20 20 20 20 31 39  |..90          19|
000038A0: 33 2E 2E 32 31 38 0A 20  20 20 20 39 31 20 20 20  |3..218.    91   |
000038B0: 20 20 20 20 20 20 20 20  20 20 20 39 31 0A 20 20  |           91.  |
000038C0: 20 20 39 32 20 20 20 20  20 20 20 20 20 20 20 20  |  92            |
000038D0: 20 20 2D 0A 20 20 20 20  39 33 2E 2E 39 34 20 20  |  -.    93..94  |
000038E0: 20 20 20 20 20 20 20 20  39 33 2E 2E 39 34 0A 20  |        93..94. |
000038F0: 20 20 20 39 35 2E 2E 39  36 20 20 20 20 20 20 20  |   95..96       |
00003900: 20 20 20 2D 0A 20 20 20  20 39 37 2E 2E 31 32 32  |   -.    97..122|
00003910: 20 20 20 20 20 20 20 20  20 36 35 2E 2E 39 30 0A  |         65..90.|
00003920: 20 20 20 20 31 32 33 2E  2E 32 35 35 20 20 20 20  |    123..255    |
00003930: 20 20 20 20 2D 0A 20 0A  20 20 20 20 41 53 43 49  |    -. .    ASCI|
00003940: 49 20 20 20 20 20 2D 3E  20 20 20 20 43 2D 65 64  |I     ->    C-ed|
00003950: 69 74 6F 72 0A 20 20 20  20 2D 2D 2D 2D 2D 2D 2D  |itor.    -------|
00003960: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00003970: 2D 0A 20 20 20 20 30 2E  2E 37 20 20 20 20 20 20  |-.    0..7      |
00003980: 20 20 20 20 20 20 2D 0A  20 20 20 20 38 20 20 20  |      -.    8   |
00003990: 20 20 20 20 20 20 20 20  20 20 20 20 33 32 0A 20  |            32. |
000039A0: 20 20 20 39 20 20 20 20  20 20 20 20 20 20 20 20  |   9            |
000039B0: 20 20 20 2D 0A 20 20 20  20 31 30 20 20 20 20 20  |   -.    10     |
000039C0: 20 20 20 20 20 20 20 20  20 31 33 0A 20 20 20 20  |         13.    |
000039D0: 31 31 2E 2E 33 31 20 20  20 20 20 20 20 20 20 20  |11..31          |
000039E0: 2D 0A 20 20 20 20 33 32  2E 2E 36 34 20 20 20 20  |-.    32..64    |
000039F0: 20 20 20 20 20 20 33 32  2E 2E 36 34 0A 20 20 20  |      32..64.   |
00003A00: 20 36 35 2E 2E 39 30 20  20 20 20 20 20 20 20 20  | 65..90         |
00003A10: 20 31 39 33 2E 2E 32 31  38 0A 20 20 20 20 39 31  | 193..218.    91|
00003A20: 2E 2E 39 35 20 20 20 20  20 20 20 20 20 20 39 31  |..95          91|
00003A30: 2E 2E 39 35 0A 20 20 20  20 39 36 20 20 20 20 20  |..95.    96     |
00003A40: 20 20 20 20 20 20 20 20  20 2D 0A 20 20 20 20 39  |         -.    9|
00003A50: 37 2E 2E 31 32 32 20 20  20 20 20 20 20 20 20 36  |7..122         6|
00003A60: 35 2E 2E 39 30 0A 20 20  20 20 31 32 33 2E 2E 31  |5..90.    123..1|
00003A70: 32 36 20 20 20 20 20 20  20 20 32 31 39 2E 2E 32  |26        219..2|
00003A80: 32 32 0A 20 20 20 20 31  32 37 2E 2E 32 35 35 20  |22.    127..255 |
00003A90: 20 20 20 20 20 20 20 2D  0A 20 0A 20 20 54 65 78  |       -. .  Tex|
00003AA0: 74 20 63 6F 6E 76 65 72  73 69 6F 6E 20 63 61 6E  |t conversion can|
00003AB0: 20 74 61 6B 65 20 71 75  69 74 65 20 61 20 77 68  | take quite a wh|
00003AC0: 69 6C 65 2C 20 6C 65 61  64 69 6E 67 20 74 6F 20  |ile, leading to |
00003AD0: 70 61 75 73 65 73 20 64  75 72 69 6E 67 20 74 68  |pauses during th|
00003AE0: 65 0A 63 6F 70 79 20 70  72 6F 63 65 73 73 2E 0A  |e.copy process..|
00003AF0: 20 0A 20 20 41 66 74 65  72 20 73 65 6C 65 63 74  | .  After select|
00003B00: 69 6E 67 20 74 68 65 20  63 6F 6E 76 65 72 73 69  |ing the conversi|
00003B10: 6F 6E 20 6E 75 6D 62 65  72 20 79 6F 75 20 63 61  |on number you ca|
00003B20: 6E 20 73 70 65 63 69 66  79 20 74 68 65 20 64 65  |n specify the de|
00003B30: 73 74 69 6E 61 74 69 6F  6E 0A 66 69 6C 65 20 74  |stination.file t|
00003B40: 79 70 65 2E 20 50 52 47  2D 2C 20 53 45 51 2D 20  |ype. PRG-, SEQ- |
00003B50: 61 6E 64 20 55 53 52 2D  66 69 6C 65 73 20 63 61  |and USR-files ca|
00003B60: 6E 20 62 65 20 63 72 65  61 74 65 64 2E 0A 20 0A  |n be created.. .|
00003B70: 20 20 4E 65 78 74 2C 20  74 68 65 20 6E 61 6D 65  |  Next, the name|
00003B80: 20 6F 66 20 74 68 65 20  64 65 73 74 69 6E 61 74  | of the destinat|
00003B90: 69 6F 6E 20 66 69 6C 65  20 68 61 73 20 74 6F 20  |ion file has to |
00003BA0: 62 65 20 65 6E 74 65 72  65 64 2E 20 54 68 65 20  |be entered. The |
00003BB0: 64 65 66 61 75 6C 74 0A  66 69 6C 65 6E 61 6D 65  |default.filename|
00003BC0: 20 69 73 20 74 68 65 20  4D 53 2D 44 4F 53 20 6E  | is the MS-DOS n|
00003BD0: 61 6D 65 20 77 69 74 68  20 6C 6F 77 65 72 20 63  |ame with lower c|
00003BE0: 61 73 65 20 6C 65 74 74  65 72 73 2E 0A 20 0A 20  |ase letters.. . |
00003BF0: 20 41 66 74 65 72 20 66  69 6C 65 73 20 68 61 76  | After files hav|
00003C00: 65 20 62 65 65 6E 20 73  65 6C 65 63 74 65 64 20  |e been selected |
00003C10: 74 68 65 20 63 6F 70 79  20 70 72 6F 63 65 73 73  |the copy process|
00003C20: 20 63 61 6E 20 62 65 20  73 74 61 72 74 65 64 2E  | can be started.|
00003C30: 20 57 69 74 68 0A 64 69  66 66 65 72 65 6E 74 20  | With.different |
00003C40: 73 6F 75 72 63 65 20 61  6E 64 20 64 65 73 74 69  |source and desti|
00003C50: 6E 61 74 69 6F 6E 20 64  69 73 6B 20 64 72 69 76  |nation disk driv|
00003C60: 65 73 20 61 6C 6C 20 66  69 6C 65 73 20 61 72 65  |es all files are|
00003C70: 20 63 6F 70 69 65 64 0A  77 69 74 68 6F 75 74 20  | copied.without |
00003C80: 61 6E 79 20 66 75 72 74  68 65 72 20 75 73 65 72  |any further user|
00003C90: 20 69 6E 74 65 72 61 63  74 69 6F 6E 20 6E 65 63  | interaction nec|
00003CA0: 65 73 73 61 72 79 2E 0A  20 0A 20 20 57 68 65 6E  |essary.. .  When|
00003CB0: 20 61 20 73 69 6E 67 6C  65 20 64 72 69 76 65 20  | a single drive |
00003CC0: 69 73 20 75 73 65 64 2C  20 79 6F 75 20 68 61 76  |is used, you hav|
00003CD0: 65 20 74 6F 20 73 77 61  70 20 64 69 73 6B 73 20  |e to swap disks |
00003CE0: 66 6F 72 20 65 76 65 72  79 20 66 69 6C 65 2E 0A  |for every file..|
00003CF0: 4C 6F 6E 67 20 66 69 6C  65 73 20 72 65 71 75 69  |Long files requi|
00003D00: 72 65 20 61 64 64 69 74  69 6F 6E 61 6C 20 73 77  |re additional sw|
00003D10: 61 70 70 69 6E 67 2E 0A  20 0A 20 20 41 74 20 74  |apping.. .  At t|
00003D20: 68 65 20 65 6E 64 20 79  6F 75 20 63 61 6E 20 64  |he end you can d|
00003D30: 65 63 69 64 65 20 74 6F  20 73 74 61 72 74 20 63  |ecide to start c|
00003D40: 6F 70 79 69 6E 67 20 66  72 6F 6D 20 61 6E 6F 74  |opying from anot|
00003D50: 68 65 72 20 4D 53 2D 44  4F 53 20 64 69 73 6B 2E  |her MS-DOS disk.|
00003D60: 0A 4F 74 68 65 72 77 69  73 65 20 74 68 65 20 70  |.Otherwise the p|
00003D70: 72 6F 67 72 61 6D 20 77  69 6C 6C 20 62 65 20 74  |rogram will be t|
00003D80: 65 72 6D 69 6E 61 74 65  64 20 62 79 20 69 73 73  |erminated by iss|
00003D90: 75 69 6E 67 20 61 20 72  65 73 65 74 20 6F 66 20  |uing a reset of |
00003DA0: 62 6F 74 68 20 74 68 65  0A 43 36 34 20 61 6E 64  |both the.C64 and|
00003DB0: 20 74 68 65 20 4D 46 4D  2D 20 64 69 73 6B 20 64  | the MFM- disk d|
00003DC0: 72 69 76 65 2E 0A 20 0A  2D 2D 2D 2D 2D 2D 2D 2D  |rive.. .--------|
00003DD0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00003DE0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00003DF0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00003E00: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 0A  |---------------.|
00003E10: 20 0A 35 29 20 54 52 41  4E 53 46 45 52 52 49 4E  | .5) TRANSFERRIN|
00003E20: 47 20 46 49 4C 45 53 20  46 52 4F 4D 20 43 42 4D  |G FILES FROM CBM|
00003E30: 20 44 49 53 4B 53 20 54  4F 20 4D 53 2D 44 4F 53  | DISKS TO MS-DOS|
00003E40: 20 44 49 53 4B 53 20 57  49 54 48 0A 20 20 20 22  | DISKS WITH.   "|
00003E50: 31 35 34 31 2D 77 72 69  74 65 73 2D 39 30 6B 22  |1541-writes-90k"|
00003E60: 20 41 4E 44 20 22 72 65  61 64 39 30 6B 2E 63 6F  | AND "read90k.co|
00003E70: 6D 22 0A 20 0A 20 20 41  20 73 70 65 63 69 61 6C  |m". .  A special|
00003E80: 20 39 30 6B 2D 66 6F 72  6D 61 74 20 69 73 20 75  | 90k-format is u|
00003E90: 73 65 64 20 66 6F 72 20  74 72 61 6E 73 66 65 72  |sed for transfer|
00003EA0: 72 69 6E 67 20 66 69 6C  65 73 20 74 6F 20 4D 53  |ring files to MS|
00003EB0: 2D 44 4F 53 0A 63 6F 6D  70 75 74 65 72 73 2E 20  |-DOS.computers. |
00003EC0: 54 68 69 73 20 69 73 20  6E 6F 74 20 61 20 72 65  |This is not a re|
00003ED0: 67 75 6C 61 72 20 4D 53  2D 44 4F 53 20 66 6F 72  |gular MS-DOS for|
00003EE0: 6D 61 74 2C 20 61 6C 74  68 6F 75 67 68 20 69 74  |mat, although it|
00003EF0: 20 75 73 65 73 0A 66 6F  72 6D 61 74 74 65 64 20  | uses.formatted |
00003F00: 31 38 30 20 4B 42 20 4D  53 2D 44 4F 53 20 64 69  |180 KB MS-DOS di|
00003F10: 73 6B 73 2E 0A 20 0A 20  20 54 68 65 20 70 72 6F  |sks.. .  The pro|
00003F20: 67 72 61 6D 20 31 35 34  31 2D 77 72 69 74 65 73  |gram 1541-writes|
00003F30: 2D 39 30 6B 20 77 72 69  74 65 73 20 61 20 66 69  |-90k writes a fi|
00003F40: 6C 65 20 77 69 74 68 20  61 20 6D 61 78 69 6D 75  |le with a maximu|
00003F50: 6D 20 6C 65 6E 67 74 68  20 6F 66 0A 39 31 39 30  |m length of.9190|
00003F60: 34 20 62 79 74 65 73 20  74 6F 20 61 20 64 69 73  |4 bytes to a dis|
00003F70: 6B 20 75 73 69 6E 67 20  74 68 65 20 39 30 6B 2D  |k using the 90k-|
00003F80: 66 6F 72 6D 61 74 2E 20  41 6C 6C 20 70 72 65 76  |format. All prev|
00003F90: 69 6F 75 73 20 64 61 74  61 20 6F 6E 20 74 68 69  |ious data on thi|
00003FA0: 73 0A 64 69 73 6B 20 69  73 20 6F 76 65 72 77 72  |s.disk is overwr|
00003FB0: 69 74 74 65 6E 2E 20 41  73 20 6F 6E 6C 79 20 6F  |itten. As only o|
00003FC0: 6E 65 20 66 69 6C 65 20  70 65 72 20 64 69 73 6B  |ne file per disk|
00003FD0: 20 63 61 6E 20 62 65 20  77 72 69 74 74 65 6E 2C  | can be written,|
00003FE0: 20 79 6F 75 20 6E 65 65  64 0A 74 6F 20 68 61 76  | you need.to hav|
00003FF0: 65 20 61 73 20 6D 61 6E  79 20 66 6F 72 6D 61 74  |e as many format|
00004000: 74 65 64 20 64 69 73 6B  73 20 61 76 61 69 6C 61  |ted disks availa|
00004010: 62 6C 65 20 61 73 20 66  69 6C 65 73 20 79 6F 75  |ble as files you|
00004020: 20 77 61 6E 74 20 74 6F  20 63 6F 70 79 2E 0A 20  | want to copy.. |
00004030: 0A 20 20 54 68 65 20 70  72 6F 67 72 61 6D 20 72  |.  The program r|
00004040: 65 61 64 39 30 6B 2E 63  6F 6D 20 69 73 20 75 73  |ead90k.com is us|
00004050: 65 64 20 6F 6E 20 61 6E  20 4D 53 2D 44 4F 53 20  |ed on an MS-DOS |
00004060: 63 6F 6D 70 75 74 65 72  20 74 6F 20 72 65 61 64  |computer to read|
00004070: 20 66 69 6C 65 73 0A 66  72 6F 6D 20 73 75 63 68  | files.from such|
00004080: 20 64 69 73 6B 73 20 61  6E 64 20 73 61 76 65 20  | disks and save |
00004090: 74 68 65 6D 20 61 73 20  72 65 67 75 6C 61 72 20  |them as regular |
000040A0: 66 69 6C 65 73 20 6F 6E  20 61 6E 6F 74 68 65 72  |files on another|
000040B0: 20 64 72 69 76 65 2E 0A  20 0A 20 20 4C 69 6B 65  | drive.. .  Like|
000040C0: 20 31 35 34 31 2D 72 65  61 64 73 2D 64 6F 73 2C  | 1541-reads-dos,|
000040D0: 20 74 68 65 20 70 72 6F  67 72 61 6D 20 31 35 34  | the program 154|
000040E0: 31 2D 77 72 69 74 65 73  2D 39 30 6B 20 63 61 6E  |1-writes-90k can|
000040F0: 20 62 65 20 6C 6F 61 64  65 64 20 61 6E 64 0A 73  | be loaded and.s|
00004100: 74 61 72 74 65 64 20 6C  69 6B 65 20 61 20 42 41  |tarted like a BA|
00004110: 53 49 43 20 70 72 6F 67  72 61 6D 2E 20 48 6F 77  |SIC program. How|
00004120: 65 76 65 72 2C 20 79 6F  75 20 73 68 6F 75 6C 64  |ever, you should|
00004130: 20 6B 6E 6F 77 20 74 68  65 20 66 69 6C 65 6E 61  | know the filena|
00004140: 6D 65 20 6F 66 0A 74 68  65 20 70 72 6F 67 72 61  |me of.the progra|
00004150: 6D 73 20 79 6F 75 20 77  61 6E 74 20 74 6F 20 77  |ms you want to w|
00004160: 72 69 74 65 20 62 65 66  6F 72 65 68 61 6E 64 20  |rite beforehand |
00004170: 61 73 20 74 68 65 72 65  20 69 73 20 6E 6F 20 6F  |as there is no o|
00004180: 70 74 69 6F 6E 20 74 6F  0A 64 69 73 70 6C 61 79  |ption to.display|
00004190: 20 61 20 64 69 72 65 63  74 6F 72 79 20 77 68 69  | a directory whi|
000041A0: 6C 65 20 74 68 65 20 70  72 6F 67 72 61 6D 20 69  |le the program i|
000041B0: 73 20 72 75 6E 6E 69 6E  67 2E 0A 20 0A 20 20 54  |s running.. .  T|
000041C0: 68 65 20 70 72 6F 67 72  61 6D 20 61 6C 73 6F 20  |he program also |
000041D0: 61 73 6B 73 20 66 6F 72  20 74 68 65 20 64 65 76  |asks for the dev|
000041E0: 69 63 65 20 6E 75 6D 62  65 72 73 20 6F 66 20 74  |ice numbers of t|
000041F0: 68 65 20 4D 46 4D 2D 20  61 6E 64 20 43 42 4D 2D  |he MFM- and CBM-|
00004200: 64 69 73 6B 0A 64 72 69  76 65 73 2E 20 48 65 72  |disk.drives. Her|
00004210: 65 2C 20 74 68 65 20 43  42 4D 2D 64 72 69 76 65  |e, the CBM-drive|
00004220: 20 63 6F 6E 74 61 69 6E  73 20 74 68 65 20 73 6F  | contains the so|
00004230: 75 72 63 65 20 64 69 73  6B 20 61 6E 64 20 74 68  |urce disk and th|
00004240: 65 20 4D 46 4D 2D 64 72  69 76 65 0A 63 6F 6E 74  |e MFM-drive.cont|
00004250: 61 69 6E 73 20 74 68 65  20 64 65 73 74 69 6E 61  |ains the destina|
00004260: 74 69 6F 6E 20 64 69 73  6B 2E 20 59 6F 75 20 63  |tion disk. You c|
00004270: 61 6E 20 77 6F 72 6B 20  77 69 74 68 20 61 20 73  |an work with a s|
00004280: 69 6E 67 6C 65 20 64 72  69 76 65 2C 20 62 75 74  |ingle drive, but|
00004290: 0A 63 6F 70 79 69 6E 67  20 6C 61 72 67 65 20 66  |.copying large f|
000042A0: 69 6C 65 73 20 77 69 6C  6C 20 62 65 20 6D 75 63  |iles will be muc|
000042B0: 68 20 73 6C 6F 77 65 72  2E 0A 20 0A 20 20 49 66  |h slower.. .  If|
000042C0: 20 79 6F 75 20 64 65 63  69 64 65 20 74 6F 20 73  | you decide to s|
000042D0: 74 61 72 74 20 63 6F 70  79 69 6E 67 20 79 6F 75  |tart copying you|
000042E0: 20 68 61 76 65 20 74 6F  20 65 6E 74 65 72 20 74  | have to enter t|
000042F0: 68 65 20 6E 61 6D 65 20  6F 66 20 74 68 65 20 43  |he name of the C|
00004300: 42 4D 0A 66 69 6C 65 2E  20 54 68 65 20 70 72 6F  |BM.file. The pro|
00004310: 67 72 61 6D 20 77 69 6C  6C 20 74 68 65 6E 20 73  |gram will then s|
00004320: 65 61 72 63 68 20 66 6F  72 20 74 68 65 20 66 69  |earch for the fi|
00004330: 6C 65 20 6F 6E 20 74 68  65 20 73 6F 75 72 63 65  |le on the source|
00004340: 20 64 69 73 6B 2E 20 49  66 0A 74 68 65 20 66 69  | disk. If.the fi|
00004350: 6C 65 20 65 78 69 73 74  73 2C 20 79 6F 75 20 63  |le exists, you c|
00004360: 61 6E 20 73 65 6C 65 63  74 20 61 20 63 6F 6E 76  |an select a conv|
00004370: 65 72 73 69 6F 6E 20 6E  75 6D 62 65 72 20 28 61  |ersion number (a|
00004380: 6E 61 6C 6F 67 6F 75 73  20 74 6F 0A 31 35 34 31  |nalogous to.1541|
00004390: 2D 72 65 61 64 73 2D 64  6F 73 29 20 74 6F 20 73  |-reads-dos) to s|
000043A0: 70 65 63 69 66 79 20 63  6F 6E 76 65 72 73 69 6F  |pecify conversio|
000043B0: 6E 20 66 72 6F 6D 20 43  42 4D 20 6F 72 20 43 2D  |n from CBM or C-|
000043C0: 65 64 69 74 6F 72 20 63  68 61 72 61 63 74 65 72  |editor character|
000043D0: 20 73 65 74 0A 74 6F 20  4D 53 2D 44 4F 53 20 41  | set.to MS-DOS A|
000043E0: 53 43 49 49 2E 20 43 42  4D 20 67 72 61 70 68 69  |SCII. CBM graphi|
000043F0: 63 20 63 68 61 72 61 63  74 65 72 73 2C 20 74 68  |c characters, th|
00004400: 65 20 6C 65 66 74 20 61  72 72 6F 77 20 61 6E 64  |e left arrow and|
00004410: 20 74 68 65 20 70 6F 75  6E 64 0A 73 79 6D 62 6F  | the pound.symbo|
00004420: 6C 20 77 69 6C 6C 20 62  65 20 69 67 6E 6F 72 65  |l will be ignore|
00004430: 64 2E 0A 20 0A 20 20 49  6E 20 64 65 74 61 69 6C  |d.. .  In detail|
00004440: 2C 20 63 6F 6E 76 65 72  73 69 6F 6E 20 69 73 20  |, conversion is |
00004450: 64 6F 6E 65 20 61 63 63  6F 72 64 69 6E 67 20 74  |done according t|
00004460: 6F 20 74 68 65 20 66 6F  6C 6C 6F 77 69 6E 67 20  |o the following |
00004470: 74 61 62 6C 65 73 3A 0A  20 0A 20 20 20 20 43 42  |tables:. .    CB|
00004480: 4D 20 20 20 20 20 20 20  20 20 20 2D 3E 20 20 20  |M          ->   |
00004490: 20 20 20 20 20 4D 53 2D  44 4F 53 0A 20 20 20 20  |     MS-DOS.    |
000044A0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
000044B0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 0A 20 20  |-------------.  |
000044C0: 20 20 30 2E 2E 31 32 20  20 20 20 20 20 20 20 20  |  0..12         |
000044D0: 20 20 20 20 20 20 20 20  20 2D 0A 20 20 20 20 31  |         -.    1|
000044E0: 33 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |3               |
000044F0: 20 20 20 20 20 20 31 33  2C 20 31 30 0A 20 20 20  |      13, 10.   |
00004500: 20 31 34 2E 2E 33 31 20  20 20 20 20 20 20 20 20  | 14..31         |
00004510: 20 20 20 20 20 20 20 20  2D 0A 20 20 20 20 33 32  |        -.    32|
00004520: 2E 2E 36 34 20 20 20 20  20 20 20 20 20 20 20 20  |..64            |
00004530: 20 20 20 20 20 33 32 2E  2E 36 34 0A 20 20 20 20  |     32..64.    |
00004540: 36 35 2E 2E 39 30 20 20  20 20 20 20 28 2B 33 32  |65..90      (+32|
00004550: 29 20 20 20 20 20 20 39  37 2E 2E 31 32 32 0A 20  |)      97..122. |
00004560: 20 20 20 39 31 20 20 20  20 20 20 20 20 20 20 20  |   91           |
00004570: 20 20 20 20 20 20 20 20  20 20 39 31 0A 20 20 20  |          91.   |
00004580: 20 39 32 20 20 20 20 20  20 20 20 20 20 20 20 20  | 92             |
00004590: 20 20 20 20 20 20 20 20  2D 0A 20 20 20 20 39 33  |        -.    93|
000045A0: 2E 2E 39 34 20 20 20 20  20 20 20 20 20 20 20 20  |..94            |
000045B0: 20 20 20 20 20 39 33 2E  2E 39 34 0A 20 20 20 20  |     93..94.    |
000045C0: 39 35 2E 2E 39 36 20 20  20 20 20 20 20 20 20 20  |95..96          |
000045D0: 20 20 20 20 20 20 20 2D  0A 20 20 20 20 39 37 2E  |       -.    97.|
000045E0: 2E 31 32 32 20 20 20 20  20 28 2D 33 32 29 20 20  |.122     (-32)  |
000045F0: 20 20 20 20 36 35 2E 2E  39 30 0A 20 20 20 20 31  |    65..90.    1|
00004600: 32 33 2E 2E 31 39 32 20  20 20 20 20 20 20 20 20  |23..192         |
00004610: 20 20 20 20 20 20 2D 0A  20 20 20 20 31 39 33 2E  |      -.    193.|
00004620: 2E 32 31 38 20 20 20 20  28 2D 31 32 38 29 20 20  |.218    (-128)  |
00004630: 20 20 20 36 35 2E 2E 39  30 0A 20 20 20 20 32 31  |   65..90.    21|
00004640: 39 2E 2E 32 35 35 20 20  20 20 20 20 20 20 20 20  |9..255          |
00004650: 20 20 20 20 20 2D 0A 20  0A 20 20 20 20 43 2D 45  |     -. .    C-E|
00004660: 44 49 54 4F 52 20 20 20  20 20 2D 3E 20 20 20 20  |DITOR     ->    |
00004670: 20 20 20 20 4D 53 2D 44  4F 53 0A 20 20 20 20 2D  |    MS-DOS.    -|
00004680: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00004690: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 0A 20 20 20  |------------.   |
000046A0: 20 30 2E 2E 31 32 20 20  20 20 20 20 20 20 20 20  | 0..12          |
000046B0: 20 20 20 20 20 20 20 20  2D 0A 20 20 20 20 31 33  |        -.    13|
000046C0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000046D0: 20 20 20 20 20 31 33 2C  20 31 30 0A 20 20 20 20  |     13, 10.    |
000046E0: 31 34 2E 2E 33 31 20 20  20 20 20 20 20 20 20 20  |14..31          |
000046F0: 20 20 20 20 20 20 20 2D  0A 20 20 20 20 33 32 2E  |       -.    32.|
00004700: 2E 36 34 20 20 20 20 20  20 20 20 20 20 20 20 20  |.64             |
00004710: 20 20 20 20 33 32 2E 2E  36 34 0A 20 20 20 20 36  |    32..64.    6|
00004720: 35 2E 2E 39 30 20 20 20  20 20 20 28 2B 33 32 29  |5..90      (+32)|
00004730: 20 20 20 20 20 20 39 37  2E 2E 31 32 32 0A 20 20  |      97..122.  |
00004740: 20 20 39 31 2E 2E 39 35  20 20 20 20 20 20 20 20  |  91..95        |
00004750: 20 20 20 20 20 20 20 20  20 39 31 2E 2E 39 35 0A  |         91..95.|
00004760: 20 20 20 20 39 36 20 20  20 20 20 20 20 20 20 20  |    96          |
00004770: 20 20 20 20 20 20 20 20  20 20 20 2D 0A 20 20 20  |           -.   |
00004780: 20 39 37 2E 2E 31 32 32  20 20 20 20 20 28 2D 33  | 97..122     (-3|
00004790: 32 29 20 20 20 20 20 20  36 35 2E 2E 39 30 0A 20  |2)      65..90. |
000047A0: 20 20 20 31 32 33 2E 2E  31 39 32 20 20 20 20 20  |   123..192     |
000047B0: 20 20 20 20 20 20 20 20  20 20 2D 0A 20 20 20 20  |          -.    |
000047C0: 31 39 33 2E 2E 32 31 38  20 20 20 20 28 2D 31 32  |193..218    (-12|
000047D0: 38 29 20 20 20 20 20 36  35 2E 2E 39 30 0A 20 20  |8)     65..90.  |
000047E0: 20 20 32 31 39 2E 2E 32  32 32 20 20 20 20 28 2D  |  219..222    (-|
000047F0: 39 36 29 20 20 20 20 20  20 31 32 33 2E 2E 31 32  |96)      123..12|
00004800: 36 0A 20 20 20 20 32 32  33 2E 2E 32 35 35 20 20  |6.    223..255  |
00004810: 20 20 20 20 20 20 20 20  20 20 20 20 20 2D 0A 20  |             -. |
00004820: 0A 20 20 49 6E 20 63 6F  6E 74 72 61 73 74 20 74  |.  In contrast t|
00004830: 6F 20 31 35 34 31 2D 72  65 61 64 73 2D 64 6F 73  |o 1541-reads-dos|
00004840: 2C 20 74 65 78 74 20 63  6F 6E 76 65 72 73 69 6F  |, text conversio|
00004850: 6E 20 64 6F 65 73 20 6E  6F 74 20 6C 65 61 64 20  |n does not lead |
00004860: 74 6F 20 70 61 75 73 65  73 2C 0A 61 73 20 69 74  |to pauses,.as it|
00004870: 20 69 73 20 70 65 72 66  6F 72 6D 65 64 20 62 79  | is performed by|
00004880: 20 74 68 65 20 70 72 6F  67 72 61 6D 20 22 72 65  | the program "re|
00004890: 61 64 39 30 6B 2E 63 6F  6D 22 20 6F 6E 20 74 68  |ad90k.com" on th|
000048A0: 65 20 4D 53 2D 44 4F 53  20 6D 61 63 68 69 6E 65  |e MS-DOS machine|
000048B0: 2E 0A 20 0A 20 20 41 66  74 65 72 20 73 65 6C 65  |.. .  After sele|
000048C0: 63 74 69 6E 67 20 74 68  65 20 63 6F 6E 76 65 72  |cting the conver|
000048D0: 73 69 6F 6E 20 6E 75 6D  62 65 72 20 79 6F 75 20  |sion number you |
000048E0: 68 61 76 65 20 74 6F 20  65 6E 74 65 72 20 74 68  |have to enter th|
000048F0: 65 20 4D 53 2D 44 4F 53  0A 66 69 6C 65 6E 61 6D  |e MS-DOS.filenam|
00004900: 65 2E 20 54 68 65 20 70  72 6F 67 72 61 6D 20 74  |e. The program t|
00004910: 72 69 65 73 20 74 6F 20  63 72 65 61 74 65 20 61  |ries to create a|
00004920: 20 72 65 61 73 6F 6E 61  62 6C 65 20 66 69 6C 65  | reasonable file|
00004930: 6E 61 6D 65 20 62 79 20  73 65 61 72 63 68 69 6E  |name by searchin|
00004940: 67 0A 66 6F 72 20 61 6E  20 65 78 74 65 6E 73 69  |g.for an extensi|
00004950: 6F 6E 20 66 72 6F 6D 20  74 68 65 20 72 69 67 68  |on from the righ|
00004960: 74 20 74 6F 20 74 68 65  20 6C 65 66 74 2E 20 53  |t to the left. S|
00004970: 75 70 65 72 66 6C 75 6F  75 73 20 64 6F 74 73 20  |uperfluous dots |
00004980: 61 72 65 0A 63 6F 6E 76  65 72 74 65 64 20 74 6F  |are.converted to|
00004990: 20 75 6E 64 65 72 73 63  6F 72 65 73 2C 20 62 6C  | underscores, bl|
000049A0: 61 6E 6B 73 20 61 72 65  20 6F 6D 69 74 74 65 64  |anks are omitted|
000049B0: 2E 20 54 68 65 20 66 69  6C 65 6E 61 6D 65 20 61  |. The filename a|
000049C0: 6E 64 20 69 74 73 0A 65  78 74 65 6E 73 69 6F 6E  |nd its.extension|
000049D0: 20 61 72 65 20 74 72 75  6E 63 61 74 65 64 20 74  | are truncated t|
000049E0: 6F 20 38 20 61 6E 64 20  33 20 63 68 61 72 61 63  |o 8 and 3 charac|
000049F0: 74 65 72 73 2E 20 48 6F  77 65 76 65 72 2C 20 79  |ters. However, y|
00004A00: 6F 75 20 68 61 76 65 20  74 6F 0A 72 65 6D 6F 76  |ou have to.remov|
00004A10: 65 20 73 70 65 63 69 61  6C 20 63 68 61 72 61 63  |e special charac|
00004A20: 74 65 72 73 20 6C 69 6B  65 20 61 73 74 65 72 69  |ters like asteri|
00004A30: 73 6B 73 20 79 6F 75 72  73 65 6C 66 2E 20 59 6F  |sks yourself. Yo|
00004A40: 75 20 63 61 6E 20 63 68  61 6E 67 65 20 74 68 65  |u can change the|
00004A50: 0A 73 75 67 67 65 73 74  65 64 20 66 69 6C 65 6E  |.suggested filen|
00004A60: 61 6D 65 2C 20 68 6F 77  65 76 65 72 2C 20 6C 65  |ame, however, le|
00004A70: 74 74 65 72 73 20 61 72  65 20 61 6C 77 61 79 73  |tters are always|
00004A80: 20 73 74 6F 72 65 64 20  69 6E 20 75 70 70 65 72  | stored in upper|
00004A90: 20 63 61 73 65 20 61 6E  64 0A 74 68 65 20 63 6F  | case and.the co|
00004AA0: 6D 70 6C 65 74 65 20 6E  61 6D 65 20 69 73 20 74  |mplete name is t|
00004AB0: 72 75 6E 63 61 74 65 64  20 74 6F 20 61 20 6D 61  |runcated to a ma|
00004AC0: 78 69 6D 75 6D 20 6F 66  20 31 32 20 63 68 61 72  |ximum of 12 char|
00004AD0: 61 63 74 65 72 73 2E 20  49 66 20 79 6F 75 0A 65  |acters. If you.e|
00004AE0: 6E 74 65 72 20 61 6E 20  69 6E 76 61 6C 69 64 20  |nter an invalid |
00004AF0: 4D 53 2D 44 4F 53 20 66  69 6C 65 6E 61 6D 65 20  |MS-DOS filename |
00004B00: 79 6F 75 20 77 69 6C 6C  20 68 61 76 65 20 74 72  |you will have tr|
00004B10: 6F 75 62 6C 65 73 20 63  6F 70 79 69 6E 67 20 74  |oubles copying t|
00004B20: 68 65 20 66 69 6C 65 0A  77 69 74 68 20 72 65 61  |he file.with rea|
00004B30: 64 39 30 6B 2E 63 6F 6D  2E 0A 20 0A 20 20 41 66  |d90k.com.. .  Af|
00004B40: 74 65 72 20 79 6F 75 20  68 61 76 65 20 65 6E 74  |ter you have ent|
00004B50: 65 72 65 64 20 61 20 6E  6F 6E 2D 62 6C 61 6E 6B  |ered a non-blank|
00004B60: 20 4D 53 2D 44 4F 53 20  66 69 6C 65 20 6E 61 6D  | MS-DOS file nam|
00004B70: 65 20 74 68 65 20 63 6F  70 79 20 70 72 6F 63 65  |e the copy proce|
00004B80: 73 73 0A 62 65 67 69 6E  73 2E 20 43 6F 70 79 69  |ss.begins. Copyi|
00004B90: 6E 67 20 61 20 6C 6F 6E  67 20 66 69 6C 65 20 77  |ng a long file w|
00004BA0: 69 74 68 20 61 20 73 69  6E 67 6C 65 20 64 72 69  |ith a single dri|
00004BB0: 76 65 20 6D 65 61 6E 73  20 79 6F 75 20 77 69 6C  |ve means you wil|
00004BC0: 6C 20 68 61 76 65 0A 74  6F 20 73 77 61 70 20 64  |l have.to swap d|
00004BD0: 69 73 6B 73 20 64 75 72  69 6E 67 20 74 68 65 20  |isks during the |
00004BE0: 6F 70 65 72 61 74 69 6F  6E 2E 0A 20 0A 20 20 41  |operation.. .  A|
00004BF0: 74 20 74 68 65 20 65 6E  64 20 79 6F 75 20 63 61  |t the end you ca|
00004C00: 6E 20 64 65 63 69 64 65  20 74 6F 20 73 74 61 72  |n decide to star|
00004C10: 74 20 63 6F 70 79 69 6E  67 20 74 6F 20 61 6E 6F  |t copying to ano|
00004C20: 74 68 65 72 20 4D 53 2D  44 4F 53 20 64 69 73 6B  |ther MS-DOS disk|
00004C30: 20 69 6E 0A 39 30 6B 2D  66 6F 72 6D 61 74 2E 20  | in.90k-format. |
00004C40: 4F 74 68 65 72 77 69 73  65 20 74 68 65 20 70 72  |Otherwise the pr|
00004C50: 6F 67 72 61 6D 20 77 69  6C 6C 20 62 65 20 74 65  |ogram will be te|
00004C60: 72 6D 69 6E 61 74 65 64  20 62 79 20 69 73 73 75  |rminated by issu|
00004C70: 69 6E 67 20 61 20 72 65  73 65 74 0A 6F 66 20 62  |ing a reset.of b|
00004C80: 6F 74 68 20 74 68 65 20  43 36 34 20 61 6E 64 20  |oth the C64 and |
00004C90: 74 68 65 20 4D 46 4D 20  64 69 73 6B 20 64 72 69  |the MFM disk dri|
00004CA0: 76 65 2E 0A 20 0A 20 0A  20 20 4E 6F 77 20 79 6F  |ve.. . .  Now yo|
00004CB0: 75 20 6D 75 73 74 20 75  73 65 20 72 65 61 64 39  |u must use read9|
00004CC0: 30 6B 2E 63 6F 6D 20 74  6F 20 67 65 6E 65 72 61  |0k.com to genera|
00004CD0: 74 65 20 72 65 67 75 6C  61 72 20 4D 53 2D 44 4F  |te regular MS-DO|
00004CE0: 53 20 66 69 6C 65 73 20  66 72 6F 6D 20 74 68 65  |S files from the|
00004CF0: 0A 39 30 6B 2D 64 69 73  6B 73 2E 20 59 6F 75 20  |.90k-disks. You |
00004D00: 68 61 76 65 20 74 6F 20  73 70 65 63 69 66 79 20  |have to specify |
00004D10: 74 68 65 20 64 72 69 76  65 20 74 68 61 74 20 63  |the drive that c|
00004D20: 6F 6E 74 61 69 6E 73 20  74 68 65 20 64 69 73 6B  |ontains the disk|
00004D30: 20 61 73 20 61 0A 70 61  72 61 6D 65 74 65 72 2E  | as a.parameter.|
00004D40: 20 45 2E 67 2E 3A 0A 20  0A 20 20 20 20 52 45 41  | E.g.:. .    REA|
00004D50: 44 39 30 4B 20 41 3A 0A  20 0A 72 65 61 64 73 20  |D90K A:. .reads |
00004D60: 61 6C 6C 20 66 69 6C 65  73 20 66 72 6F 6D 20 74  |all files from t|
00004D70: 68 65 20 64 69 73 6B 20  69 6E 20 64 72 69 76 65  |he disk in drive|
00004D80: 20 41 20 61 6E 64 20 63  6F 70 69 65 73 20 74 68  | A and copies th|
00004D90: 65 6D 20 74 6F 20 74 68  65 20 63 75 72 72 65 6E  |em to the curren|
00004DA0: 74 0A 64 65 76 69 63 65  2E 20 49 66 20 79 6F 75  |t.device. If you|
00004DB0: 20 6A 75 73 74 20 77 61  6E 74 20 74 6F 20 76 69  | just want to vi|
00004DC0: 65 77 20 74 68 65 20 6E  61 6D 65 73 20 6F 66 20  |ew the names of |
00004DD0: 74 68 65 20 66 69 6C 65  73 20 6F 6E 20 74 68 65  |the files on the|
00004DE0: 20 64 69 73 6B 20 79 6F  75 0A 68 61 76 65 20 74  | disk you.have t|
00004DF0: 6F 20 61 64 64 20 74 68  65 20 6C 65 74 74 65 72  |o add the letter|
00004E00: 20 44 20 61 73 20 61 20  73 65 63 6F 6E 64 20 70  | D as a second p|
00004E10: 61 72 61 6D 65 74 65 72  2E 20 45 2E 67 2E 3A 0A  |arameter. E.g.:.|
00004E20: 20 0A 20 20 20 20 52 45  41 44 39 30 4B 20 41 3A  | .    READ90K A:|
00004E30: 20 44 0A 20 0A 20 20 45  78 65 63 75 74 69 6E 67  | D. .  Executing|
00004E40: 20 72 65 61 64 39 30 6B  2E 63 6F 6D 20 77 69 74  | read90k.com wit|
00004E50: 68 6F 75 74 20 70 61 72  61 6D 65 74 65 72 73 20  |hout parameters |
00004E60: 77 69 6C 6C 20 64 69 73  70 6C 61 79 20 61 20 73  |will display a s|
00004E70: 68 6F 72 74 20 68 65 6C  70 0A 6D 65 73 73 61 67  |hort help.messag|
00004E80: 65 2E 0A 20 0A 20 20 53  6F 75 72 63 65 20 63 6F  |e.. .  Source co|
00004E90: 64 65 20 66 6F 72 20 72  65 61 64 39 30 6B 20 69  |de for read90k i|
00004EA0: 73 20 61 76 61 69 6C 61  62 6C 65 20 28 41 70 70  |s available (App|
00004EB0: 65 6E 64 69 78 20 42 29  20 66 6F 72 20 63 6F 6D  |endix B) for com|
00004EC0: 70 69 6C 69 6E 67 20 6F  6E 0A 55 6E 69 78 20 61  |piling on.Unix a|
00004ED0: 6E 64 20 55 6E 69 78 2D  6C 69 6B 65 20 6D 61 63  |nd Unix-like mac|
00004EE0: 68 69 6E 65 73 20 77 69  74 68 20 61 20 35 20 31  |hines with a 5 1|
00004EF0: 2F 34 22 20 64 72 69 76  65 2E 20 54 68 65 20 70  |/4" drive. The p|
00004F00: 72 6F 67 72 61 6D 20 77  69 6C 6C 0A 63 6F 6D 70  |rogram will.comp|
00004F10: 69 6C 65 20 75 73 69 6E  67 20 67 63 63 2C 20 61  |ile using gcc, a|
00004F20: 6E 64 20 6C 69 6B 65 6C  79 20 79 6F 75 72 20 6E  |nd likely your n|
00004F30: 61 74 69 76 65 20 63 63  20 61 73 20 77 65 6C 6C  |ative cc as well|
00004F40: 20 28 75 73 65 20 74 68  65 20 63 6F 6D 6D 61 6E  | (use the comman|
00004F50: 64 0A 22 63 63 20 2D 6F  20 72 65 61 64 39 30 6B  |d."cc -o read90k|
00004F60: 20 72 65 61 64 39 30 6B  2E 63 22 29 2E 0A 0A 20  | read90k.c")... |
00004F70: 20 42 65 66 6F 72 65 20  75 73 69 6E 67 20 74 68  | Before using th|
00004F80: 65 20 70 72 6F 67 72 61  6D 2C 20 79 6F 75 20 6D  |e program, you m|
00004F90: 75 73 74 20 66 69 6E 64  20 74 68 65 20 64 65 76  |ust find the dev|
00004FA0: 69 63 65 20 64 72 69 76  65 72 20 77 68 69 63 68  |ice driver which|
00004FB0: 0A 68 61 6E 64 6C 65 73  20 73 69 6E 67 6C 65 2D  |.handles single-|
00004FC0: 73 69 64 65 64 20 6F 72  20 64 6F 75 62 6C 65 2D  |sided or double-|
00004FD0: 73 69 64 65 64 20 34 30  2D 74 72 61 63 6B 20 64  |sided 40-track d|
00004FE0: 6F 75 62 6C 65 2D 64 65  6E 73 69 74 79 20 66 6C  |ouble-density fl|
00004FF0: 6F 70 70 79 0A 64 69 73  6B 73 2E 20 50 75 74 20  |oppy.disks. Put |
00005000: 61 6E 79 20 66 6F 72 6D  61 74 74 65 64 20 66 6C  |any formatted fl|
00005010: 6F 70 70 79 20 64 69 73  6B 20 69 6E 74 6F 20 74  |oppy disk into t|
00005020: 68 65 20 64 72 69 76 65  20 61 6E 64 20 65 78 65  |he drive and exe|
00005030: 63 75 74 65 20 74 68 65  0A 63 6F 6D 6D 61 6E 64  |cute the.command|
00005040: 20 22 77 63 20 2D 63 20  2F 64 65 76 2F 66 6C 6F  | "wc -c /dev/flo|
00005050: 70 70 79 6E 61 6D 65 22  20 28 77 68 65 72 65 20  |ppyname" (where |
00005060: 66 6C 6F 70 70 79 6E 61  6D 65 20 69 73 20 74 68  |floppyname is th|
00005070: 65 20 6E 61 6D 65 20 6F  66 20 74 68 65 0A 73 70  |e name of the.sp|
00005080: 65 63 69 61 6C 20 66 69  6C 65 20 66 6F 72 20 74  |ecial file for t|
00005090: 68 65 20 66 6C 6F 70 70  79 20 64 65 76 69 63 65  |he floppy device|
000050A0: 20 64 72 69 76 65 72 29  2E 20 49 66 20 69 74 20  | driver). If it |
000050B0: 63 6F 6D 70 6C 65 74 65  73 20 77 69 74 68 6F 75  |completes withou|
000050C0: 74 0A 65 72 72 6F 72 73  20 61 6E 64 20 74 68 65  |t.errors and the|
000050D0: 20 73 69 7A 65 20 67 69  76 65 6E 20 69 73 20 31  | size given is 1|
000050E0: 38 34 20 33 32 30 20 28  31 38 30 6B 29 2C 20 79  |84 320 (180k), y|
000050F0: 6F 75 20 63 61 6E 20 75  73 65 20 72 65 61 64 39  |ou can use read9|
00005100: 30 6B 20 77 69 74 68 0A  74 68 65 20 63 6F 6D 6D  |0k with.the comm|
00005110: 61 6E 64 20 6C 69 6E 65  20 22 72 65 61 64 39 30  |and line "read90|
00005120: 6B 20 2F 64 65 76 2F 66  6C 6F 70 70 79 6E 61 6D  |k /dev/floppynam|
00005130: 65 22 2E 20 49 66 20 74  68 65 20 73 69 7A 65 20  |e". If the size |
00005140: 69 73 20 33 36 38 20 36  34 30 2C 20 79 6F 75 0A  |is 368 640, you.|
00005150: 68 61 76 65 20 61 20 33  36 30 20 6B 42 20 73 69  |have a 360 kB si|
00005160: 7A 65 64 20 64 69 73 6B  20 64 72 69 76 65 72 20  |zed disk driver |
00005170: 61 6E 64 20 6D 75 73 74  20 75 73 65 20 22 72 65  |and must use "re|
00005180: 61 64 39 30 6B 20 31 20  2F 64 65 76 2F 66 69 6C  |ad90k 1 /dev/fil|
00005190: 65 6E 61 6D 65 22 2E 0A  49 66 20 79 6F 75 20 64  |ename"..If you d|
000051A0: 6F 6E 27 74 20 67 65 74  20 65 69 74 68 65 72 20  |on't get either |
000051B0: 73 69 7A 65 64 20 69 6D  61 67 65 2C 20 79 6F 75  |sized image, you|
000051C0: 20 63 61 6E 6E 6F 74 20  61 63 63 65 73 73 20 74  | cannot access t|
000051D0: 68 65 20 39 30 20 6B 42  20 64 69 73 6B 2E 0A 20  |he 90 kB disk.. |
000051E0: 0A 20 20 41 73 20 61 6E  20 65 78 61 6D 70 6C 65  |.  As an example|
000051F0: 2C 20 74 68 65 20 4C 69  6E 75 78 20 4F 53 20 76  |, the Linux OS v|
00005200: 65 72 2E 20 30 2E 39 39  20 70 61 74 63 68 6C 65  |er. 0.99 patchle|
00005210: 76 65 6C 20 31 30 20 75  73 65 73 20 74 68 65 20  |vel 10 uses the |
00005220: 6E 61 6D 65 73 0A 2F 64  65 76 2F 66 64 30 20 61  |names./dev/fd0 a|
00005230: 6E 64 20 2F 64 65 76 2F  66 64 30 64 33 36 30 20  |nd /dev/fd0d360 |
00005240: 66 6F 72 20 74 68 65 20  66 6C 6F 70 70 79 20 64  |for the floppy d|
00005250: 65 76 69 63 65 20 64 72  69 76 65 72 20 66 6F 72  |evice driver for|
00005260: 20 74 68 65 20 66 69 72  73 74 0A 66 6C 6F 70 70  | the first.flopp|
00005270: 79 20 64 72 69 76 65 2E  20 54 68 65 73 65 20 61  |y drive. These a|
00005280: 72 65 20 62 6F 74 68 20  33 36 30 20 6B 42 20 64  |re both 360 kB d|
00005290: 72 69 76 65 72 73 20 77  68 69 63 68 20 72 65 71  |rivers which req|
000052A0: 75 69 72 65 20 75 73 69  6E 67 20 74 68 65 20 22  |uire using the "|
000052B0: 31 22 0A 6F 70 74 69 6F  6E 20 6F 6E 20 74 68 65  |1".option on the|
000052C0: 20 72 65 61 64 39 30 6B  20 63 6F 6D 6D 61 6E 64  | read90k command|
000052D0: 20 6C 69 6E 65 20 28 69  2E 65 2E 20 74 6F 20 63  | line (i.e. to c|
000052E0: 6F 70 79 20 61 20 31 35  34 31 2D 77 72 69 74 74  |opy a 1541-writt|
000052F0: 65 6E 20 64 69 73 6B 2C  0A 75 73 65 20 74 68 65  |en disk,.use the|
00005300: 20 63 6F 6D 6D 61 6E 64  20 6C 69 6E 65 20 22 72  | command line "r|
00005310: 65 61 64 39 30 6B 20 31  20 2F 64 65 76 2F 66 64  |ead90k 1 /dev/fd|
00005320: 30 22 29 2E 0A 20 0A 2D  2D 2D 2D 2D 2D 2D 2D 2D  |0").. .---------|
00005330: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00005340: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00005350: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00005360: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 0A 20  |--------------. |
00005370: 0A 36 29 20 45 52 52 4F  52 20 4D 45 53 53 41 47  |.6) ERROR MESSAG|
00005380: 45 53 0A 20 0A 20 20 44  75 72 69 6E 67 20 74 68  |ES. .  During th|
00005390: 65 20 65 78 65 63 75 74  69 6F 6E 20 6F 66 20 31  |e execution of 1|
000053A0: 35 34 31 2D 72 65 61 64  73 2D 64 6F 73 20 61 6E  |541-reads-dos an|
000053B0: 64 20 31 35 34 31 2D 77  72 69 74 65 73 2D 39 30  |d 1541-writes-90|
000053C0: 6B 20 73 65 76 65 72 61  6C 0A 64 69 73 6B 20 65  |k several.disk e|
000053D0: 72 72 6F 72 73 20 6D 61  79 20 6F 63 63 75 72 2E  |rrors may occur.|
000053E0: 20 41 6E 20 65 72 72 6F  72 20 61 6C 77 61 79 73  | An error always|
000053F0: 20 6C 65 61 64 73 20 74  6F 20 61 20 74 65 72 6D  | leads to a term|
00005400: 69 6E 61 74 69 6F 6E 20  6F 66 20 74 68 65 0A 63  |ination of the.c|
00005410: 6F 70 79 20 70 72 6F 63  65 73 73 2E 0A 20 0A 20  |opy process.. . |
00005420: 20 49 66 20 61 6E 20 65  72 72 6F 72 20 6F 63 63  | If an error occ|
00005430: 75 72 73 20 64 75 72 69  6E 67 20 61 20 43 42 4D  |urs during a CBM|
00005440: 20 64 69 73 6B 20 61 63  63 65 73 73 2C 20 74 68  | disk access, th|
00005450: 65 20 64 72 69 76 65 27  73 20 65 72 72 6F 72 20  |e drive's error |
00005460: 63 68 61 6E 6E 65 6C 0A  6D 65 73 73 61 67 65 20  |channel.message |
00005470: 69 73 20 64 69 73 70 6C  61 79 65 64 2E 0A 20 0A  |is displayed.. .|
00005480: 20 20 44 75 72 69 6E 67  20 61 6E 20 4D 53 2D 44  |  During an MS-D|
00005490: 4F 53 20 64 69 73 6B 20  61 63 63 65 73 73 20 6F  |OS disk access o|
000054A0: 6E 65 20 6F 66 20 74 68  65 20 66 6F 6C 6C 6F 77  |ne of the follow|
000054B0: 69 6E 67 20 65 72 72 6F  72 20 6D 65 73 73 61 67  |ing error messag|
000054C0: 65 73 20 63 61 6E 0A 61  70 70 65 61 72 2E 20 28  |es can.appear. (|
000054D0: 54 68 65 20 70 72 6F 62  61 62 6C 65 20 72 65 61  |The probable rea|
000054E0: 73 6F 6E 28 73 29 20 66  6F 72 20 61 6E 20 65 72  |son(s) for an er|
000054F0: 72 6F 72 20 69 73 20 64  65 73 63 72 69 62 65 64  |ror is described|
00005500: 20 68 65 72 65 2C 20 62  65 6C 6F 77 0A 65 61 63  | here, below.eac|
00005510: 68 20 6D 65 73 73 61 67  65 2E 29 0A 20 0A 20 0A  |h message.). . .|
00005520: 2A 20 43 61 6E 27 74 20  61 63 63 65 73 73 20 4D  |* Can't access M|
00005530: 46 4D 2D 64 69 73 6B 20  28 64 72 69 76 65 20 6E  |FM-disk (drive n|
00005540: 6F 74 20 72 65 61 64 79  29 0A 20 0A 20 20 54 68  |ot ready). .  Th|
00005550: 65 72 65 20 69 73 20 65  69 74 68 65 72 20 6E 6F  |ere is either no|
00005560: 20 64 69 73 6B 20 69 6E  20 74 68 65 20 64 72 69  | disk in the dri|
00005570: 76 65 2C 20 6F 72 20 74  68 65 20 64 72 69 76 65  |ve, or the drive|
00005580: 20 64 6F 6F 72 20 69 73  20 6F 70 65 6E 2C 20 6F  | door is open, o|
00005590: 72 0A 74 68 65 20 64 69  73 6B 20 69 73 20 6E 6F  |r.the disk is no|
000055A0: 74 20 61 20 66 6F 72 6D  61 74 74 65 64 20 4D 46  |t a formatted MF|
000055B0: 4D 2D 64 69 73 6B 2E 0A  20 20 54 68 65 20 6D 65  |M-disk..  The me|
000055C0: 73 73 61 67 65 20 6D 69  67 68 74 20 61 6C 73 6F  |ssage might also|
000055D0: 20 61 70 70 65 61 72 20  69 66 20 74 68 65 20 31  | appear if the 1|
000055E0: 35 34 31 20 68 61 73 20  6E 6F 74 20 62 65 65 6E  |541 has not been|
000055F0: 20 6D 6F 64 69 66 69 65  64 20 6F 72 20 69 66 0A  | modified or if.|
00005600: 74 68 65 20 6D 6F 64 69  66 69 63 61 74 69 6F 6E  |the modification|
00005610: 20 77 61 73 20 6E 6F 74  20 63 6F 72 72 65 63 74  | was not correct|
00005620: 2E 0A 20 0A 2A 20 43 52  43 2D 65 72 72 6F 72 20  |.. .* CRC-error |
00005630: 69 6E 20 73 65 63 74 6F  72 20 68 65 61 64 65 72  |in sector header|
00005640: 0A 20 0A 20 20 54 68 65  20 64 69 73 6B 20 69 73  |. .  The disk is|
00005650: 20 6F 66 20 62 61 64 20  71 75 61 6C 69 74 79 20  | of bad quality |
00005660: 6F 72 20 69 73 20 6E 6F  74 20 61 6E 20 4D 46 4D  |or is not an MFM|
00005670: 2D 64 69 73 6B 2E 0A 20  0A 2A 20 73 65 63 74 6F  |-disk.. .* secto|
00005680: 72 20 68 65 61 64 65 72  20 6E 6F 74 20 66 6F 75  |r header not fou|
00005690: 6E 64 0A 20 0A 20 20 54  68 65 20 64 69 73 6B 20  |nd. .  The disk |
000056A0: 69 73 20 6F 66 20 62 61  64 20 71 75 61 6C 69 74  |is of bad qualit|
000056B0: 79 20 6F 72 20 69 73 20  6E 6F 74 20 61 6E 20 4D  |y or is not an M|
000056C0: 46 4D 2D 64 69 73 6B 2E  20 49 74 20 63 6F 75 6C  |FM-disk. It coul|
000056D0: 64 20 61 6C 73 6F 0A 69  6E 64 69 63 61 74 65 20  |d also.indicate |
000056E0: 63 6F 72 72 75 70 74 20  64 69 73 6B 20 63 6F 6E  |corrupt disk con|
000056F0: 74 72 6F 6C 20 69 6E 66  6F 72 6D 61 74 69 6F 6E  |trol information|
00005700: 2E 0A 20 0A 2A 20 64 61  74 61 20 73 65 63 74 69  |.. .* data secti|
00005710: 6F 6E 20 6E 6F 74 20 66  6F 75 6E 64 0A 20 0A 20  |on not found. . |
00005720: 20 54 68 65 20 64 69 73  6B 20 69 73 20 6F 66 20  | The disk is of |
00005730: 62 61 64 20 71 75 61 6C  69 74 79 2E 0A 20 0A 2A  |bad quality.. .*|
00005740: 20 43 52 43 2D 65 72 72  6F 72 20 69 6E 20 64 61  | CRC-error in da|
00005750: 74 61 20 73 65 63 74 69  6F 6E 0A 20 0A 20 20 54  |ta section. .  T|
00005760: 68 65 20 64 69 73 6B 20  69 73 20 6F 66 20 62 61  |he disk is of ba|
00005770: 64 20 71 75 61 6C 69 74  79 2E 20 54 68 65 72 65  |d quality. There|
00005780: 20 63 6F 75 6C 64 20 61  6C 73 6F 20 62 65 20 61  | could also be a|
00005790: 20 70 72 6F 62 6C 65 6D  20 77 69 74 68 20 74 68  | problem with th|
000057A0: 65 0A 64 72 69 76 65 2E  0A 20 0A 20 20 49 66 20  |e.drive.. .  If |
000057B0: 74 68 69 73 20 65 72 72  6F 72 20 68 61 70 70 65  |this error happe|
000057C0: 6E 73 20 64 75 72 69 6E  67 20 77 72 69 74 69 6E  |ns during writin|
000057D0: 67 20 64 61 74 61 20 69  74 20 69 6E 64 69 63 61  |g data it indica|
000057E0: 74 65 73 20 61 20 77 72  69 74 65 20 76 65 72 69  |tes a write veri|
000057F0: 66 79 0A 65 72 72 6F 72  2E 0A 20 0A 2A 20 77 72  |fy.error.. .* wr|
00005800: 69 74 65 20 70 72 6F 74  65 63 74 20 6F 6E 0A 20  |ite protect on. |
00005810: 0A 20 20 41 6E 20 61 74  74 65 6D 70 74 20 77 61  |.  An attempt wa|
00005820: 73 20 6D 61 64 65 20 74  6F 20 77 72 69 74 65 20  |s made to write |
00005830: 74 6F 20 61 20 77 72 69  74 65 20 70 72 6F 74 65  |to a write prote|
00005840: 63 74 65 64 20 64 69 73  6B 2E 0A 20 0A 2A 20 64  |cted disk.. .* d|
00005850: 69 73 6B 20 66 75 6C 6C  0A 20 0A 20 20 41 6E 20  |isk full. .  An |
00005860: 61 74 74 65 6D 70 74 20  77 61 73 20 6D 61 64 65  |attempt was made|
00005870: 20 74 6F 20 77 72 69 74  65 20 6D 6F 72 65 20 74  | to write more t|
00005880: 68 61 6E 20 39 31 39 30  34 20 62 79 74 65 73 20  |han 91904 bytes |
00005890: 74 6F 20 61 20 39 30 6B  2D 64 69 73 6B 2E 0A 20  |to a 90k-disk.. |
000058A0: 0A 2A 20 49 6C 6C 65 67  61 6C 20 4D 46 4D 2D 64  |.* Illegal MFM-d|
000058B0: 69 73 6B 20 73 69 64 65  6E 72 2E 20 28 20 3C 3E  |isk sidenr. ( <>|
000058C0: 20 30 20 29 0A 20 0A 20  20 54 68 65 20 64 69 73  | 0 ). .  The dis|
000058D0: 6B 20 63 6F 6E 74 72 6F  6C 20 69 6E 66 6F 72 6D  |k control inform|
000058E0: 61 74 69 6F 6E 20 69 73  20 63 6F 72 72 75 70 74  |ation is corrupt|
000058F0: 20 28 6F 72 20 74 68 65  20 64 72 69 76 65 20 69  | (or the drive i|
00005900: 73 20 73 70 69 6E 6E 69  6E 67 0A 62 61 63 6B 77  |s spinning.backw|
00005910: 61 72 64 73 2E 2E 2E 29  2E 0A 20 0A 2A 20 55 6E  |ards...).. .* Un|
00005920: 73 75 70 70 6F 72 74 65  64 20 4D 46 4D 2D 73 65  |supported MFM-se|
00005930: 63 74 6F 72 20 73 69 7A  65 20 28 20 3C 3E 20 35  |ctor size ( <> 5|
00005940: 31 32 20 29 0A 20 0A 20  20 54 68 65 20 69 6E 73  |12 ). .  The ins|
00005950: 65 72 74 65 64 20 64 69  73 6B 20 69 73 20 6E 6F  |erted disk is no|
00005960: 74 20 61 6E 20 4D 53 2D  44 4F 53 20 64 69 73 6B  |t an MS-DOS disk|
00005970: 20 28 65 2E 67 2E 20 69  74 20 63 6F 75 6C 64 20  | (e.g. it could |
00005980: 62 65 20 61 20 43 50 2F  4D 0A 64 69 73 6B 29 2E  |be a CP/M.disk).|
00005990: 0A 20 0A 2A 20 4E 6F 74  20 28 79 65 74 29 20 73  |. .* Not (yet) s|
000059A0: 75 70 70 6F 72 74 65 64  20 4D 53 2D 44 4F 53 20  |upported MS-DOS |
000059B0: 66 6F 72 6D 61 74 0A 20  0A 20 20 54 68 65 20 64  |format. .  The d|
000059C0: 69 73 6B 20 68 61 73 20  62 65 65 6E 20 66 6F 72  |isk has been for|
000059D0: 6D 61 74 74 65 64 20 77  69 74 68 20 77 72 6F 6E  |matted with wron|
000059E0: 67 20 63 6F 6D 6D 61 6E  64 20 6C 69 6E 65 20 6F  |g command line o|
000059F0: 70 74 69 6F 6E 73 2C 20  6F 72 20 69 74 20 69 73  |ptions, or it is|
00005A00: 0A 6E 6F 74 20 61 6E 20  4D 53 2D 44 4F 53 20 64  |.not an MS-DOS d|
00005A10: 69 73 6B 2C 20 6F 72 20  74 68 65 20 64 69 73 6B  |isk, or the disk|
00005A20: 20 63 6F 6E 74 72 6F 6C  20 69 6E 66 6F 72 6D 61  | control informa|
00005A30: 74 69 6F 6E 20 69 73 20  63 6F 72 72 75 70 74 2E  |tion is corrupt.|
00005A40: 0A 20 0A 20 20 54 68 65  20 70 6F 73 69 74 69 6F  |. .  The positio|
00005A50: 6E 73 20 77 68 65 72 65  20 64 69 73 6B 20 65 72  |ns where disk er|
00005A60: 72 6F 72 73 20 68 61 76  65 20 6F 63 63 75 72 72  |rors have occurr|
00005A70: 65 64 20 6D 61 79 20 62  65 20 69 6E 64 69 63 61  |ed may be indica|
00005A80: 74 65 64 20 62 79 20 61  6E 0A 4D 46 4D 20 74 72  |ted by an.MFM tr|
00005A90: 61 63 6B 20 61 6E 64 20  73 65 63 74 6F 72 20 6E  |ack and sector n|
00005AA0: 75 6D 62 65 72 20 69 6E  20 70 61 72 65 6E 74 68  |umber in parenth|
00005AB0: 65 73 65 73 2E 0A 20 0A  20 20 54 68 65 20 70 72  |eses.. .  The pr|
00005AC0: 6F 67 72 61 6D 73 20 72  65 74 72 79 20 72 65 61  |ograms retry rea|
00005AD0: 64 69 6E 67 20 61 6E 64  20 77 72 69 74 69 6E 67  |ding and writing|
00005AE0: 20 74 6F 20 62 61 64 20  71 75 61 6C 69 74 79 20  | to bad quality |
00005AF0: 64 69 73 6B 73 20 73 65  76 65 72 61 6C 0A 74 69  |disks several.ti|
00005B00: 6D 65 73 20 62 65 66 6F  72 65 20 64 69 73 70 6C  |mes before displ|
00005B10: 61 79 69 6E 67 20 61 6E  20 65 72 72 6F 72 20 6D  |aying an error m|
00005B20: 65 73 73 61 67 65 2E 0A  20 0A 20 20 53 6F 6D 65  |essage.. .  Some|
00005B30: 20 64 72 69 76 65 73 20  62 65 68 61 76 65 20 64  | drives behave d|
00005B40: 69 66 66 65 72 65 6E 74  6C 79 20 61 66 74 65 72  |ifferently after|
00005B50: 20 74 68 65 79 20 68 61  76 65 20 62 65 65 6E 20  | they have been |
00005B60: 69 6E 20 75 73 65 20 66  6F 72 20 61 20 6C 6F 6E  |in use for a lon|
00005B70: 67 0A 74 69 6D 65 2E 20  53 6F 2C 20 61 66 74 65  |g.time. So, afte|
00005B80: 72 20 61 6E 20 65 72 72  6F 72 2C 20 69 74 20 6D  |r an error, it m|
00005B90: 69 67 68 74 20 62 65 20  77 6F 72 74 68 20 74 72  |ight be worth tr|
00005BA0: 79 69 6E 67 20 61 67 61  69 6E 20 61 66 74 65 72  |ying again after|
00005BB0: 20 74 68 65 20 64 72 69  76 65 0A 68 61 73 20 62  | the drive.has b|
00005BC0: 65 65 6E 20 73 77 69 74  63 68 65 64 20 6F 66 66  |een switched off|
00005BD0: 20 66 6F 72 20 71 75 69  74 65 20 61 20 77 68 69  | for quite a whi|
00005BE0: 6C 65 2E 0A 20 0A 20 20  53 6F 6D 65 74 69 6D 65  |le.. .  Sometime|
00005BF0: 73 20 69 74 20 74 61 6B  65 73 20 61 20 76 65 72  |s it takes a ver|
00005C00: 79 20 6C 6F 6E 67 20 74  69 6D 65 20 74 6F 20 64  |y long time to d|
00005C10: 65 74 65 63 74 20 61 6E  20 65 72 72 6F 72 2E 20  |etect an error. |
00005C20: 49 6E 20 74 68 61 74 20  63 61 73 65 2C 0A 79 6F  |In that case,.yo|
00005C30: 75 20 63 6F 75 6C 64 20  6F 70 65 6E 20 74 68 65  |u could open the|
00005C40: 20 64 72 69 76 65 20 64  6F 6F 72 20 74 6F 20 69  | drive door to i|
00005C50: 6E 74 65 72 72 75 70 74  20 74 68 65 20 72 65 61  |nterrupt the rea|
00005C60: 64 69 6E 67 20 70 72 6F  63 65 73 73 2E 0A 4E 6F  |ding process..No|
00005C70: 72 6D 61 6C 6C 79 20 74  68 65 20 72 65 61 64 2F  |rmally the read/|
00005C80: 77 72 69 74 65 20 68 65  61 64 20 77 69 6C 6C 20  |write head will |
00005C90: 6E 6F 74 20 62 75 6D 70  20 61 67 61 69 6E 73 74  |not bump against|
00005CA0: 20 69 74 73 20 62 6F 75  6E 64 61 72 69 65 73 20  | its boundaries |
00005CB0: 69 66 0A 74 68 69 73 20  69 73 20 64 6F 6E 65 20  |if.this is done |
00005CC0: 64 75 72 69 6E 67 20 61  6E 20 4D 53 2D 44 4F 53  |during an MS-DOS|
00005CD0: 20 64 69 73 6B 20 61 63  63 65 73 73 2E 0A 20 0A  | disk access.. .|
00005CE0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00005CF0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00005D00: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00005D10: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00005D20: 2D 2D 2D 2D 2D 2D 2D 0A  20 0A 37 29 20 43 4F 4D  |-------. .7) COM|
00005D30: 50 41 54 49 42 49 4C 49  54 59 0A 20 0A 20 20 54  |PATIBILITY. .  T|
00005D40: 68 65 20 43 36 34 20 70  72 6F 67 72 61 6D 73 20  |he C64 programs |
00005D50: 68 61 76 65 20 62 65 65  6E 20 74 65 73 74 65 64  |have been tested|
00005D60: 20 69 6E 20 74 68 65 20  66 6F 6C 6C 6F 77 69 6E  | in the followin|
00005D70: 67 20 63 6F 6E 66 69 67  75 72 61 74 69 6F 6E 73  |g configurations|
00005D80: 3A 0A 20 0A 20 20 20 20  2D 20 61 20 73 69 6E 67  |:. .    - a sing|
00005D90: 6C 65 20 6D 6F 64 69 66  69 65 64 20 31 35 34 31  |le modified 1541|
00005DA0: 20 64 72 69 76 65 0A 20  20 20 20 2D 20 61 20 73  | drive.    - a s|
00005DB0: 69 6E 67 6C 65 20 6D 6F  64 69 66 69 65 64 20 4F  |ingle modified O|
00005DC0: 43 2D 31 31 38 4E 20 64  72 69 76 65 0A 20 20 20  |C-118N drive.   |
00005DD0: 20 2D 20 61 20 6D 6F 64  69 66 69 65 64 20 31 35  | - a modified 15|
00005DE0: 34 31 20 61 6E 64 20 61  20 73 74 6F 63 6B 20 4F  |41 and a stock O|
00005DF0: 43 2D 31 31 38 4E 0A 20  20 20 20 2D 20 61 20 6D  |C-118N.    - a m|
00005E00: 6F 64 69 66 69 65 64 20  4F 43 2D 31 31 38 4E 20  |odified OC-118N |
00005E10: 61 6E 64 20 61 20 73 74  6F 63 6B 20 31 35 34 31  |and a stock 1541|
00005E20: 0A 20 20 20 20 2D 20 61  20 6D 6F 64 69 66 69 65  |.    - a modifie|
00005E30: 64 20 31 35 34 31 20 61  6E 64 20 52 41 4D 44 4F  |d 1541 and RAMDO|
00005E40: 53 20 65 6D 75 6C 61 74  69 6E 67 20 61 20 73 65  |S emulating a se|
00005E50: 63 6F 6E 64 20 64 69 73  6B 20 64 72 69 76 65 0A  |cond disk drive.|
00005E60: 20 0A 20 20 54 68 65 79  20 73 68 6F 75 6C 64 20  | .  They should |
00005E70: 61 6C 73 6F 20 77 6F 72  6B 20 77 69 74 68 20 61  |also work with a|
00005E80: 6E 79 20 6F 74 68 65 72  20 43 6F 6D 6D 6F 64 6F  |ny other Commodo|
00005E90: 72 65 20 63 6F 6D 70 61  74 69 62 6C 65 20 64 69  |re compatible di|
00005EA0: 73 6B 20 64 72 69 76 65  0A 75 73 65 64 20 61 73  |sk drive.used as|
00005EB0: 20 74 68 65 20 73 65 63  6F 6E 64 20 64 72 69 76  | the second driv|
00005EC0: 65 20 28 74 68 65 20 6F  6E 65 20 68 6F 6C 64 69  |e (the one holdi|
00005ED0: 6E 67 20 74 68 65 20 43  42 4D 20 66 6F 72 6D 61  |ng the CBM forma|
00005EE0: 74 20 64 69 73 6B 29 2E  0A 20 0A 20 20 54 68 65  |t disk).. .  The|
00005EF0: 20 6D 65 6D 6F 72 79 20  62 65 74 77 65 65 6E 20  | memory between |
00005F00: 24 43 30 30 30 20 61 6E  64 20 24 43 46 46 46 20  |$C000 and $CFFF |
00005F10: 68 61 73 20 69 6E 74 65  6E 74 69 6F 6E 61 6C 6C  |has intentionall|
00005F20: 79 20 62 65 65 6E 20 6C  65 66 74 0A 62 6C 61 6E  |y been left.blan|
00005F30: 6B 2E 20 54 68 69 73 20  69 73 20 74 68 65 20 70  |k. This is the p|
00005F40: 6C 61 63 65 20 74 6F 20  70 75 74 20 75 74 69 6C  |lace to put util|
00005F50: 69 74 79 20 70 72 6F 67  72 61 6D 73 20 6C 69 6B  |ity programs lik|
00005F60: 65 20 74 68 65 20 52 41  4D 44 4F 53 0A 69 6E 74  |e the RAMDOS.int|
00005F70: 65 72 66 61 63 65 20 70  61 67 65 2E 0A 20 0A 20  |erface page.. . |
00005F80: 20 44 69 73 6B 20 73 70  65 65 64 75 70 20 75 74  | Disk speedup ut|
00005F90: 69 6C 69 74 69 65 73 20  73 68 6F 75 6C 64 20 77  |ilities should w|
00005FA0: 6F 72 6B 20 77 65 6C 6C  20 77 69 74 68 20 72 65  |ork well with re|
00005FB0: 61 64 69 6E 67 20 61 6E  64 20 77 72 69 74 69 6E  |ading and writin|
00005FC0: 67 20 74 6F 0A 43 42 4D  20 66 6F 72 6D 61 74 20  |g to.CBM format |
00005FD0: 64 69 73 6B 73 2E 20 49  66 20 74 68 65 79 20 73  |disks. If they s|
00005FE0: 70 65 65 64 20 75 70 20  73 65 71 75 65 6E 74 69  |peed up sequenti|
00005FF0: 61 6C 20 66 69 6C 65 20  61 63 63 65 73 73 2C 20  |al file access, |
00006000: 63 6F 70 79 69 6E 67 0A  77 69 6C 6C 20 62 65 20  |copying.will be |
00006010: 6D 75 63 68 20 66 61 73  74 65 72 2E 0A 20 0A 20  |much faster.. . |
00006020: 20 57 68 69 6C 65 20 72  65 61 64 69 6E 67 20 61  | While reading a|
00006030: 6E 64 20 77 72 69 74 69  6E 67 20 74 6F 20 4D 53  |nd writing to MS|
00006040: 2D 44 4F 53 20 64 69 73  6B 73 20 61 6C 6D 6F 73  |-DOS disks almos|
00006050: 74 20 61 6E 79 20 61 76  61 69 6C 61 62 6C 65 20  |t any available |
00006060: 52 41 4D 0A 69 6E 20 74  68 65 20 31 35 34 31 20  |RAM.in the 1541 |
00006070: 69 73 20 75 73 65 64 2E  20 54 68 65 72 65 66 6F  |is used. Therefo|
00006080: 72 65 20 79 6F 75 20 6D  69 67 68 74 20 68 61 76  |re you might hav|
00006090: 65 20 74 72 6F 75 62 6C  65 73 20 77 69 74 68 20  |e troubles with |
000060A0: 75 74 69 6C 69 74 69 65  73 0A 74 68 61 74 20 72  |utilities.that r|
000060B0: 65 6C 79 20 75 70 6F 6E  20 74 68 61 74 20 52 41  |ely upon that RA|
000060C0: 4D 2E 0A 20 0A 20 20 54  68 65 20 70 72 6F 67 72  |M.. .  The progr|
000060D0: 61 6D 73 20 77 69 6C 6C  20 72 65 73 65 74 20 74  |ams will reset t|
000060E0: 68 65 20 64 69 73 6B 20  64 72 69 76 65 20 61 66  |he disk drive af|
000060F0: 74 65 72 20 65 61 63 68  20 63 6F 70 79 20 70 61  |ter each copy pa|
00006100: 73 73 20 69 66 20 61 0A  73 69 6E 67 6C 65 20 64  |ss if a.single d|
00006110: 69 73 6B 20 64 72 69 76  65 20 69 73 20 75 73 65  |isk drive is use|
00006120: 64 2E 20 54 68 69 73 20  77 69 6C 6C 20 72 65 73  |d. This will res|
00006130: 65 74 20 64 65 76 69 63  65 20 6E 75 6D 62 65 72  |et device number|
00006140: 73 20 63 68 61 6E 67 65  64 20 62 79 0A 73 6F 66  |s changed by.sof|
00006150: 74 77 61 72 65 20 74 6F  20 74 68 65 69 72 20 6F  |tware to their o|
00006160: 72 69 67 69 6E 61 6C 20  76 61 6C 75 65 73 2E 0A  |riginal values..|
00006170: 20 0A 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  | .--------------|
00006180: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00006190: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
000061A0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
000061B0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 0A 20 0A 38 29 20 50  |---------. .8) P|
000061C0: 4F 53 53 49 42 4C 45 20  49 4D 50 52 4F 56 45 4D  |OSSIBLE IMPROVEM|
000061D0: 45 4E 54 53 0A 20 0A 20  20 54 68 65 20 70 72 6F  |ENTS. .  The pro|
000061E0: 67 72 61 6D 73 20 31 35  34 31 2D 72 65 61 64 73  |grams 1541-reads|
000061F0: 2D 64 6F 73 20 61 6E 64  20 31 35 34 31 2D 77 72  |-dos and 1541-wr|
00006200: 69 74 65 73 2D 39 30 6B  20 61 72 65 20 62 6F 74  |ites-90k are bot|
00006210: 68 20 64 69 76 69 64 65  64 20 69 6E 74 6F 0A 6D  |h divided into.m|
00006220: 61 63 68 69 6E 65 20 6C  61 6E 67 75 61 67 65 20  |achine language |
00006230: 63 6F 64 65 20 65 78 65  63 75 74 65 64 20 69 6E  |code executed in|
00006240: 20 74 68 65 20 6D 6F 64  69 66 69 65 64 20 31 35  | the modified 15|
00006250: 34 31 20 64 69 73 6B 20  64 72 69 76 65 20 61 6E  |41 disk drive an|
00006260: 64 20 61 0A 63 6F 6D 70  69 6C 65 64 20 43 2D 70  |d a.compiled C-p|
00006270: 72 6F 67 72 61 6D 20 65  78 65 63 75 74 65 64 20  |rogram executed |
00006280: 69 6E 20 74 68 65 20 43  36 34 2E 0A 20 0A 20 20  |in the C64.. .  |
00006290: 54 68 65 72 65 20 61 72  65 20 73 6F 6D 65 20 72  |There are some r|
000062A0: 65 73 74 72 69 63 74 69  6F 6E 73 20 64 75 65 20  |estrictions due |
000062B0: 74 6F 20 74 68 65 20 75  73 65 20 6F 66 20 43 20  |to the use of C |
000062C0: 61 73 20 74 68 65 20 70  72 6F 67 72 61 6D 6D 69  |as the programmi|
000062D0: 6E 67 0A 6C 61 6E 67 75  61 67 65 2E 20 49 66 20  |ng.language. If |
000062E0: 74 68 65 20 43 36 34 20  70 72 6F 67 72 61 6D 73  |the C64 programs|
000062F0: 20 77 6F 75 6C 64 20 62  65 20 72 65 77 72 69 74  | would be rewrit|
00006300: 74 65 6E 20 69 6E 20 61  73 73 65 6D 62 6C 65 72  |ten in assembler|
00006310: 20 6D 61 6E 79 0A 69 6D  70 72 6F 76 65 6D 65 6E  | many.improvemen|
00006320: 74 73 20 63 6F 75 6C 64  20 62 65 20 61 63 68 69  |ts could be achi|
00006330: 65 76 65 64 2E 0A 20 0A  2A 20 53 6D 61 6C 6C 65  |eved.. .* Smalle|
00006340: 72 20 70 72 6F 67 72 61  6D 20 73 69 7A 65 0A 20  |r program size. |
00006350: 0A 20 20 54 68 65 20 72  65 61 64 20 61 6E 64 20  |.  The read and |
00006360: 77 72 69 74 65 20 70 72  6F 67 72 61 6D 73 20 63  |write programs c|
00006370: 6F 75 6C 64 20 62 65 20  63 6F 6D 62 69 6E 65 64  |ould be combined|
00006380: 20 69 6E 74 6F 20 6F 6E  65 20 61 6E 64 20 61 20  | into one and a |
00006390: 62 69 67 67 65 72 0A 63  6F 70 79 20 62 75 66 66  |bigger.copy buff|
000063A0: 65 72 20 63 6F 75 6C 64  20 62 65 20 75 73 65 64  |er could be used|
000063B0: 20 28 63 75 72 72 65 6E  74 20 73 69 7A 65 20 69  | (current size i|
000063C0: 73 20 31 32 4B 42 29 2E  0A 20 0A 2A 20 48 69 67  |s 12KB).. .* Hig|
000063D0: 68 65 72 20 73 70 65 65  64 0A 20 0A 20 20 54 68  |her speed. .  Th|
000063E0: 65 20 72 6F 75 74 69 6E  65 73 20 66 6F 72 20 74  |e routines for t|
000063F0: 65 78 74 20 63 6F 6E 76  65 72 73 69 6F 6E 20 65  |ext conversion e|
00006400: 73 70 65 63 69 61 6C 6C  79 20 63 6F 75 6C 64 20  |specially could |
00006410: 62 65 20 6D 75 63 68 20  66 61 73 74 65 72 2E 0A  |be much faster..|
00006420: 20 0A 20 20 57 69 74 68  20 66 61 73 74 20 74 72  | .  With fast tr|
00006430: 61 6E 73 66 65 72 20 72  6F 75 74 69 6E 65 73 2C  |ansfer routines,|
00006440: 20 4D 53 2D 44 4F 53 20  72 65 61 64 69 6E 67 20  | MS-DOS reading |
00006450: 61 6E 64 20 77 72 69 74  69 6E 67 20 73 70 65 65  |and writing spee|
00006460: 64 20 63 6F 75 6C 64 0A  62 65 20 64 6F 75 62 6C  |d could.be doubl|
00006470: 65 64 2E 0A 20 20 41 73  20 61 6E 20 6F 70 74 69  |ed..  As an opti|
00006480: 6F 6E 2C 20 43 42 4D 20  64 69 73 6B 20 72 65 61  |on, CBM disk rea|
00006490: 64 69 6E 67 20 61 6E 64  20 77 72 69 74 69 6E 67  |ding and writing|
000064A0: 20 63 6F 75 6C 64 20 61  6C 73 6F 20 62 65 20 6D  | could also be m|
000064B0: 61 64 65 20 35 20 74 69  6D 65 73 0A 66 61 73 74  |ade 5 times.fast|
000064C0: 65 72 20 71 75 69 74 65  20 65 61 73 69 6C 79 2E  |er quite easily.|
000064D0: 0A 20 0A 2A 20 42 65 74  74 65 72 20 75 73 65 72  |. .* Better user|
000064E0: 20 69 6E 74 65 72 66 61  63 65 0A 20 0A 20 20 41  | interface. .  A|
000064F0: 20 6C 65 73 73 20 6D 6F  64 61 6C 20 75 73 65 72  | less modal user|
00006500: 20 69 6E 74 65 72 66 61  63 65 2C 20 65 69 74 68  | interface, eith|
00006510: 65 72 20 63 6F 6D 6D 61  6E 64 20 6C 69 6E 65 20  |er command line |
00006520: 6F 72 20 6D 65 6E 75 20  6F 72 69 65 6E 74 65 64  |or menu oriented|
00006530: 2C 0A 63 6F 75 6C 64 20  62 65 20 69 6D 70 6C 65  |,.could be imple|
00006540: 6D 65 6E 74 65 64 2E 0A  20 0A 2A 20 4D 6F 72 65  |mented.. .* More|
00006550: 20 66 6C 65 78 69 62 69  6C 69 74 79 0A 20 0A 20  | flexibility. . |
00006560: 20 31 35 34 31 2D 72 65  61 64 73 2D 64 6F 73 20  | 1541-reads-dos |
00006570: 63 6F 75 6C 64 20 68 61  6E 64 6C 65 20 71 75 69  |could handle qui|
00006580: 74 65 20 65 61 73 69 6C  79 20 61 6C 73 6F 20 31  |te easily also 1|
00006590: 36 30 4B 42 20 64 69 73  6B 73 2E 0A 20 20 53 75  |60KB disks..  Su|
000065A0: 62 64 69 72 65 63 74 6F  72 69 65 73 20 63 6F 75  |bdirectories cou|
000065B0: 6C 64 20 62 65 20 73 75  70 70 6F 72 74 65 64 2E  |ld be supported.|
000065C0: 0A 20 0A 2A 20 49 6D 70  72 6F 76 65 6D 65 6E 74  |. .* Improvement|
000065D0: 20 6F 66 20 6C 6F 77 20  6C 65 76 65 6C 20 72 6F  | of low level ro|
000065E0: 75 74 69 6E 65 73 0A 20  0A 20 20 43 75 72 72 65  |utines. .  Curre|
000065F0: 6E 74 6C 79 2C 20 69 74  20 69 73 20 6E 6F 74 20  |ntly, it is not |
00006600: 70 6F 73 73 69 62 6C 65  20 74 6F 20 77 72 69 74  |possible to writ|
00006610: 65 20 63 6F 6D 70 6C 65  74 65 20 73 65 63 74 6F  |e complete secto|
00006620: 72 73 20 64 75 65 20 74  6F 20 74 6F 6F 0A 6C 69  |rs due to too.li|
00006630: 74 74 6C 65 20 6D 65 6D  6F 72 79 20 69 6E 20 74  |ttle memory in t|
00006640: 68 65 20 31 35 34 31 2E  20 54 68 61 74 20 69 73  |he 1541. That is|
00006650: 20 77 68 79 20 74 68 65  20 39 30 6B 2D 66 6F 72  | why the 90k-for|
00006660: 6D 61 74 20 69 73 20 75  73 65 64 2E 20 42 79 0A  |mat is used. By.|
00006670: 6C 65 74 74 69 6E 67 20  74 68 65 20 43 36 34 20  |letting the C64 |
00006680: 64 6F 20 73 6F 6D 65 20  6F 66 20 74 68 65 20 77  |do some of the w|
00006690: 6F 72 6B 20 63 75 72 72  65 6E 74 6C 79 20 64 6F  |ork currently do|
000066A0: 6E 65 20 62 79 20 74 68  65 20 31 35 34 31 20 69  |ne by the 1541 i|
000066B0: 74 20 63 6F 75 6C 64 0A  62 65 20 70 6F 73 73 69  |t could.be possi|
000066C0: 62 6C 65 20 74 6F 20 77  72 69 74 65 20 63 6F 6D  |ble to write com|
000066D0: 70 6C 65 74 65 20 73 65  63 74 6F 72 73 2E 0A 20  |plete sectors.. |
000066E0: 0A 20 20 54 68 65 20 72  65 67 75 6C 61 72 20 4D  |.  The regular M|
000066F0: 53 2D 44 4F 53 20 66 6F  72 6D 61 74 20 63 6F 75  |S-DOS format cou|
00006700: 6C 64 20 74 68 65 6E 20  62 65 20 75 73 65 64 20  |ld then be used |
00006710: 66 6F 72 20 77 72 69 74  69 6E 67 2C 20 74 6F 6F  |for writing, too|
00006720: 2E 20 43 6F 6D 6D 61 6E  64 73 0A 74 6F 20 64 65  |. Commands.to de|
00006730: 6C 65 74 65 20 61 6E 64  20 72 65 6E 61 6D 65 20  |lete and rename |
00006740: 66 69 6C 65 73 20 63 6F  75 6C 64 20 62 65 20 61  |files could be a|
00006750: 6C 73 6F 20 69 6D 70 6C  65 6D 65 6E 74 65 64 20  |lso implemented |
00006760: 74 68 65 6E 2E 0A 20 0A  20 20 49 74 20 77 6F 75  |then.. .  It wou|
00006770: 6C 64 20 62 65 20 70 6F  73 73 69 62 6C 65 20 74  |ld be possible t|
00006780: 6F 20 73 75 70 70 6F 72  74 20 64 6F 75 62 6C 65  |o support double|
00006790: 20 73 69 64 65 64 20 64  69 73 6B 73 20 62 79 20  | sided disks by |
000067A0: 66 6C 69 70 70 69 6E 67  20 64 69 73 6B 73 0A 6F  |flipping disks.o|
000067B0: 76 65 72 2E 20 41 20 68  61 72 64 77 61 72 65 20  |ver. A hardware |
000067C0: 6F 72 20 73 6F 66 74 77  61 72 65 20 73 77 69 74  |or software swit|
000067D0: 63 68 20 69 6E 73 74 61  6C 6C 65 64 20 69 6E 20  |ch installed in |
000067E0: 74 68 65 20 31 35 34 31  20 74 6F 20 63 68 61 6E  |the 1541 to chan|
000067F0: 67 65 20 74 68 65 0A 73  70 69 6E 6E 69 6E 67 20  |ge the.spinning |
00006800: 64 69 72 65 63 74 69 6F  6E 20 77 6F 75 6C 64 20  |direction would |
00006810: 70 72 6F 62 61 62 6C 79  20 62 65 20 6E 65 63 65  |probably be nece|
00006820: 73 73 61 72 79 2E 0A 20  0A 2D 2D 2D 2D 2D 2D 2D  |ssary.. .-------|
00006830: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00006840: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00006850: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00006860: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00006870: 0A 20 0A 39 29 20 44 49  53 43 4C 41 49 4D 45 52  |. .9) DISCLAIMER|
00006880: 0A 20 0A 20 20 41 6C 74  68 6F 75 67 68 20 74 68  |. .  Although th|
00006890: 65 20 64 72 69 76 65 20  6D 6F 64 69 66 69 63 61  |e drive modifica|
000068A0: 74 69 6F 6E 20 61 6E 64  20 70 72 6F 67 72 61 6D  |tion and program|
000068B0: 73 20 68 61 76 65 20 62  65 65 6E 20 74 65 73 74  |s have been test|
000068C0: 65 64 20 6F 6E 20 73 65  76 65 72 61 6C 0A 64 69  |ed on several.di|
000068D0: 73 6B 20 64 72 69 76 65  73 20 61 6E 64 20 63 6F  |sk drives and co|
000068E0: 6D 70 75 74 65 72 73 2C  20 74 68 65 20 61 75 74  |mputers, the aut|
000068F0: 68 6F 72 73 20 63 61 6E  6E 6F 74 20 67 75 61 72  |hors cannot guar|
00006900: 61 6E 74 65 65 20 74 68  61 74 20 61 6E 79 6F 6E  |antee that anyon|
00006910: 65 20 65 6C 73 65 0A 63  61 6E 20 70 65 72 66 6F  |e else.can perfo|
00006920: 72 6D 20 74 68 69 73 20  75 70 67 72 61 64 65 20  |rm this upgrade |
00006930: 77 69 74 68 6F 75 74 20  64 61 6D 61 67 69 6E 67  |without damaging|
00006940: 20 68 69 73 20 63 6F 6D  70 75 74 65 72 2E 20 57  | his computer. W|
00006950: 65 20 74 68 65 72 65 66  6F 72 65 0A 64 69 73 63  |e therefore.disc|
00006960: 6C 61 69 6D 20 61 6E 79  20 72 65 73 70 6F 6E 73  |laim any respons|
00006970: 69 62 69 6C 69 74 79 20  66 6F 72 20 61 6E 79 20  |ibility for any |
00006980: 64 61 6D 61 67 65 20 74  68 61 74 20 6D 61 79 20  |damage that may |
00006990: 6F 63 63 75 72 20 61 73  20 72 65 73 75 6C 74 20  |occur as result |
000069A0: 6F 66 0A 61 74 74 65 6D  70 74 69 6E 67 20 74 68  |of.attempting th|
000069B0: 69 73 20 75 70 67 72 61  64 65 20 6F 72 20 75 73  |is upgrade or us|
000069C0: 69 6E 67 20 74 68 65 20  61 63 63 6F 6D 70 61 6E  |ing the accompan|
000069D0: 79 69 6E 67 20 70 72 6F  67 72 61 6D 73 2E 20 4B  |ying programs. K|
000069E0: 65 65 70 20 69 6E 20 6D  69 6E 64 0A 74 68 61 74  |eep in mind.that|
000069F0: 20 74 68 65 20 6D 6F 64  69 66 69 63 61 74 69 6F  | the modificatio|
00006A00: 6E 20 77 69 6C 6C 20 61  6C 73 6F 20 76 6F 69 64  |n will also void|
00006A10: 20 61 6E 79 20 77 61 72  72 61 6E 74 79 20 6F 6E  | any warranty on|
00006A20: 20 79 6F 75 72 20 64 69  73 6B 20 64 72 69 76 65  | your disk drive|
00006A30: 2E 0A 20 0A 20 0A 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |.. . .----------|
00006A40: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00006A50: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00006A60: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00006A70: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 0A 20 0A  |-------------. .|
00006A80: 31 30 29 20 43 4F 4E 54  41 43 54 49 4E 47 20 54  |10) CONTACTING T|
00006A90: 48 45 20 41 55 54 48 4F  52 53 0A 20 0A 20 20 49  |HE AUTHORS. .  I|
00006AA0: 66 20 79 6F 75 20 68 61  76 65 20 63 6F 6D 6D 65  |f you have comme|
00006AB0: 6E 74 73 20 6F 72 20 62  75 67 20 72 65 70 6F 72  |nts or bug repor|
00006AC0: 74 73 20 6F 72 20 69 66  20 79 6F 75 20 61 72 65  |ts or if you are|
00006AD0: 20 69 6E 74 65 72 65 73  74 65 64 20 69 6E 0A 69  | interested in.i|
00006AE0: 6D 70 72 6F 76 69 6E 67  20 74 68 65 20 70 72 6F  |mproving the pro|
00006AF0: 67 72 61 6D 73 20 66 65  65 6C 20 66 72 65 65 20  |grams feel free |
00006B00: 74 6F 20 73 65 6E 64 20  65 6D 61 69 6C 20 74 6F  |to send email to|
00006B10: 20 74 68 65 20 70 72 6F  67 72 61 6D 6D 65 72 20  | the programmer |
00006B20: 6F 66 20 74 68 65 0A 43  36 34 20 70 72 6F 67 72  |of the.C64 progr|
00006B30: 61 6D 73 2C 0A 20 0A 52  69 63 68 61 72 64 20 48  |ams,. .Richard H|
00006B40: 61 62 6C 65 0A 52 69 63  68 61 72 64 2E 48 61 62  |able.Richard.Hab|
00006B50: 6C 65 40 6A 6B 2E 75 6E  69 2D 6C 69 6E 7A 2E 61  |le@jk.uni-linz.a|
00006B60: 63 2E 61 74 0A 20 0A 74  6F 20 74 68 65 20 6F 72  |c.at. .to the or|
00006B70: 69 67 69 6E 61 6C 20 64  65 76 65 6C 6F 70 65 72  |iginal developer|
00006B80: 20 6F 66 20 74 68 65 20  64 72 69 76 65 20 6D 6F  | of the drive mo|
00006B90: 64 69 66 69 63 61 74 69  6F 6E 20 61 6E 64 20 4D  |dification and M|
00006BA0: 46 4D 20 72 65 61 64 69  6E 67 0A 72 6F 75 74 69  |FM reading.routi|
00006BB0: 6E 65 2C 0A 20 0A 44 61  6E 69 65 6C 20 46 61 6E  |ne,. .Daniel Fan|
00006BC0: 64 72 69 63 68 0A 64 61  6E 40 66 63 68 2E 77 69  |drich.dan@fch.wi|
00006BD0: 6D 73 65 79 2E 62 63 2E  63 61 0A 6F 72 20 43 6F  |msey.bc.ca.or Co|
00006BE0: 6D 70 75 53 65 72 76 65  20 37 32 33 36 35 2C 33  |mpuServe 72365,3|
00006BF0: 30 36 0A 20 0A 6F 72 20  74 6F 20 74 68 65 20 61  |06. .or to the a|
00006C00: 75 74 68 6F 72 20 6F 66  20 74 68 65 20 52 65 61  |uthor of the Rea|
00006C10: 64 39 30 6B 20 70 72 6F  67 72 61 6D 73 2C 0A 20  |d90k programs,. |
00006C20: 0A 4D 61 72 6B 6F 20 4D  61 6B 65 6C 61 0A 4D 61  |.Marko Makela.Ma|
00006C30: 72 6B 6F 2E 4D 61 6B 65  6C 61 40 48 65 6C 73 69  |rko.Makela@Helsi|
00006C40: 6E 6B 69 2E 66 69 0A 20  0A 20 0A 2D 2D 2D 2D 2D  |nki.fi. . .-----|
00006C50: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00006C60: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00006C70: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00006C80: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00006C90: 2D 2D 2D 2D 0A 0A 41 50  50 45 4E 44 49 58 20 41  |----..APPENDIX A|
00006CA0: 3A 20 4C 49 53 54 49 4E  47 20 4F 46 20 42 41 53  |: LISTING OF BAS|
00006CB0: 49 43 20 50 52 4F 47 52  41 4D 20 31 35 34 31 2D  |IC PROGRAM 1541-|
00006CC0: 44 4F 53 2E 42 4F 4F 54  0A 0A 20 20 54 68 69 73  |DOS.BOOT..  This|
00006CD0: 20 42 41 53 49 43 20 70  72 6F 67 72 61 6D 20 61  | BASIC program a|
00006CE0: 6C 6C 6F 77 73 20 79 6F  75 20 74 6F 20 72 65 61  |llows you to rea|
00006CF0: 64 20 31 35 34 31 2D 64  6F 73 2E 73 66 78 20 66  |d 1541-dos.sfx f|
00006D00: 6F 72 20 74 68 65 20 66  69 72 73 74 0A 74 69 6D  |or the first.tim|
00006D10: 65 2E 20 49 74 20 68 61  73 20 62 65 65 6E 20 6B  |e. It has been k|
00006D20: 65 70 74 20 61 73 20 73  6D 61 6C 6C 20 61 73 20  |ept as small as |
00006D30: 70 6F 73 73 69 62 6C 65  2C 20 74 68 65 72 65 66  |possible, theref|
00006D40: 6F 72 65 2C 20 74 68 65  72 65 20 69 73 20 6C 69  |ore, there is li|
00006D50: 74 74 6C 65 0A 65 72 72  6F 72 20 63 68 65 63 6B  |ttle.error check|
00006D60: 69 6E 67 2E 20 50 6C 65  61 73 65 20 72 65 61 64  |ing. Please read|
00006D70: 20 74 68 65 20 66 6F 6C  6C 6F 77 69 6E 67 20 69  | the following i|
00006D80: 6E 73 74 72 75 63 74 69  6F 6E 73 20 74 6F 20 61  |nstructions to a|
00006D90: 76 6F 69 64 0A 69 6E 63  6F 72 72 65 63 74 20 72  |void.incorrect r|
00006DA0: 65 73 75 6C 74 73 2E 0A  0A 20 20 46 6F 72 6D 61  |esults...  Forma|
00006DB0: 74 20 61 6E 20 4D 53 2D  44 4F 53 20 64 69 73 6B  |t an MS-DOS disk|
00006DC0: 20 66 6F 72 20 64 61 74  61 20 74 72 61 6E 73 66  | for data transf|
00006DD0: 65 72 2C 20 61 73 20 64  65 73 63 72 69 62 65 64  |er, as described|
00006DE0: 20 69 6E 20 33 29 2E 0A  20 20 43 6F 70 79 20 74  | in 3)..  Copy t|
00006DF0: 68 65 20 66 69 6C 65 20  31 35 34 31 2D 64 6F 73  |he file 1541-dos|
00006E00: 2E 73 66 78 20 74 6F 20  74 68 65 20 66 72 65 73  |.sfx to the fres|
00006E10: 68 6C 79 20 66 6F 72 6D  61 74 74 65 64 20 4D 53  |hly formatted MS|
00006E20: 2D 44 4F 53 20 64 69 73  6B 2E 20 0A 20 20 20 0A  |-DOS disk. .   .|
00006E30: 20 20 54 79 70 65 20 69  6E 20 74 68 65 20 42 41  |  Type in the BA|
00006E40: 53 49 43 20 70 72 6F 67  72 61 6D 20 31 35 34 31  |SIC program 1541|
00006E50: 2D 64 6F 73 2E 62 6F 6F  74 2C 20 73 61 76 65 20  |-dos.boot, save |
00006E60: 69 74 20 61 6E 64 20 72  75 6E 20 69 74 20 6F 6E  |it and run it on|
00006E70: 20 61 20 43 36 34 2E 0A  20 20 46 69 72 73 74 2C  | a C64..  First,|
00006E80: 20 79 6F 75 20 68 61 76  65 20 74 6F 20 65 6E 74  | you have to ent|
00006E90: 65 72 20 74 68 65 20 64  65 76 69 63 65 20 6E 75  |er the device nu|
00006EA0: 6D 62 65 72 20 6F 66 20  74 68 65 20 6D 6F 64 69  |mber of the modi|
00006EB0: 66 69 65 64 20 31 35 34  31 2E 20 54 68 69 73 0A  |fied 1541. This.|
00006EC0: 64 72 69 76 65 20 77 69  6C 6C 20 62 65 20 75 73  |drive will be us|
00006ED0: 65 64 20 66 6F 72 20 62  6F 74 68 20 72 65 61 64  |ed for both read|
00006EE0: 69 6E 67 20 61 6E 64 20  77 72 69 74 69 6E 67 2E  |ing and writing.|
00006EF0: 0A 20 20 54 68 65 6E 2C  20 79 6F 75 20 68 61 76  |.  Then, you hav|
00006F00: 65 20 74 6F 20 69 6E 73  65 72 74 20 61 20 63 6F  |e to insert a co|
00006F10: 72 72 65 63 74 6C 79 20  66 6F 72 6D 61 74 74 65  |rrectly formatte|
00006F20: 64 20 43 42 4D 20 64 69  73 6B 2E 20 4E 6F 20 64  |d CBM disk. No d|
00006F30: 61 74 61 20 6F 6E 0A 74  68 69 73 20 64 69 73 6B  |ata on.this disk|
00006F40: 20 77 69 6C 6C 20 62 65  20 63 68 61 6E 67 65 64  | will be changed|
00006F50: 2E 20 49 74 20 69 73 20  6F 6E 6C 79 20 6E 65 63  |. It is only nec|
00006F60: 65 73 73 61 72 79 20 74  6F 20 6C 65 74 20 74 68  |essary to let th|
00006F70: 65 20 64 72 69 76 65 20  66 69 6E 64 0A 63 6F 72  |e drive find.cor|
00006F80: 72 65 63 74 20 74 72 61  63 6B 20 70 6F 73 69 74  |rect track posit|
00006F90: 69 6F 6E 73 2E 0A 20 20  54 68 65 6E 2C 20 79 6F  |ions..  Then, yo|
00006FA0: 75 20 68 61 76 65 20 74  6F 20 69 6E 73 65 72 74  |u have to insert|
00006FB0: 20 74 68 65 20 4D 53 2D  44 4F 53 20 64 69 73 6B  | the MS-DOS disk|
00006FC0: 2E 20 54 68 65 20 70 72  6F 67 72 61 6D 20 31 35  |. The program 15|
00006FD0: 34 31 2D 64 6F 73 2E 73  66 78 0A 77 69 6C 6C 20  |41-dos.sfx.will |
00006FE0: 62 65 20 72 65 61 64 20  69 6E 74 6F 20 6D 65 6D  |be read into mem|
00006FF0: 6F 72 79 2E 20 54 68 69  73 20 77 69 6C 6C 20 74  |ory. This will t|
00007000: 61 6B 65 20 71 75 69 74  65 20 61 20 77 68 69 6C  |ake quite a whil|
00007010: 65 2E 0A 20 20 49 66 20  6E 6F 20 65 72 72 6F 72  |e..  If no error|
00007020: 73 20 6F 63 63 75 72 2C  20 79 6F 75 20 63 61 6E  |s occur, you can|
00007030: 20 69 6E 73 65 72 74 20  61 20 43 42 4D 20 64 69  | insert a CBM di|
00007040: 73 6B 2C 20 74 6F 20 77  68 69 63 68 20 74 68 65  |sk, to which the|
00007050: 0A 70 72 6F 67 72 61 6D  20 31 35 34 31 2D 64 6F  |.program 1541-do|
00007060: 73 2E 73 66 78 20 77 69  6C 6C 20 62 65 20 77 72  |s.sfx will be wr|
00007070: 69 74 74 65 6E 20 74 6F  2E 0A 0A 0A 30 20 72 65  |itten to....0 re|
00007080: 6D 20 31 35 34 31 2D 64  6F 73 2E 62 6F 6F 74 20  |m 1541-dos.boot |
00007090: 20 76 65 72 2E 20 31 36  2E 31 31 2E 31 39 39 33  | ver. 16.11.1993|
000070A0: 0A 31 20 72 65 6D 20 72  65 61 64 20 31 35 34 31  |.1 rem read 1541|
000070B0: 2D 64 6F 73 2E 69 6E 73  74 72 20 21 0A 32 20 3A  |-dos.instr !.2 :|
000070C0: 0A 31 30 20 70 6F 6B 65  35 35 2C 30 3A 70 6F 6B  |.10 poke55,0:pok|
000070D0: 65 35 36 2C 34 38 3A 63  6C 72 0A 31 30 30 20 69  |e56,48:clr.100 i|
000070E0: 6E 70 75 74 22 64 65 76  69 63 65 20 6E 75 6D 62  |nput"device numb|
000070F0: 65 72 22 3B 76 0A 31 35  30 20 69 6E 70 75 74 22  |er";v.150 input"|
00007100: 69 6E 73 65 72 74 20 63  6F 72 72 65 63 74 20 63  |insert correct c|
00007110: 62 6D 20 64 69 73 6B 20  3C 72 65 74 75 72 6E 3E  |bm disk <return>|
00007120: 22 3B 78 24 0A 31 36 30  20 6F 70 65 6E 31 2C 76  |";x$.160 open1,v|
00007130: 2C 31 35 2C 22 69 22 3A  69 6E 70 75 74 23 31 2C  |,15,"i":input#1,|
00007140: 61 2C 62 24 2C 63 2C 64  3A 63 6C 6F 73 65 31 3A  |a,b$,c,d:close1:|
00007150: 69 66 61 3E 3D 32 30 74  68 65 6E 73 74 6F 70 0A  |ifa>=20thenstop.|
00007160: 32 30 30 20 69 6E 70 75  74 22 69 6E 73 65 72 74  |200 input"insert|
00007170: 20 6D 73 2D 64 6F 73 20  73 6F 75 72 63 65 20 64  | ms-dos source d|
00007180: 69 73 6B 20 3C 72 65 74  75 72 6E 3E 22 3B 78 24  |isk <return>";x$|
00007190: 0A 32 31 30 20 6F 70 65  6E 31 2C 76 2C 31 35 3A  |.210 open1,v,15:|
000071A0: 67 6F 73 75 62 32 30 30  30 3A 63 6C 6F 73 65 31  |gosub2000:close1|
000071B0: 0A 33 30 30 20 6F 70 65  6E 31 2C 76 2C 31 35 3A  |.300 open1,v,15:|
000071C0: 70 72 69 6E 74 22 72 65  61 64 69 6E 67 22 0A 33  |print"reading".3|
000071D0: 31 30 20 74 3D 31 3A 73  3D 31 3A 6D 3D 31 32 32  |10 t=1:s=1:m=122|
000071E0: 38 38 3A 62 3D 35 36 0A  33 32 30 20 66 6F 72 64  |88:b=56.320 ford|
000071F0: 3D 31 74 6F 62 3A 67 6F  73 75 62 31 30 30 30 3A  |=1tob:gosub1000:|
00007200: 6D 3D 6D 2B 35 31 32 3A  73 3D 73 2B 31 3A 69 66  |m=m+512:s=s+1:if|
00007210: 73 3E 39 74 68 65 6E 73  3D 31 3A 74 3D 74 2B 31  |s>9thens=1:t=t+1|
00007220: 0A 33 33 30 20 70 72 69  6E 74 22 23 22 3B 3A 6E  |.330 print"#";:n|
00007230: 65 78 74 64 3A 70 72 69  6E 74 3A 70 72 69 6E 74  |extd:print:print|
00007240: 23 31 2C 22 75 69 22 3B  0A 34 30 30 20 69 6E 70  |#1,"ui";.400 inp|
00007250: 75 74 22 69 6E 73 65 72  74 20 63 62 6D 20 64 65  |ut"insert cbm de|
00007260: 73 74 69 6E 61 74 69 6F  6E 20 64 69 73 6B 20 3C  |stination disk <|
00007270: 72 65 74 75 72 6E 3E 22  3B 78 24 0A 34 31 30 20  |return>";x$.410 |
00007280: 6F 70 65 6E 32 2C 76 2C  31 2C 22 31 35 34 31 2D  |open2,v,1,"1541-|
00007290: 64 6F 73 2E 73 66 78 22  3A 69 6E 70 75 74 23 31  |dos.sfx":input#1|
000072A0: 2C 61 2C 62 24 2C 63 2C  64 3A 69 66 61 3E 3D 32  |,a,b$,c,d:ifa>=2|
000072B0: 30 74 68 65 6E 73 74 6F  70 0A 34 32 30 20 66 6F  |0thenstop.420 fo|
000072C0: 72 69 3D 30 74 6F 62 2A  35 31 32 2D 31 3A 70 72  |ri=0tob*512-1:pr|
000072D0: 69 6E 74 23 32 2C 63 68  72 24 28 70 65 65 6B 28  |int#2,chr$(peek(|
000072E0: 31 32 32 38 38 2B 69 29  29 3B 3A 6E 65 78 74 3A  |12288+i));:next:|
000072F0: 63 6C 6F 73 65 32 0A 34  33 30 20 63 6C 6F 73 65  |close2.430 close|
00007300: 31 3A 70 6F 6B 65 35 36  2C 31 36 30 3A 63 6C 72  |1:poke56,160:clr|
00007310: 3A 65 6E 64 0A 39 39 39  20 3A 0A 31 30 30 30 20  |:end.999 :.1000 |
00007320: 72 65 6D 20 72 65 61 64  20 73 65 63 74 6F 72 20  |rem read sector |
00007330: 74 2F 73 20 69 6E 74 6F  20 6D 0A 31 30 31 30 20  |t/s into m.1010 |
00007340: 66 6F 72 63 3D 31 74 6F  31 35 3A 66 6F 72 70 3D  |forc=1to15:forp=|
00007350: 30 74 6F 31 0A 31 30 32  30 20 70 72 69 6E 74 23  |0to1.1020 print#|
00007360: 31 2C 22 6D 2D 77 22 63  68 72 24 28 36 29 63 68  |1,"m-w"chr$(6)ch|
00007370: 72 24 28 34 29 63 68 72  24 28 34 29 63 68 72 24  |r$(4)chr$(4)chr$|
00007380: 28 70 29 63 68 72 24 28  74 29 63 68 72 24 28 30  |(p)chr$(t)chr$(0|
00007390: 29 63 68 72 24 28 73 29  3B 0A 31 30 33 30 20 70  |)chr$(s);.1030 p|
000073A0: 72 69 6E 74 23 31 2C 22  6D 2D 65 22 63 68 72 24  |rint#1,"m-e"chr$|
000073B0: 28 33 29 63 68 72 24 28  34 29 3B 3A 70 72 69 6E  |(3)chr$(4);:prin|
000073C0: 74 23 31 2C 22 6D 2D 72  22 63 68 72 24 28 31 33  |t#1,"m-r"chr$(13|
000073D0: 29 63 68 72 24 28 34 29  63 68 72 24 28 31 29 3B  |)chr$(4)chr$(1);|
000073E0: 3A 67 65 74 23 31 2C 65  24 0A 31 30 34 30 20 69  |:get#1,e$.1040 i|
000073F0: 66 65 24 3C 3E 22 22 74  68 65 6E 69 66 70 3D 30  |fe$<>""thenifp=0|
00007400: 6F 72 28 65 24 3C 3E 63  68 72 24 28 32 29 29 61  |or(e$<>chr$(2))a|
00007410: 6E 64 28 65 24 3C 3E 63  68 72 24 28 34 29 29 74  |nd(e$<>chr$(4))t|
00007420: 68 65 6E 70 72 69 6E 74  22 72 65 61 64 20 65 72  |henprint"read er|
00007430: 72 6F 72 22 3A 73 74 6F  70 0A 31 30 35 30 20 69  |ror":stop.1050 i|
00007440: 66 65 24 3C 3E 22 22 74  68 65 6E 6E 65 78 74 63  |fe$<>""thennextc|
00007450: 3A 70 72 69 6E 74 22 72  65 61 64 20 65 72 72 6F  |:print"read erro|
00007460: 72 22 3A 73 74 6F 70 0A  31 30 36 30 20 66 6F 72  |r":stop.1060 for|
00007470: 69 3D 30 74 6F 32 35 35  73 74 65 70 33 32 3A 70  |i=0to255step32:p|
00007480: 72 69 6E 74 23 31 2C 22  6D 2D 72 22 63 68 72 24  |rint#1,"m-r"chr$|
00007490: 28 69 29 63 68 72 24 28  33 29 63 68 72 24 28 33  |(i)chr$(3)chr$(3|
000074A0: 32 29 3B 0A 31 30 37 30  20 66 6F 72 6A 3D 30 74  |2);.1070 forj=0t|
000074B0: 6F 33 31 3A 67 65 74 23  31 2C 63 24 3A 70 6F 6B  |o31:get#1,c$:pok|
000074C0: 65 6D 2B 32 35 36 2A 70  2B 69 2B 6A 2C 61 73 63  |em+256*p+i+j,asc|
000074D0: 28 63 24 2B 63 68 72 24  28 30 29 29 3A 6E 65 78  |(c$+chr$(0)):nex|
000074E0: 74 3A 6E 65 78 74 0A 31  30 38 30 20 6E 65 78 74  |t:next.1080 next|
000074F0: 70 3A 72 65 74 75 72 6E  0A 32 30 30 30 20 72 65  |p:return.2000 re|
00007500: 6D 20 74 72 61 6E 73 66  65 72 20 6D 2E 63 6F 64  |m transfer m.cod|
00007510: 65 0A 32 30 31 30 20 66  6F 72 69 3D 30 74 6F 31  |e.2010 fori=0to1|
00007520: 30 32 33 3A 72 65 61 64  61 3A 70 72 69 6E 74 23  |023:reada:print#|
00007530: 31 2C 22 6D 2D 77 22 63  68 72 24 28 69 61 6E 64  |1,"m-w"chr$(iand|
00007540: 32 35 35 29 63 68 72 24  28 34 2B 69 2F 32 35 36  |255)chr$(4+i/256|
00007550: 29 63 68 72 24 28 31 29  63 68 72 24 28 61 29 3B  |)chr$(1)chr$(a);|
00007560: 0A 32 30 32 30 20 68 3D  68 2B 61 2A 28 69 2B 31  |.2020 h=h+a*(i+1|
00007570: 29 3A 6E 65 78 74 3A 69  66 68 3C 3E 35 32 34 37  |):next:ifh<>5247|
00007580: 37 35 31 31 74 68 65 6E  73 74 6F 70 0A 32 30 33  |7511thenstop.203|
00007590: 30 20 72 65 74 75 72 6E  0A 39 39 39 39 20 3A 0A  |0 return.9999 :.|
000075A0: 31 30 30 30 30 20 64 61  74 61 37 36 2C 37 35 2C  |10000 data76,75,|
000075B0: 34 2C 37 36 2C 31 34 2C  34 2C 30 2C 31 38 2C 30  |4,76,14,4,0,18,0|
000075C0: 0A 31 30 30 31 30 20 64  61 74 61 31 2C 32 2C 30  |.10010 data1,2,0|
000075D0: 2C 30 2C 30 2C 33 32 2C  30 2C 31 39 33 2C 31 37  |,0,0,32,0,193,17|
000075E0: 33 0A 31 30 30 32 30 20  64 61 74 61 31 2C 32 34  |3.10020 data1,24|
000075F0: 2C 37 32 2C 34 31 2C 32  35 32 2C 39 2C 32 2C 31  |,72,41,252,9,2,1|
00007600: 34 31 0A 31 30 30 33 30  20 64 61 74 61 31 2C 32  |41.10030 data1,2|
00007610: 34 2C 31 37 33 2C 31 32  2C 32 34 2C 37 32 2C 34  |4,173,12,24,72,4|
00007620: 31 2C 32 34 31 0A 31 30  30 34 30 20 64 61 74 61  |1,241.10040 data|
00007630: 39 2C 31 32 2C 31 34 31  2C 31 32 2C 32 34 2C 31  |9,12,141,12,24,1|
00007640: 36 39 2C 37 36 2C 31 34  31 0A 31 30 30 35 30 20  |69,76,141.10050 |
00007650: 64 61 74 61 30 2C 34 2C  31 36 39 2C 37 35 2C 31  |data0,4,169,75,1|
00007660: 34 31 2C 31 2C 34 2C 31  37 34 0A 31 30 30 36 30  |41,1,4,174.10060|
00007670: 20 64 61 74 61 37 2C 34  2C 32 33 32 2C 31 33 34  | data7,4,232,134|
00007680: 2C 38 2C 31 36 39 2C 32  32 34 2C 31 33 33 0A 31  |,8,169,224,133.1|
00007690: 30 30 37 30 20 64 61 74  61 31 2C 31 36 35 2C 31  |0070 data1,165,1|
000076A0: 2C 34 38 2C 32 35 32 2C  31 34 31 2C 31 33 2C 34  |,48,252,141,13,4|
000076B0: 0A 31 30 30 38 30 20 64  61 74 61 31 30 34 2C 31  |.10080 data104,1|
000076C0: 34 31 2C 31 32 2C 32 34  2C 31 30 34 2C 31 34 31  |41,12,24,104,141|
000076D0: 2C 31 0A 31 30 30 39 30  20 64 61 74 61 32 34 2C  |,1.10090 data24,|
000076E0: 39 36 2C 31 36 30 2C 33  33 2C 31 38 35 2C 34 32  |96,160,33,185,42|
000076F0: 2C 32 2C 31 35 33 0A 31  30 31 30 30 20 64 61 74  |,2,153.10100 dat|
00007700: 61 32 31 33 2C 32 2C 31  33 36 2C 31 36 2C 32 34  |a213,2,136,16,24|
00007710: 37 2C 31 37 33 2C 30 0A  31 30 31 31 30 20 64 61  |7,173,0.10110 da|
00007720: 74 61 32 38 2C 34 31 2C  31 35 39 2C 31 34 31 2C  |ta28,41,159,141,|
00007730: 30 2C 32 38 2C 31 36 32  0A 31 30 31 32 30 20 64  |0,28,162.10120 d|
00007740: 61 74 61 36 2C 31 38 39  2C 32 34 38 2C 37 2C 31  |ata6,189,248,7,1|
00007750: 35 37 2C 32 30 39 2C 31  2C 32 30 32 0A 31 30 31  |57,209,1,202.101|
00007760: 33 30 20 64 61 74 61 32  30 38 2C 32 34 37 2C 31  |30 data208,247,1|
00007770: 36 30 2C 31 34 36 2C 31  36 35 2C 31 36 0A 31 30  |60,146,165,16.10|
00007780: 31 34 30 20 64 61 74 61  37 32 2C 31 36 35 2C 31  |140 data72,165,1|
00007790: 37 2C 37 32 2C 31 36 39  2C 31 31 37 2C 31 33 33  |7,72,169,117,133|
000077A0: 0A 31 30 31 35 30 20 64  61 74 61 31 36 2C 31 36  |.10150 data16,16|
000077B0: 39 2C 35 35 2C 31 33 33  2C 31 37 2C 31 33 34 2C  |9,55,133,17,134,|
000077C0: 32 33 0A 31 30 31 36 30  20 64 61 74 61 31 38 39  |23.10160 data189|
000077D0: 2C 37 2C 34 2C 33 32 2C  31 38 37 2C 37 2C 33 32  |,7,4,32,187,7,32|
000077E0: 2C 32 31 38 0A 31 30 31  37 30 20 64 61 74 61 37  |,218.10170 data7|
000077F0: 2C 31 35 33 2C 37 30 2C  31 2C 32 30 30 2C 31 36  |,153,70,1,200,16|
00007800: 35 2C 38 34 2C 31 35 33  0A 31 30 31 38 30 20 64  |5,84,153.10180 d|
00007810: 61 74 61 37 30 2C 31 2C  32 30 30 2C 32 33 32 2C  |ata70,1,200,232,|
00007820: 32 32 34 2C 34 2C 31 34  34 0A 31 30 31 39 30 20  |224,4,144.10190 |
00007830: 64 61 74 61 32 33 32 2C  31 36 39 2C 30 2C 33 32  |data232,169,0,32|
00007840: 2C 31 38 37 2C 37 2C 33  32 2C 31 38 37 0A 31 30  |,187,7,32,187.10|
00007850: 32 30 30 20 64 61 74 61  37 2C 31 36 35 2C 31 37  |200 data7,165,17|
00007860: 2C 33 32 2C 32 31 38 2C  37 2C 31 35 33 2C 37 30  |,32,218,7,153,70|
00007870: 0A 31 30 32 31 30 20 64  61 74 61 31 2C 32 30 30  |.10210 data1,200|
00007880: 2C 31 36 35 2C 38 34 2C  31 35 33 2C 37 30 2C 31  |,165,84,153,70,1|
00007890: 2C 31 36 35 0A 31 30 32  32 30 20 64 61 74 61 31  |,165.10220 data1|
000078A0: 36 2C 32 30 30 2C 31 39  32 2C 31 35 38 2C 31 34  |6,200,192,158,14|
000078B0: 34 2C 32 33 37 0A 31 30  32 33 30 20 64 61 74 61  |4,237.10230 data|
000078C0: 31 30 34 2C 31 33 33 2C  31 37 2C 31 30 34 2C 31  |104,133,17,104,1|
000078D0: 33 33 2C 31 36 2C 31 36  39 0A 31 30 32 34 30 20  |33,16,169.10240 |
000078E0: 64 61 74 61 37 38 2C 33  32 2C 32 31 38 2C 37 2C  |data78,32,218,7,|
000078F0: 31 35 33 2C 37 30 2C 31  2C 31 36 35 0A 31 30 32  |153,70,1,165.102|
00007900: 35 30 20 64 61 74 61 38  34 2C 31 35 33 2C 37 31  |50 data84,153,71|
00007910: 2C 31 2C 31 36 30 2C 30  2C 31 35 32 2C 31 34 31  |,1,160,0,152,141|
00007920: 0A 31 30 32 36 30 20 64  61 74 61 31 32 37 2C 37  |.10260 data127,7|
00007930: 2C 31 36 32 2C 31 34 31  2C 31 38 39 2C 36 39 2C  |,162,141,189,69,|
00007940: 31 0A 31 30 32 37 30 20  64 61 74 61 31 39 32 2C  |1.10270 data192,|
00007950: 38 30 2C 31 34 34 2C 33  2C 31 36 39 2C 31 33 37  |80,144,3,169,137|
00007960: 2C 32 30 32 0A 31 30 32  38 30 20 64 61 74 61 31  |,202.10280 data1|
00007970: 33 33 2C 32 32 2C 31 38  39 2C 37 30 2C 31 2C 37  |33,22,189,70,1,7|
00007980: 32 2C 33 32 2C 31 32 35  0A 31 30 32 39 30 20 64  |2,32,125.10290 d|
00007990: 61 74 61 37 2C 31 35 33  2C 37 30 2C 31 2C 31 30  |ata7,153,70,1,10|
000079A0: 34 2C 32 33 32 2C 32 30  30 0A 31 30 33 30 30 20  |4,232,200.10300 |
000079B0: 64 61 74 61 32 32 34 2C  31 35 39 2C 31 34 34 2C  |data224,159,144,|
000079C0: 32 33 37 2C 32 30 38 2C  34 2C 31 39 32 0A 31 30  |237,208,4,192.10|
000079D0: 33 31 30 20 64 61 74 61  38 30 2C 31 34 34 2C 32  |310 data80,144,2|
000079E0: 33 31 2C 31 37 33 2C 31  32 37 2C 37 2C 32 34 0A  |31,173,127,7,24.|
000079F0: 31 30 33 32 30 20 64 61  74 61 31 30 35 2C 33 2C  |10320 data105,3,|
00007A00: 31 34 31 2C 31 32 37 2C  37 2C 31 36 39 2C 32 35  |141,127,7,169,25|
00007A10: 35 0A 31 30 33 33 30 20  64 61 74 61 31 35 33 2C  |5.10330 data153,|
00007A20: 37 30 2C 31 2C 32 30 30  2C 31 39 32 2C 31 34 30  |70,1,200,192,140|
00007A30: 2C 31 34 34 0A 31 30 33  34 30 20 64 61 74 61 32  |,144.10340 data2|
00007A40: 30 30 2C 31 34 31 2C 32  32 39 2C 31 2C 31 36 39  |00,141,229,1,169|
00007A50: 2C 31 33 2C 31 34 31 0A  31 30 33 35 30 20 64 61  |,13,141.10350 da|
00007A60: 74 61 33 34 2C 36 2C 31  36 39 2C 30 2C 31 34 31  |ta34,6,169,0,141|
00007A70: 2C 34 37 2C 36 2C 33 32  0A 31 30 33 36 30 20 64  |,47,6,32.10360 d|
00007A80: 61 74 61 37 36 2C 35 2C  31 36 39 2C 36 37 2C 31  |ata76,5,169,67,1|
00007A90: 34 31 2C 33 34 2C 36 2C  31 36 39 0A 31 30 33 37  |41,34,6,169.1037|
00007AA0: 30 20 64 61 74 61 35 34  2C 31 34 31 2C 34 37 2C  |0 data54,141,47,|
00007AB0: 36 2C 31 36 39 2C 32 30  38 2C 31 36 30 0A 31 30  |6,169,208,160.10|
00007AC0: 33 38 30 20 64 61 74 61  32 30 30 2C 31 37 34 2C  |380 data200,174,|
00007AD0: 36 2C 34 2C 32 30 38 2C  31 32 2C 31 36 39 0A 31  |6,4,208,12,169.1|
00007AE0: 30 33 39 30 20 64 61 74  61 31 31 32 2C 31 33 33  |0390 data112,133|
00007AF0: 2C 31 36 2C 31 36 39 2C  35 35 2C 31 33 33 2C 31  |,16,169,55,133,1|
00007B00: 37 0A 31 30 34 30 30 20  64 61 74 61 31 36 39 2C  |7.10400 data169,|
00007B10: 31 35 33 2C 31 36 30 2C  30 2C 31 34 31 2C 31 33  |153,160,0,141,13|
00007B20: 30 2C 36 0A 31 30 34 31  30 20 64 61 74 61 31 34  |0,6.10410 data14|
00007B30: 30 2C 31 33 31 2C 36 2C  31 36 32 2C 31 34 34 2C  |0,131,6,162,144,|
00007B40: 31 36 39 2C 32 35 35 0A  31 30 34 32 30 20 64 61  |169,255.10420 da|
00007B50: 74 61 31 35 37 2C 37 30  2C 31 2C 31 33 38 2C 35  |ta157,70,1,138,5|
00007B60: 36 2C 32 33 33 2C 32 30  0A 31 30 34 33 30 20 64  |6,233,20.10430 d|
00007B70: 61 74 61 31 37 30 2C 31  37 36 2C 32 34 34 2C 31  |ata170,176,244,1|
00007B80: 36 32 2C 32 30 32 2C 31  35 34 0A 31 30 34 34 30  |62,202,154.10440|
00007B90: 20 64 61 74 61 31 36 39  2C 32 30 33 2C 31 34 31  | data169,203,141|
00007BA0: 2C 35 2C 32 34 2C 31 36  39 2C 31 38 30 0A 31 30  |,5,24,169,180.10|
00007BB0: 34 35 30 20 64 61 74 61  31 33 33 2C 38 32 2C 31  |450 data133,82,1|
00007BC0: 36 30 2C 30 2C 31 36 39  2C 34 38 2C 31 33 33 0A  |60,0,169,48,133.|
00007BD0: 31 30 34 36 30 20 64 61  74 61 32 34 2C 31 38 34  |10460 data24,184|
00007BE0: 2C 38 30 2C 32 35 34 2C  34 34 2C 31 2C 32 38 2C  |,80,254,44,1,28,|
00007BF0: 31 38 34 0A 31 30 34 37  30 20 64 61 74 61 38 30  |184.10470 data80|
00007C00: 2C 32 35 34 2C 31 37 33  2C 31 2C 32 38 2C 31 38  |,254,173,1,28,18|
00007C10: 34 2C 31 36 32 0A 31 30  34 38 30 20 64 61 74 61  |4,162.10480 data|
00007C20: 38 30 2C 32 30 31 2C 38  35 2C 32 34 30 2C 33 36  |80,201,85,240,36|
00007C30: 2C 38 30 2C 32 35 34 0A  31 30 34 39 30 20 64 61  |,80,254.10490 da|
00007C40: 74 61 31 37 33 2C 31 2C  32 38 2C 31 38 34 2C 31  |ta173,1,28,184,1|
00007C50: 36 32 2C 31 30 30 2C 32  30 31 0A 31 30 35 30 30  |62,100,201.10500|
00007C60: 20 64 61 74 61 31 37 30  2C 32 34 30 2C 38 39 2C  | data170,240,89,|
00007C70: 31 33 36 2C 32 30 38 2C  32 32 32 0A 31 30 35 31  |136,208,222.1051|
00007C80: 30 20 64 61 74 61 31 39  38 2C 32 34 2C 32 30 38  |0 data198,24,208|
00007C90: 2C 32 31 38 2C 31 36 32  2C 31 2C 37 36 0A 31 30  |,218,162,1,76.10|
00007CA0: 35 32 30 20 64 61 74 61  36 38 2C 37 2C 38 30 2C  |520 data68,7,80,|
00007CB0: 32 35 34 2C 34 34 2C 31  2C 32 38 2C 31 38 34 0A  |254,44,1,28,184.|
00007CC0: 31 30 35 33 30 20 64 61  74 61 35 36 2C 37 36 2C  |10530 data56,76,|
00007CD0: 32 35 2C 36 2C 31 36 39  2C 38 35 2C 38 30 2C 32  |25,6,169,85,80,2|
00007CE0: 35 34 0A 31 30 35 34 30  20 64 61 74 61 32 33 37  |54.10540 data237|
00007CF0: 2C 31 2C 32 38 2C 32 34  30 2C 32 34 37 2C 32 30  |,1,28,240,247,20|
00007D00: 31 2C 31 33 0A 31 30 35  35 30 20 64 61 74 61 32  |1,13.10550 data2|
00007D10: 34 30 2C 32 33 33 2C 31  34 34 2C 31 33 2C 38 30  |40,233,144,13,80|
00007D20: 2C 32 35 34 2C 34 34 0A  31 30 35 36 30 20 64 61  |,254,44.10560 da|
00007D30: 74 61 31 2C 32 38 2C 31  36 32 2C 31 32 30 2C 32  |ta1,28,162,120,2|
00007D40: 33 33 2C 35 31 2C 32 34  30 0A 31 30 35 37 30 20  |33,51,240.10570 |
00007D50: 64 61 74 61 31 31 36 2C  32 30 38 2C 31 37 35 2C  |data116,208,175,|
00007D60: 38 30 2C 32 35 34 2C 34  34 2C 31 0A 31 30 35 38  |80,254,44,1.1058|
00007D70: 30 20 64 61 74 61 32 38  2C 31 38 34 2C 31 36 32  |0 data28,184,162|
00007D80: 2C 34 30 2C 32 30 31 2C  33 2C 32 34 30 0A 31 30  |,40,201,3,240.10|
00007D90: 35 39 30 20 64 61 74 61  31 34 2C 38 30 2C 32 35  |590 data14,80,25|
00007DA0: 34 2C 34 34 2C 31 2C 32  38 2C 31 38 34 2C 31 36  |4,44,1,28,184,16|
00007DB0: 32 0A 31 30 36 30 30 20  64 61 74 61 30 2C 32 30  |2.10600 data0,20|
00007DC0: 31 2C 31 2C 32 34 30 2C  39 30 2C 32 30 38 2C 31  |1,1,240,90,208,1|
00007DD0: 34 39 0A 31 30 36 31 30  20 64 61 74 61 38 30 2C  |49.10610 data80,|
00007DE0: 32 35 34 2C 31 37 33 2C  31 2C 32 38 2C 32 33 33  |254,173,1,28,233|
00007DF0: 2C 37 34 0A 31 30 36 32  30 20 64 61 74 61 32 34  |,74.10620 data24|
00007E00: 30 2C 37 39 2C 32 30 38  2C 31 33 38 2C 31 36 39  |0,79,208,138,169|
00007E10: 2C 31 37 30 0A 31 30 36  33 30 20 64 61 74 61 38  |,170.10630 data8|
00007E20: 30 2C 32 35 34 2C 32 33  37 2C 31 2C 32 38 2C 32  |0,254,237,1,28,2|
00007E30: 34 30 2C 32 34 37 0A 31  30 36 34 30 20 64 61 74  |40,247.10640 dat|
00007E40: 61 32 30 31 2C 32 35 2C  32 34 30 2C 31 36 38 2C  |a201,25,240,168,|
00007E50: 31 34 34 2C 31 33 2C 38  30 0A 31 30 36 35 30 20  |144,13,80.10650 |
00007E60: 64 61 74 61 32 35 34 2C  34 34 2C 31 2C 32 38 2C  |data254,44,1,28,|
00007E70: 31 36 32 2C 31 34 30 2C  32 33 33 0A 31 30 36 36  |162,140,233.1066|
00007E80: 30 20 64 61 74 61 31 30  32 2C 32 34 30 2C 35 31  |0 data102,240,51|
00007E90: 2C 32 30 38 2C 32 31 35  2C 38 30 2C 32 35 34 0A  |,208,215,80,254.|
00007EA0: 31 30 36 37 30 20 64 61  74 61 34 34 2C 31 2C 32  |10670 data44,1,2|
00007EB0: 38 2C 31 38 34 2C 31 36  32 2C 36 30 2C 32 30 31  |8,184,162,60,201|
00007EC0: 0A 31 30 36 38 30 20 64  61 74 61 36 2C 32 34 30  |.10680 data6,240|
00007ED0: 2C 31 35 2C 38 30 2C 32  35 34 2C 34 34 2C 31 2C  |,15,80,254,44,1,|
00007EE0: 32 38 0A 31 30 36 39 30  20 64 61 74 61 31 38 34  |28.10690 data184|
00007EF0: 2C 31 36 32 2C 32 30 2C  32 30 31 2C 31 2C 32 34  |,162,20,201,1,24|
00007F00: 30 2C 32 35 0A 31 30 37  30 30 20 64 61 74 61 37  |0,25.10700 data7|
00007F10: 36 2C 38 36 2C 35 2C 38  30 2C 32 35 34 2C 31 37  |6,86,5,80,254,17|
00007F20: 33 2C 31 2C 32 38 0A 31  30 37 31 30 20 64 61 74  |3,1,28.10710 dat|
00007F30: 61 32 33 33 2C 31 34 38  2C 32 34 30 2C 31 33 2C  |a233,148,240,13,|
00007F40: 32 30 38 2C 32 34 32 0A  31 30 37 32 30 20 64 61  |208,242.10720 da|
00007F50: 74 61 31 35 32 2C 35 36  2C 32 33 33 2C 33 2C 31  |ta152,56,233,3,1|
00007F60: 36 38 2C 31 37 36 2C 32  33 35 0A 31 30 37 33 30  |68,176,235.10730|
00007F70: 20 64 61 74 61 37 36 2C  31 32 30 2C 35 2C 32 33  | data76,120,5,23|
00007F80: 32 2C 38 30 2C 32 35 34  2C 31 37 33 0A 31 30 37  |2,80,254,173.107|
00007F90: 34 30 20 64 61 74 61 31  2C 32 38 2C 32 35 33 2C  |40 data1,28,253,|
00007FA0: 37 30 2C 31 2C 32 30 38  2C 31 33 2C 32 33 32 0A  |70,1,208,13,232.|
00007FB0: 31 30 37 35 30 20 64 61  74 61 38 30 2C 32 35 34  |10750 data80,254|
00007FC0: 2C 31 37 33 2C 31 2C 32  38 2C 32 35 33 2C 37 30  |,173,1,28,253,70|
00007FD0: 0A 31 30 37 36 30 20 64  61 74 61 31 2C 32 34 30  |.10760 data1,240|
00007FE0: 2C 32 33 34 2C 32 30 38  2C 30 2C 35 36 2C 31 33  |,234,208,0,56,13|
00007FF0: 38 0A 31 30 37 37 30 20  64 61 74 61 31 37 30 2C  |8.10770 data170,|
00008000: 32 33 33 2C 32 30 2C 31  37 36 2C 32 35 31 2C 32  |233,20,176,251,2|
00008010: 32 34 0A 31 30 37 38 30  20 64 61 74 61 36 2C 31  |24.10780 data6,1|
00008020: 34 34 2C 32 31 31 2C 32  32 34 2C 31 39 2C 32 34  |44,211,224,19,24|
00008030: 30 2C 31 32 0A 31 30 37  39 30 20 64 61 74 61 31  |0,12.10790 data1|
00008040: 39 38 2C 38 32 2C 32 34  30 2C 33 2C 37 36 2C 38  |98,82,240,3,76,8|
00008050: 30 2C 35 2C 31 36 32 0A  31 30 38 30 30 20 64 61  |0,5,162.10800 da|
00008060: 74 61 33 2C 37 36 2C 36  38 2C 37 2C 39 36 2C 31  |ta3,76,68,7,96,1|
00008070: 34 30 2C 31 33 31 2C 36  0A 31 30 38 31 30 20 64  |40,131,6.10810 d|
00008080: 61 74 61 38 30 2C 32 35  34 2C 34 34 2C 31 2C 32  |ata80,254,44,1,2|
00008090: 38 2C 31 38 34 2C 31 36  39 0A 31 30 38 32 30 20  |8,184,169.10820 |
000080A0: 64 61 74 61 31 35 33 2C  31 33 36 2C 32 34 30 2C  |data153,136,240,|
000080B0: 33 34 2C 38 30 2C 32 35  34 2C 34 34 0A 31 30 38  |34,80,254,44.108|
000080C0: 33 30 20 64 61 74 61 31  2C 32 38 2C 31 38 34 2C  |30 data1,28,184,|
000080D0: 31 34 31 2C 31 33 30 2C  36 2C 37 36 2C 37 39 0A  |141,130,6,76,79.|
000080E0: 31 30 38 34 30 20 64 61  74 61 36 2C 38 30 2C 32  |10840 data6,80,2|
000080F0: 35 34 2C 31 37 33 2C 31  2C 32 38 2C 31 38 34 2C  |54,173,1,28,184,|
00008100: 31 33 33 0A 31 30 38 35  30 20 64 61 74 61 38 33  |133.10850 data83|
00008110: 2C 31 38 38 2C 37 30 2C  31 2C 38 30 2C 32 35 34  |,188,70,1,80,254|
00008120: 2C 31 37 33 0A 31 30 38  36 30 20 64 61 74 61 31  |,173.10860 data1|
00008130: 2C 32 38 2C 31 38 34 2C  31 33 33 2C 38 34 2C 32  |,28,184,133,84,2|
00008140: 30 30 2C 32 30 38 0A 31  30 38 37 30 20 64 61 74  |00,208.10870 dat|
00008150: 61 31 35 33 2C 38 30 2C  32 35 34 2C 31 37 33 2C  |a153,80,254,173,|
00008160: 31 2C 32 38 2C 31 38 34  0A 31 30 38 38 30 20 64  |1,28,184.10880 d|
00008170: 61 74 61 31 35 33 2C 30  2C 33 2C 38 30 2C 32 35  |ata153,0,3,80,25|
00008180: 34 2C 31 37 33 2C 31 2C  32 38 0A 31 30 38 39 30  |4,173,1,28.10890|
00008190: 20 64 61 74 61 31 38 34  2C 31 35 33 2C 31 32 39  | data184,153,129|
000081A0: 2C 33 2C 32 30 30 2C 38  30 2C 32 35 34 0A 31 30  |,3,200,80,254.10|
000081B0: 39 30 30 20 64 61 74 61  31 37 33 2C 31 2C 32 38  |900 data173,1,28|
000081C0: 2C 31 38 34 2C 31 35 33  2C 32 30 32 2C 31 0A 31  |,184,153,202,1.1|
000081D0: 30 39 31 30 20 64 61 74  61 31 39 32 2C 31 32 39  |0910 data192,129|
000081E0: 2C 38 30 2C 32 35 34 2C  31 37 33 2C 31 2C 32 38  |,80,254,173,1,28|
000081F0: 0A 31 30 39 32 30 20 64  61 74 61 31 38 34 2C 37  |.10920 data184,7|
00008200: 32 2C 31 34 34 2C 32 31  37 2C 34 34 2C 35 2C 32  |2,144,217,44,5,2|
00008210: 34 0A 31 30 39 33 30 20  64 61 74 61 34 38 2C 35  |4.10930 data48,5|
00008220: 2C 31 36 32 2C 34 2C 37  36 2C 36 38 2C 37 2C 31  |,162,4,76,68,7,1|
00008230: 33 38 0A 31 30 39 34 30  20 64 61 74 61 31 36 32  |38.10940 data162|
00008240: 2C 32 35 35 2C 35 36 2C  32 33 33 2C 32 30 2C 32  |,255,56,233,20,2|
00008250: 33 32 2C 31 37 36 0A 31  30 39 35 30 20 64 61 74  |32,176.10950 dat|
00008260: 61 32 35 31 2C 31 33 38  2C 37 33 2C 37 2C 31 33  |a251,138,73,7,13|
00008270: 33 2C 32 36 2C 31 30 0A  31 30 39 36 30 20 64 61  |3,26,10.10960 da|
00008280: 74 61 31 30 31 2C 32 36  2C 31 34 31 2C 31 32 37  |ta101,26,141,127|
00008290: 2C 37 2C 31 36 39 2C 30  0A 31 30 39 37 30 20 64  |,7,169,0.10970 d|
000082A0: 61 74 61 31 33 33 2C 32  33 2C 31 34 31 2C 31 30  |ata133,23,141,10|
000082B0: 37 2C 37 2C 31 36 30 2C  31 32 39 0A 31 30 39 38  |7,7,160,129.1098|
000082C0: 30 20 64 61 74 61 32 32  34 2C 34 2C 31 30 34 2C  |0 data224,4,104,|
000082D0: 31 37 36 2C 33 2C 31 37  33 2C 37 35 0A 31 30 39  |176,3,173,75.109|
000082E0: 39 30 20 64 61 74 61 32  2C 31 33 33 2C 32 32 2C  |90 data2,133,22,|
000082F0: 31 37 36 2C 36 2C 31 34  34 2C 31 30 2C 31 30 34  |176,6,144,10,104|
00008300: 0A 31 31 30 30 30 20 64  61 74 61 33 32 2C 38 33  |.11000 data32,83|
00008310: 2C 37 2C 31 38 35 2C 32  30 32 2C 31 2C 33 32 2C  |,7,185,202,1,32,|
00008320: 38 33 0A 31 31 30 31 30  20 64 61 74 61 37 2C 31  |83.11010 data7,1|
00008330: 33 36 2C 31 38 35 2C 31  32 39 2C 33 2C 33 32 2C  |36,185,129,3,32,|
00008340: 38 33 2C 37 0A 31 31 30  32 30 20 64 61 74 61 31  |83,7.11020 data1|
00008350: 38 35 2C 30 2C 33 2C 33  32 2C 38 33 2C 37 2C 31  |85,0,3,32,83,7,1|
00008360: 35 32 2C 32 30 38 0A 31  31 30 33 30 20 64 61 74  |52,208.11030 dat|
00008370: 61 32 33 30 2C 31 36 35  2C 38 34 2C 33 32 2C 38  |a230,165,84,32,8|
00008380: 33 2C 37 2C 31 36 35 0A  31 31 30 34 30 20 64 61  |3,7,165.11040 da|
00008390: 74 61 38 33 2C 33 32 2C  38 33 2C 37 2C 31 37 34  |ta83,32,83,7,174|
000083A0: 2C 36 2C 34 2C 32 34 30  0A 31 31 30 35 30 20 64  |,6,4,240.11050 d|
000083B0: 61 74 61 37 2C 31 36 39  2C 30 2C 31 34 31 2C 32  |ata7,169,0,141,2|
000083C0: 30 33 2C 31 2C 31 36 32  2C 30 0A 31 31 30 36 30  |03,1,162,0.11060|
000083D0: 20 64 61 74 61 31 36 30  2C 30 2C 31 38 35 2C 32  | data160,0,185,2|
000083E0: 30 33 2C 31 2C 31 35 37  2C 30 2C 33 0A 31 31 30  |03,1,157,0,3.110|
000083F0: 37 30 20 64 61 74 61 33  32 2C 31 38 37 2C 37 2C  |70 data32,187,7,|
00008400: 31 38 35 2C 31 32 39 2C  33 2C 31 35 37 0A 31 31  |185,129,3,157.11|
00008410: 30 38 30 20 64 61 74 61  31 2C 33 2C 33 32 2C 31  |080 data1,3,32,1|
00008420: 38 37 2C 37 2C 32 30 30  2C 32 33 32 2C 32 33 32  |87,7,200,232,232|
00008430: 0A 31 31 30 39 30 20 64  61 74 61 32 30 38 2C 32  |.11090 data208,2|
00008440: 33 33 2C 31 37 34 2C 36  2C 34 2C 32 30 38 2C 39  |33,174,6,4,208,9|
00008450: 2C 31 37 33 0A 31 31 31  30 30 20 64 61 74 61 37  |,173.11100 data7|
00008460: 35 2C 32 2C 31 34 31 2C  32 2C 37 2C 37 36 2C 36  |5,2,141,2,7,76,6|
00008470: 38 2C 37 2C 31 37 33 0A  31 31 31 31 30 20 64 61  |8,7,173.11110 da|
00008480: 74 61 37 35 2C 32 2C 33  32 2C 31 38 37 2C 37 2C  |ta75,2,32,187,7,|
00008490: 31 37 33 2C 31 2C 34 2C  33 32 0A 31 31 31 32 30  |173,1,4,32.11120|
000084A0: 20 64 61 74 61 31 38 37  2C 37 2C 31 36 35 2C 31  | data187,7,165,1|
000084B0: 36 2C 35 2C 31 37 2C 31  37 30 2C 32 34 30 0A 31  |6,5,17,170,240.1|
000084C0: 31 31 33 30 20 64 61 74  61 32 2C 31 36 32 2C 35  |1130 data2,162,5|
000084D0: 2C 31 36 30 2C 33 33 2C  31 38 35 2C 32 31 33 0A  |,160,33,185,213.|
000084E0: 31 31 31 34 30 20 64 61  74 61 32 2C 31 35 33 2C  |11140 data2,153,|
000084F0: 34 32 2C 32 2C 31 33 36  2C 31 36 2C 32 34 37 2C  |42,2,136,16,247,|
00008500: 31 33 38 0A 31 31 31 35  30 20 64 61 74 61 37 36  |138.11150 data76|
00008510: 2C 31 30 35 2C 32 34 39  2C 31 36 36 2C 32 32 2C  |,105,249,166,22,|
00008520: 37 32 2C 31 33 33 0A 31  31 31 36 30 20 64 61 74  |72,133.11160 dat|
00008530: 61 32 32 2C 31 33 38 2C  33 32 2C 31 32 35 2C 37  |a22,138,32,125,7|
00008540: 2C 31 36 36 2C 32 33 0A  31 31 31 37 30 20 64 61  |,166,23.11170 da|
00008550: 74 61 31 33 33 2C 32 33  2C 32 34 30 2C 32 33 2C  |ta133,23,240,23,|
00008560: 31 33 38 2C 33 32 2C 31  35 30 0A 31 31 31 38 30  |138,32,150.11180|
00008570: 20 64 61 74 61 37 2C 31  36 32 2C 30 2C 31 33 34  | data7,162,0,134|
00008580: 2C 32 33 2C 32 34 30 2C  30 2C 31 35 33 0A 31 31  |,23,240,0,153.11|
00008590: 31 39 30 20 64 61 74 61  31 32 39 2C 33 2C 31 36  |190 data129,3,16|
000085A0: 32 2C 37 2C 32 30 38 2C  33 2C 31 35 33 2C 32 30  |2,7,208,3,153,20|
000085B0: 33 0A 31 31 32 30 30 20  64 61 74 61 31 2C 31 34  |3.11200 data1,14|
000085C0: 32 2C 31 30 37 2C 37 2C  31 30 34 2C 31 33 33 2C  |2,107,7,104,133,|
000085D0: 32 32 0A 31 31 32 31 30  20 64 61 74 61 39 36 2C  |22.11210 data96,|
000085E0: 32 34 2C 31 34 34 2C 32  35 34 2C 37 30 2C 32 32  |24,144,254,70,22|
000085F0: 2C 31 30 36 0A 31 31 32  32 30 20 64 61 74 61 37  |,106.11220 data7|
00008600: 30 2C 32 32 2C 31 30 36  2C 37 30 2C 32 32 2C 31  |0,22,106,70,22,1|
00008610: 30 36 2C 37 30 0A 31 31  32 33 30 20 64 61 74 61  |06,70.11230 data|
00008620: 32 32 2C 31 30 36 2C 37  30 2C 32 32 2C 31 30 36  |22,106,70,22,106|
00008630: 2C 37 30 2C 32 32 0A 31  31 32 34 30 20 64 61 74  |,70,22.11240 dat|
00008640: 61 31 30 36 2C 37 30 2C  32 32 2C 31 30 36 2C 39  |a106,70,22,106,9|
00008650: 36 2C 34 31 2C 31 37 30  0A 31 31 32 35 30 20 64  |6,41,170.11250 d|
00008660: 61 74 61 31 30 35 2C 34  32 2C 34 31 2C 32 31 32  |ata105,42,41,212|
00008670: 2C 31 30 35 2C 32 30 2C  34 31 0A 31 31 32 36 30  |,105,20,41.11260|
00008680: 20 64 61 74 61 32 33 32  2C 31 30 35 2C 38 2C 37  | data232,105,8,7|
00008690: 34 2C 37 34 2C 37 34 2C  37 34 2C 31 33 33 0A 31  |4,74,74,74,133.1|
000086A0: 31 32 37 30 20 64 61 74  61 32 36 2C 31 36 35 2C  |1270 data26,165,|
000086B0: 32 33 2C 34 31 2C 31 37  30 2C 31 30 35 2C 34 32  |23,41,170,105,42|
000086C0: 0A 31 31 32 38 30 20 64  61 74 61 34 31 2C 32 31  |.11280 data41,21|
000086D0: 32 2C 31 30 35 2C 32 30  2C 34 31 2C 32 33 32 2C  |2,105,20,41,232,|
000086E0: 31 30 35 0A 31 31 32 39  30 20 64 61 74 61 38 2C  |105.11290 data8,|
000086F0: 34 31 2C 32 34 30 2C 35  2C 32 36 2C 39 36 2C 37  |41,240,5,26,96,7|
00008700: 32 2C 31 33 33 0A 31 31  33 30 30 20 64 61 74 61  |2,133.11300 data|
00008710: 32 36 2C 35 36 2C 33 38  2C 32 36 2C 32 34 30 2C  |26,56,38,26,240,|
00008720: 32 31 2C 33 38 2C 31 36  0A 31 31 33 31 30 20 64  |21,38,16.11310 d|
00008730: 61 74 61 33 38 2C 31 37  2C 31 34 34 2C 32 34 36  |ata38,17,144,246|
00008740: 2C 31 36 35 2C 31 36 2C  37 33 0A 31 31 33 32 30  |,165,16,73.11320|
00008750: 20 64 61 74 61 33 33 2C  31 33 33 2C 31 36 2C 31  | data33,133,16,1|
00008760: 36 35 2C 31 37 2C 37 33  2C 31 36 0A 31 31 33 33  |65,17,73,16.1133|
00008770: 30 20 64 61 74 61 31 33  33 2C 31 37 2C 32 34 2C  |0 data133,17,24,|
00008780: 31 34 34 2C 32 33 31 2C  31 30 34 2C 39 36 0A 31  |144,231,104,96.1|
00008790: 31 33 34 30 20 64 61 74  61 35 36 2C 34 32 2C 38  |1340 data56,42,8|
000087A0: 2C 31 37 36 2C 36 2C 33  36 2C 32 33 2C 34 38 0A  |,176,6,36,23,48.|
000087B0: 31 31 33 35 30 20 64 61  74 61 32 2C 35 36 2C 33  |11350 data2,56,3|
000087C0: 36 2C 32 34 2C 33 38 2C  38 34 2C 33 38 2C 38 33  |6,24,38,84,38,83|
000087D0: 0A 31 31 33 36 30 20 64  61 74 61 34 30 2C 38 2C  |.11360 data40,8,|
000087E0: 31 30 32 2C 32 33 2C 34  30 2C 33 38 2C 38 34 2C  |102,23,40,38,84,|
000087F0: 33 38 0A 31 31 33 37 30  20 64 61 74 61 38 33 2C  |38.11370 data83,|
00008800: 31 30 2C 32 30 38 2C 32  33 30 2C 31 36 35 2C 38  |10,208,230,165,8|
00008810: 33 2C 39 36 0A 31 31 33  38 30 20 64 61 74 61 36  |3,96.11380 data6|
00008820: 38 2C 31 33 37 2C 36 38  2C 31 33 37 2C 38 35 2C  |8,137,68,137,85,|
00008830: 38 34 2C 31 34 34 0A 0A  2D 2D 2D 2D 2D 2D 2D 2D  |84,144..--------|
00008840: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00008850: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00008860: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00008870: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00008880: 2D 0A 0A 41 50 50 45 4E  44 49 58 20 42 3A 20 43  |-..APPENDIX B: C|
00008890: 2D 56 45 52 53 49 4F 4E  20 4F 46 20 52 45 41 44  |-VERSION OF READ|
000088A0: 39 30 4B 20 46 4F 52 20  55 4E 49 58 0A 0A 20 20  |90K FOR UNIX..  |
000088B0: 49 66 20 79 6F 75 20 64  6F 6E 27 74 20 68 61 76  |If you don't hav|
000088C0: 65 20 4D 53 2D 44 4F 53  20 69 6E 73 74 61 6C 6C  |e MS-DOS install|
000088D0: 65 64 20 6F 6E 20 79 6F  75 72 20 50 43 2C 20 69  |ed on your PC, i|
000088E0: 74 20 6D 69 67 68 74 20  62 65 20 70 6F 73 73 69  |t might be possi|
000088F0: 62 6C 65 20 74 6F 0A 75  73 65 20 74 68 65 20 66  |ble to.use the f|
00008900: 6F 6C 6C 6F 77 69 6E 67  20 43 2D 70 72 6F 67 72  |ollowing C-progr|
00008910: 61 6D 20 74 6F 20 72 65  61 64 20 66 69 6C 65 73  |am to read files|
00008920: 20 66 72 6F 6D 20 64 69  73 6B 73 20 69 6E 20 39  | from disks in 9|
00008930: 30 6B 2D 66 6F 72 6D 61  74 2E 0A 0A 0A 23 69 6E  |0k-format....#in|
00008940: 63 6C 75 64 65 20 3C 73  74 64 69 6F 2E 68 3E 0A  |clude <stdio.h>.|
00008950: 23 69 6E 63 6C 75 64 65  20 3C 73 74 72 69 6E 67  |#include <string|
00008960: 2E 68 3E 0A 20 0A 2F 2A  2A 2A 2A 2A 2A 2A 2A 2A  |.h>. ./*********|
00008970: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00008980: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00008990: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
000089A0: 2A 2A 2A 0A 2A 20 52 65  61 64 39 30 6B 20 76 30  |***.* Read90k v0|
000089B0: 2E 31 0A 2A 0A 2A 20 4D  61 72 6B 6F 20 4D 64 6B  |.1.*.* Marko Mdk|
000089C0: 65 6C 64 0A 2A 20 4D 61  69 6C 3A 20 20 20 20 20  |eld.* Mail:     |
000089D0: 53 69 6C 6C 69 74 69 65  20 31 30 20 41 0A 2A 20  |Sillitie 10 A.* |
000089E0: 20 20 20 20 20 20 20 20  20 20 30 31 34 38 30 20  |          01480 |
000089F0: 56 61 6E 74 61 61 0A 2A  20 20 20 20 20 20 20 20  |Vantaa.*        |
00008A00: 20 20 20 46 69 6E 6C 61  6E 64 0A 2A 20 45 2D 4D  |   Finland.* E-M|
00008A10: 61 69 6C 3A 20 20 20 4D  61 72 6B 6F 2E 4D 61 6B  |ail:   Marko.Mak|
00008A20: 65 6C 61 40 48 65 6C 73  69 6E 6B 69 2E 46 49 0A  |ela@Helsinki.FI.|
00008A30: 2A 0A 2A 20 56 65 72 73  69 6F 6E 20 68 69 73 74  |*.* Version hist|
00008A40: 6F 72 79 3A 0A 2A 0A 2A  20 56 65 72 73 69 6F 6E  |ory:.*.* Version|
00008A50: 20 20 20 44 61 74 65 20  20 20 20 20 20 20 20 20  |   Date         |
00008A60: 20 20 20 20 20 20 20 44  65 73 63 72 69 70 74 69  |       Descripti|
00008A70: 6F 6E 0A 2A 20 76 30 2E  31 20 20 20 20 20 20 4A  |on.* v0.1      J|
00008A80: 75 6E 65 20 20 32 33 72  64 2C 20 31 39 39 33 20  |une  23rd, 1993 |
00008A90: 20 20 20 54 68 65 20 66  69 72 73 74 20 76 65 72  |   The first ver|
00008AA0: 73 69 6F 6E 20 66 6F 72  20 55 6E 69 78 2E 0A 2A  |sion for Unix..*|
00008AB0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00008AC0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00008AD0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00008AE0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2F 0A 20 0A 2F  |***********/. ./|
00008AF0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00008B00: 2A 2A 2A 0A 2A 20 54 72  61 6E 73 6C 61 74 69 6F  |***.* Translatio|
00008B10: 6E 20 74 61 62 6C 65 0A  2A 2A 2A 2A 2A 2A 2A 2A  |n table.********|
00008B20: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2F 0A 20 0A 75  |***********/. .u|
00008B30: 6E 73 69 67 6E 65 64 20  63 68 61 72 20 54 72 61  |nsigned char Tra|
00008B40: 6E 73 6C 61 54 61 62 6C  65 5B 5D 20 3D 0A 7B 0A  |nslaTable[] =.{.|
00008B50: 20 20 20 20 30 78 30 30  2C 20 30 78 30 30 2C 20  |    0x00, 0x00, |
00008B60: 30 78 30 30 2C 20 30 78  30 30 2C 20 30 78 30 30  |0x00, 0x00, 0x00|
00008B70: 2C 20 30 78 30 30 2C 20  30 78 30 30 2C 20 30 78  |, 0x00, 0x00, 0x|
00008B80: 30 30 2C 20 2F 2A 20 30  30 20 2A 2F 0A 20 20 20  |00, /* 00 */.   |
00008B90: 20 30 78 30 30 2C 20 30  78 30 30 2C 20 30 78 30  | 0x00, 0x00, 0x0|
00008BA0: 30 2C 20 30 78 30 30 2C  20 30 78 30 30 2C 20 30  |0, 0x00, 0x00, 0|
00008BB0: 78 30 41 2C 20 30 78 30  30 2C 20 30 78 30 30 2C  |x0A, 0x00, 0x00,|
00008BC0: 0A 20 20 20 20 30 78 30  30 2C 20 30 78 30 30 2C  |.    0x00, 0x00,|
00008BD0: 20 30 78 30 30 2C 20 30  78 30 30 2C 20 30 78 30  | 0x00, 0x00, 0x0|
00008BE0: 30 2C 20 30 78 30 30 2C  20 30 78 30 30 2C 20 30  |0, 0x00, 0x00, 0|
00008BF0: 78 30 30 2C 20 2F 2A 20  31 30 20 2A 2F 0A 20 20  |x00, /* 10 */.  |
00008C00: 20 20 30 78 30 30 2C 20  30 78 30 30 2C 20 30 78  |  0x00, 0x00, 0x|
00008C10: 30 30 2C 20 30 78 30 30  2C 20 30 78 30 30 2C 20  |00, 0x00, 0x00, |
00008C20: 30 78 30 30 2C 20 30 78  30 30 2C 20 30 78 30 30  |0x00, 0x00, 0x00|
00008C30: 2C 0A 20 20 20 20 30 78  32 30 2C 20 30 78 32 31  |,.    0x20, 0x21|
00008C40: 2C 20 30 78 32 32 2C 20  30 78 32 33 2C 20 30 78  |, 0x22, 0x23, 0x|
00008C50: 32 34 2C 20 30 78 32 35  2C 20 30 78 32 36 2C 20  |24, 0x25, 0x26, |
00008C60: 30 78 32 37 2C 20 2F 2A  20 32 30 20 2A 2F 0A 20  |0x27, /* 20 */. |
00008C70: 20 20 20 30 78 32 38 2C  20 30 78 32 39 2C 20 30  |   0x28, 0x29, 0|
00008C80: 78 32 41 2C 20 30 78 32  42 2C 20 30 78 32 43 2C  |x2A, 0x2B, 0x2C,|
00008C90: 20 30 78 32 44 2C 20 30  78 32 45 2C 20 30 78 32  | 0x2D, 0x2E, 0x2|
00008CA0: 46 2C 0A 20 20 20 20 30  78 33 30 2C 20 30 78 33  |F,.    0x30, 0x3|
00008CB0: 31 2C 20 30 78 33 32 2C  20 30 78 33 33 2C 20 30  |1, 0x32, 0x33, 0|
00008CC0: 78 33 34 2C 20 30 78 33  35 2C 20 30 78 33 36 2C  |x34, 0x35, 0x36,|
00008CD0: 20 30 78 33 37 2C 20 2F  2A 20 33 30 20 2A 2F 0A  | 0x37, /* 30 */.|
00008CE0: 20 20 20 20 30 78 33 38  2C 20 30 78 33 39 2C 20  |    0x38, 0x39, |
00008CF0: 30 78 33 41 2C 20 30 78  33 42 2C 20 30 78 33 43  |0x3A, 0x3B, 0x3C|
00008D00: 2C 20 30 78 33 44 2C 20  30 78 33 45 2C 20 30 78  |, 0x3D, 0x3E, 0x|
00008D10: 33 46 2C 0A 20 20 20 20  30 78 34 30 2C 20 30 78  |3F,.    0x40, 0x|
00008D20: 36 31 2C 20 30 78 36 32  2C 20 30 78 36 33 2C 20  |61, 0x62, 0x63, |
00008D30: 30 78 36 34 2C 20 30 78  36 35 2C 20 30 78 36 36  |0x64, 0x65, 0x66|
00008D40: 2C 20 30 78 36 37 2C 20  2F 2A 20 34 30 20 2A 2F  |, 0x67, /* 40 */|
00008D50: 0A 20 20 20 20 30 78 36  38 2C 20 30 78 36 39 2C  |.    0x68, 0x69,|
00008D60: 20 30 78 36 41 2C 20 30  78 36 42 2C 20 30 78 36  | 0x6A, 0x6B, 0x6|
00008D70: 43 2C 20 30 78 36 44 2C  20 30 78 36 45 2C 20 30  |C, 0x6D, 0x6E, 0|
00008D80: 78 36 46 2C 0A 20 20 20  20 30 78 37 30 2C 20 30  |x6F,.    0x70, 0|
00008D90: 78 37 31 2C 20 30 78 37  32 2C 20 30 78 37 33 2C  |x71, 0x72, 0x73,|
00008DA0: 20 30 78 37 34 2C 20 30  78 37 35 2C 20 30 78 37  | 0x74, 0x75, 0x7|
00008DB0: 36 2C 20 30 78 37 37 2C  20 2F 2A 20 35 30 20 2A  |6, 0x77, /* 50 *|
00008DC0: 2F 0A 20 20 20 20 30 78  37 38 2C 20 30 78 37 39  |/.    0x78, 0x79|
00008DD0: 2C 20 30 78 37 41 2C 20  30 78 35 42 2C 20 30 78  |, 0x7A, 0x5B, 0x|
00008DE0: 30 30 2C 20 30 78 35 44  2C 20 30 78 35 45 2C 20  |00, 0x5D, 0x5E, |
00008DF0: 30 78 30 30 2C 0A 20 20  20 20 30 78 30 30 2C 20  |0x00,.    0x00, |
00008E00: 30 78 34 31 2C 20 30 78  34 32 2C 20 30 78 34 33  |0x41, 0x42, 0x43|
00008E10: 2C 20 30 78 34 34 2C 20  30 78 34 35 2C 20 30 78  |, 0x44, 0x45, 0x|
00008E20: 34 36 2C 20 30 78 34 37  2C 20 2F 2A 20 36 30 20  |46, 0x47, /* 60 |
00008E30: 2A 2F 0A 20 20 20 20 30  78 34 38 2C 20 30 78 34  |*/.    0x48, 0x4|
00008E40: 39 2C 20 30 78 34 41 2C  20 30 78 34 42 2C 20 30  |9, 0x4A, 0x4B, 0|
00008E50: 78 34 43 2C 20 30 78 34  44 2C 20 30 78 34 45 2C  |x4C, 0x4D, 0x4E,|
00008E60: 20 30 78 34 46 2C 0A 20  20 20 20 30 78 35 30 2C  | 0x4F,.    0x50,|
00008E70: 20 30 78 35 31 2C 20 30  78 35 32 2C 20 30 78 35  | 0x51, 0x52, 0x5|
00008E80: 33 2C 20 30 78 35 34 2C  20 30 78 35 35 2C 20 30  |3, 0x54, 0x55, 0|
00008E90: 78 35 36 2C 20 30 78 35  37 2C 20 2F 2A 20 37 30  |x56, 0x57, /* 70|
00008EA0: 20 2A 2F 0A 20 20 20 20  30 78 35 38 2C 20 30 78  | */.    0x58, 0x|
00008EB0: 35 39 2C 20 30 78 35 41  2C 20 30 78 30 30 2C 20  |59, 0x5A, 0x00, |
00008EC0: 30 78 30 30 2C 20 30 78  30 30 2C 20 30 78 30 30  |0x00, 0x00, 0x00|
00008ED0: 2C 20 30 78 30 30 2C 0A  20 20 20 20 30 78 30 30  |, 0x00,.    0x00|
00008EE0: 2C 20 30 78 30 30 2C 20  30 78 30 30 2C 20 30 78  |, 0x00, 0x00, 0x|
00008EF0: 30 30 2C 20 30 78 30 30  2C 20 30 78 30 30 2C 20  |00, 0x00, 0x00, |
00008F00: 30 78 30 30 2C 20 30 78  30 30 2C 20 2F 2A 20 38  |0x00, 0x00, /* 8|
00008F10: 30 20 2A 2F 0A 20 20 20  20 30 78 30 30 2C 20 30  |0 */.    0x00, 0|
00008F20: 78 30 30 2C 20 30 78 30  30 2C 20 30 78 30 30 2C  |x00, 0x00, 0x00,|
00008F30: 20 30 78 30 30 2C 20 30  78 30 30 2C 20 30 78 30  | 0x00, 0x00, 0x0|
00008F40: 30 2C 20 30 78 30 30 2C  0A 20 20 20 20 30 78 30  |0, 0x00,.    0x0|
00008F50: 30 2C 20 30 78 30 30 2C  20 30 78 30 30 2C 20 30  |0, 0x00, 0x00, 0|
00008F60: 78 30 30 2C 20 30 78 30  30 2C 20 30 78 30 30 2C  |x00, 0x00, 0x00,|
00008F70: 20 30 78 30 30 2C 20 30  78 30 30 2C 20 2F 2A 20  | 0x00, 0x00, /* |
00008F80: 39 30 20 2A 2F 0A 20 20  20 20 30 78 30 30 2C 20  |90 */.    0x00, |
00008F90: 30 78 30 30 2C 20 30 78  30 30 2C 20 30 78 30 30  |0x00, 0x00, 0x00|
00008FA0: 2C 20 30 78 30 30 2C 20  30 78 30 30 2C 20 30 78  |, 0x00, 0x00, 0x|
00008FB0: 30 30 2C 20 30 78 30 30  2C 0A 20 20 20 20 30 78  |00, 0x00,.    0x|
00008FC0: 30 30 2C 20 30 78 30 30  2C 20 30 78 30 30 2C 20  |00, 0x00, 0x00, |
00008FD0: 30 78 30 30 2C 20 30 78  30 30 2C 20 30 78 30 30  |0x00, 0x00, 0x00|
00008FE0: 2C 20 30 78 30 30 2C 20  30 78 30 30 2C 20 2F 2A  |, 0x00, 0x00, /*|
00008FF0: 20 41 30 20 2A 2F 0A 20  20 20 20 30 78 30 30 2C  | A0 */.    0x00,|
00009000: 20 30 78 30 30 2C 20 30  78 30 30 2C 20 30 78 30  | 0x00, 0x00, 0x0|
00009010: 30 2C 20 30 78 30 30 2C  20 30 78 30 30 2C 20 30  |0, 0x00, 0x00, 0|
00009020: 78 30 30 2C 20 30 78 30  30 2C 0A 20 20 20 20 30  |x00, 0x00,.    0|
00009030: 78 30 30 2C 20 30 78 30  30 2C 20 30 78 30 30 2C  |x00, 0x00, 0x00,|
00009040: 20 30 78 30 30 2C 20 30  78 30 30 2C 20 30 78 30  | 0x00, 0x00, 0x0|
00009050: 30 2C 20 30 78 30 30 2C  20 30 78 30 30 2C 20 2F  |0, 0x00, 0x00, /|
00009060: 2A 20 42 30 20 2A 2F 0A  20 20 20 20 30 78 30 30  |* B0 */.    0x00|
00009070: 2C 20 30 78 30 30 2C 20  30 78 30 30 2C 20 30 78  |, 0x00, 0x00, 0x|
00009080: 30 30 2C 20 30 78 30 30  2C 20 30 78 30 30 2C 20  |00, 0x00, 0x00, |
00009090: 30 78 30 30 2C 20 30 78  30 30 2C 0A 20 20 20 20  |0x00, 0x00,.    |
000090A0: 30 78 30 30 2C 20 30 78  34 31 2C 20 30 78 34 32  |0x00, 0x41, 0x42|
000090B0: 2C 20 30 78 34 33 2C 20  30 78 34 34 2C 20 30 78  |, 0x43, 0x44, 0x|
000090C0: 34 35 2C 20 30 78 34 36  2C 20 30 78 34 37 2C 20  |45, 0x46, 0x47, |
000090D0: 2F 2A 20 43 30 20 2A 2F  0A 20 20 20 20 30 78 34  |/* C0 */.    0x4|
000090E0: 38 2C 20 30 78 34 39 2C  20 30 78 34 41 2C 20 30  |8, 0x49, 0x4A, 0|
000090F0: 78 34 42 2C 20 30 78 34  43 2C 20 30 78 34 44 2C  |x4B, 0x4C, 0x4D,|
00009100: 20 30 78 34 45 2C 20 30  78 34 46 2C 0A 20 20 20  | 0x4E, 0x4F,.   |
00009110: 20 30 78 35 30 2C 20 30  78 35 31 2C 20 30 78 35  | 0x50, 0x51, 0x5|
00009120: 32 2C 20 30 78 35 33 2C  20 30 78 35 34 2C 20 30  |2, 0x53, 0x54, 0|
00009130: 78 35 35 2C 20 30 78 35  36 2C 20 30 78 35 37 2C  |x55, 0x56, 0x57,|
00009140: 20 2F 2A 20 44 30 20 2A  2F 0A 20 20 20 20 30 78  | /* D0 */.    0x|
00009150: 35 38 2C 20 30 78 35 39  2C 20 30 78 35 41 2C 20  |58, 0x59, 0x5A, |
00009160: 30 78 30 30 2C 20 30 78  30 30 2C 20 30 78 30 30  |0x00, 0x00, 0x00|
00009170: 2C 20 30 78 30 30 2C 20  30 78 30 30 2C 0A 20 20  |, 0x00, 0x00,.  |
00009180: 20 20 30 78 30 30 2C 20  30 78 30 30 2C 20 30 78  |  0x00, 0x00, 0x|
00009190: 30 30 2C 20 30 78 30 30  2C 20 30 78 30 30 2C 20  |00, 0x00, 0x00, |
000091A0: 30 78 30 30 2C 20 30 78  30 30 2C 20 30 78 30 30  |0x00, 0x00, 0x00|
000091B0: 2C 20 2F 2A 20 45 30 20  2A 2F 0A 20 20 20 20 30  |, /* E0 */.    0|
000091C0: 78 30 30 2C 20 30 78 30  30 2C 20 30 78 30 30 2C  |x00, 0x00, 0x00,|
000091D0: 20 30 78 30 30 2C 20 30  78 30 30 2C 20 30 78 30  | 0x00, 0x00, 0x0|
000091E0: 30 2C 20 30 78 30 30 2C  20 30 78 30 30 2C 0A 20  |0, 0x00, 0x00,. |
000091F0: 20 20 20 30 78 30 30 2C  20 30 78 30 30 2C 20 30  |   0x00, 0x00, 0|
00009200: 78 30 30 2C 20 30 78 30  30 2C 20 30 78 30 30 2C  |x00, 0x00, 0x00,|
00009210: 20 30 78 30 30 2C 20 30  78 30 30 2C 20 30 78 30  | 0x00, 0x00, 0x0|
00009220: 30 2C 20 2F 2A 20 46 30  20 2A 2F 0A 20 20 20 20  |0, /* F0 */.    |
00009230: 30 78 30 30 2C 20 30 78  30 30 2C 20 30 78 30 30  |0x00, 0x00, 0x00|
00009240: 2C 20 30 78 30 30 2C 20  30 78 30 30 2C 20 30 78  |, 0x00, 0x00, 0x|
00009250: 30 30 2C 20 30 78 30 30  2C 20 30 78 30 30 2C 0A  |00, 0x00, 0x00,.|
00009260: 20 0A 20 20 20 20 30 78  30 30 2C 20 30 78 30 30  | .    0x00, 0x00|
00009270: 2C 20 30 78 30 30 2C 20  30 78 30 30 2C 20 30 78  |, 0x00, 0x00, 0x|
00009280: 30 30 2C 20 30 78 30 30  2C 20 30 78 30 30 2C 20  |00, 0x00, 0x00, |
00009290: 30 78 30 30 2C 20 2F 2A  20 30 30 20 2A 2F 0A 20  |0x00, /* 00 */. |
000092A0: 20 20 20 30 78 30 30 2C  20 30 78 30 30 2C 20 30  |   0x00, 0x00, 0|
000092B0: 78 30 30 2C 20 30 78 30  30 2C 20 30 78 30 30 2C  |x00, 0x00, 0x00,|
000092C0: 20 30 78 30 41 2C 20 30  78 30 30 2C 20 30 78 30  | 0x0A, 0x00, 0x0|
000092D0: 30 2C 0A 20 20 20 20 30  78 30 30 2C 20 30 78 30  |0,.    0x00, 0x0|
000092E0: 30 2C 20 30 78 30 30 2C  20 30 78 30 30 2C 20 30  |0, 0x00, 0x00, 0|
000092F0: 78 30 30 2C 20 30 78 30  30 2C 20 30 78 30 30 2C  |x00, 0x00, 0x00,|
00009300: 20 30 78 30 30 2C 20 2F  2A 20 31 30 20 2A 2F 0A  | 0x00, /* 10 */.|
00009310: 20 20 20 20 30 78 30 30  2C 20 30 78 30 30 2C 20  |    0x00, 0x00, |
00009320: 30 78 30 30 2C 20 30 78  30 30 2C 20 30 78 30 30  |0x00, 0x00, 0x00|
00009330: 2C 20 30 78 30 30 2C 20  30 78 30 30 2C 20 30 78  |, 0x00, 0x00, 0x|
00009340: 30 30 2C 0A 20 20 20 20  30 78 32 30 2C 20 30 78  |00,.    0x20, 0x|
00009350: 32 31 2C 20 30 78 32 32  2C 20 30 78 32 33 2C 20  |21, 0x22, 0x23, |
00009360: 30 78 32 34 2C 20 30 78  32 35 2C 20 30 78 32 36  |0x24, 0x25, 0x26|
00009370: 2C 20 30 78 32 37 2C 20  2F 2A 20 32 30 20 2A 2F  |, 0x27, /* 20 */|
00009380: 0A 20 20 20 20 30 78 32  38 2C 20 30 78 32 39 2C  |.    0x28, 0x29,|
00009390: 20 30 78 32 41 2C 20 30  78 32 42 2C 20 30 78 32  | 0x2A, 0x2B, 0x2|
000093A0: 43 2C 20 30 78 32 44 2C  20 30 78 32 45 2C 20 30  |C, 0x2D, 0x2E, 0|
000093B0: 78 32 46 2C 0A 20 20 20  20 30 78 33 30 2C 20 30  |x2F,.    0x30, 0|
000093C0: 78 33 31 2C 20 30 78 33  32 2C 20 30 78 33 33 2C  |x31, 0x32, 0x33,|
000093D0: 20 30 78 33 34 2C 20 30  78 33 35 2C 20 30 78 33  | 0x34, 0x35, 0x3|
000093E0: 36 2C 20 30 78 33 37 2C  20 2F 2A 20 33 30 20 2A  |6, 0x37, /* 30 *|
000093F0: 2F 0A 20 20 20 20 30 78  33 38 2C 20 30 78 33 39  |/.    0x38, 0x39|
00009400: 2C 20 30 78 33 41 2C 20  30 78 33 42 2C 20 30 78  |, 0x3A, 0x3B, 0x|
00009410: 33 43 2C 20 30 78 33 44  2C 20 30 78 33 45 2C 20  |3C, 0x3D, 0x3E, |
00009420: 30 78 33 46 2C 0A 20 20  20 20 30 78 34 30 2C 20  |0x3F,.    0x40, |
00009430: 30 78 36 31 2C 20 30 78  36 32 2C 20 30 78 36 33  |0x61, 0x62, 0x63|
00009440: 2C 20 30 78 36 34 2C 20  30 78 36 35 2C 20 30 78  |, 0x64, 0x65, 0x|
00009450: 36 36 2C 20 30 78 36 37  2C 20 2F 2A 20 34 30 20  |66, 0x67, /* 40 |
00009460: 2A 2F 0A 20 20 20 20 30  78 36 38 2C 20 30 78 36  |*/.    0x68, 0x6|
00009470: 39 2C 20 30 78 36 41 2C  20 30 78 36 42 2C 20 30  |9, 0x6A, 0x6B, 0|
00009480: 78 36 43 2C 20 30 78 36  44 2C 20 30 78 36 45 2C  |x6C, 0x6D, 0x6E,|
00009490: 20 30 78 36 46 2C 0A 20  20 20 20 30 78 37 30 2C  | 0x6F,.    0x70,|
000094A0: 20 30 78 37 31 2C 20 30  78 37 32 2C 20 30 78 37  | 0x71, 0x72, 0x7|
000094B0: 33 2C 20 30 78 37 34 2C  20 30 78 37 35 2C 20 30  |3, 0x74, 0x75, 0|
000094C0: 78 37 36 2C 20 30 78 37  37 2C 20 2F 2A 20 35 30  |x76, 0x77, /* 50|
000094D0: 20 2A 2F 0A 20 20 20 20  30 78 37 38 2C 20 30 78  | */.    0x78, 0x|
000094E0: 37 39 2C 20 30 78 37 41  2C 20 30 78 35 42 2C 20  |79, 0x7A, 0x5B, |
000094F0: 30 78 35 43 2C 20 30 78  35 44 2C 20 30 78 35 45  |0x5C, 0x5D, 0x5E|
00009500: 2C 20 30 78 35 46 2C 0A  20 20 20 20 30 78 30 30  |, 0x5F,.    0x00|
00009510: 2C 20 30 78 34 31 2C 20  30 78 34 32 2C 20 30 78  |, 0x41, 0x42, 0x|
00009520: 34 33 2C 20 30 78 34 34  2C 20 30 78 34 35 2C 20  |43, 0x44, 0x45, |
00009530: 30 78 34 36 2C 20 30 78  34 37 2C 20 2F 2A 20 36  |0x46, 0x47, /* 6|
00009540: 30 20 2A 2F 0A 20 20 20  20 30 78 34 38 2C 20 30  |0 */.    0x48, 0|
00009550: 78 34 39 2C 20 30 78 34  41 2C 20 30 78 34 42 2C  |x49, 0x4A, 0x4B,|
00009560: 20 30 78 34 43 2C 20 30  78 34 44 2C 20 30 78 34  | 0x4C, 0x4D, 0x4|
00009570: 45 2C 20 30 78 34 46 2C  0A 20 20 20 20 30 78 35  |E, 0x4F,.    0x5|
00009580: 30 2C 20 30 78 35 31 2C  20 30 78 35 32 2C 20 30  |0, 0x51, 0x52, 0|
00009590: 78 35 33 2C 20 30 78 35  34 2C 20 30 78 35 35 2C  |x53, 0x54, 0x55,|
000095A0: 20 30 78 35 36 2C 20 30  78 35 37 2C 20 2F 2A 20  | 0x56, 0x57, /* |
000095B0: 37 30 20 2A 2F 0A 20 20  20 20 30 78 35 38 2C 20  |70 */.    0x58, |
000095C0: 30 78 35 39 2C 20 30 78  35 41 2C 20 30 78 30 30  |0x59, 0x5A, 0x00|
000095D0: 2C 20 30 78 30 30 2C 20  30 78 30 30 2C 20 30 78  |, 0x00, 0x00, 0x|
000095E0: 30 30 2C 20 30 78 30 30  2C 0A 20 20 20 20 30 78  |00, 0x00,.    0x|
000095F0: 30 30 2C 20 30 78 30 30  2C 20 30 78 30 30 2C 20  |00, 0x00, 0x00, |
00009600: 30 78 30 30 2C 20 30 78  30 30 2C 20 30 78 30 30  |0x00, 0x00, 0x00|
00009610: 2C 20 30 78 30 30 2C 20  30 78 30 30 2C 20 2F 2A  |, 0x00, 0x00, /*|
00009620: 20 38 30 20 2A 2F 0A 20  20 20 20 30 78 30 30 2C  | 80 */.    0x00,|
00009630: 20 30 78 30 30 2C 20 30  78 30 30 2C 20 30 78 30  | 0x00, 0x00, 0x0|
00009640: 30 2C 20 30 78 30 30 2C  20 30 78 30 30 2C 20 30  |0, 0x00, 0x00, 0|
00009650: 78 30 30 2C 20 30 78 30  30 2C 0A 20 20 20 20 30  |x00, 0x00,.    0|
00009660: 78 30 30 2C 20 30 78 30  30 2C 20 30 78 30 30 2C  |x00, 0x00, 0x00,|
00009670: 20 30 78 30 30 2C 20 30  78 30 30 2C 20 30 78 30  | 0x00, 0x00, 0x0|
00009680: 30 2C 20 30 78 30 30 2C  20 30 78 30 30 2C 20 2F  |0, 0x00, 0x00, /|
00009690: 2A 20 39 30 20 2A 2F 0A  20 20 20 20 30 78 30 30  |* 90 */.    0x00|
000096A0: 2C 20 30 78 30 30 2C 20  30 78 30 30 2C 20 30 78  |, 0x00, 0x00, 0x|
000096B0: 30 30 2C 20 30 78 30 30  2C 20 30 78 30 30 2C 20  |00, 0x00, 0x00, |
000096C0: 30 78 30 30 2C 20 30 78  30 30 2C 0A 20 20 20 20  |0x00, 0x00,.    |
000096D0: 30 78 30 30 2C 20 30 78  30 30 2C 20 30 78 30 30  |0x00, 0x00, 0x00|
000096E0: 2C 20 30 78 30 30 2C 20  30 78 30 30 2C 20 30 78  |, 0x00, 0x00, 0x|
000096F0: 30 30 2C 20 30 78 30 30  2C 20 30 78 30 30 2C 20  |00, 0x00, 0x00, |
00009700: 2F 2A 20 41 30 20 2A 2F  0A 20 20 20 20 30 78 30  |/* A0 */.    0x0|
00009710: 30 2C 20 30 78 30 30 2C  20 30 78 30 30 2C 20 30  |0, 0x00, 0x00, 0|
00009720: 78 30 30 2C 20 30 78 30  30 2C 20 30 78 30 30 2C  |x00, 0x00, 0x00,|
00009730: 20 30 78 30 30 2C 20 30  78 30 30 2C 0A 20 20 20  | 0x00, 0x00,.   |
00009740: 20 30 78 30 30 2C 20 30  78 30 30 2C 20 30 78 30  | 0x00, 0x00, 0x0|
00009750: 30 2C 20 30 78 30 30 2C  20 30 78 30 30 2C 20 30  |0, 0x00, 0x00, 0|
00009760: 78 30 30 2C 20 30 78 30  30 2C 20 30 78 30 30 2C  |x00, 0x00, 0x00,|
00009770: 20 2F 2A 20 42 30 20 2A  2F 0A 20 20 20 20 30 78  | /* B0 */.    0x|
00009780: 30 30 2C 20 30 78 30 30  2C 20 30 78 30 30 2C 20  |00, 0x00, 0x00, |
00009790: 30 78 30 30 2C 20 30 78  30 30 2C 20 30 78 30 30  |0x00, 0x00, 0x00|
000097A0: 2C 20 30 78 30 30 2C 20  30 78 30 30 2C 0A 20 20  |, 0x00, 0x00,.  |
000097B0: 20 20 30 78 30 30 2C 20  30 78 34 31 2C 20 30 78  |  0x00, 0x41, 0x|
000097C0: 34 32 2C 20 30 78 34 33  2C 20 30 78 34 34 2C 20  |42, 0x43, 0x44, |
000097D0: 30 78 34 35 2C 20 30 78  34 36 2C 20 30 78 34 37  |0x45, 0x46, 0x47|
000097E0: 2C 20 2F 2A 20 43 30 20  2A 2F 0A 20 20 20 20 30  |, /* C0 */.    0|
000097F0: 78 34 38 2C 20 30 78 34  39 2C 20 30 78 34 41 2C  |x48, 0x49, 0x4A,|
00009800: 20 30 78 34 42 2C 20 30  78 34 43 2C 20 30 78 34  | 0x4B, 0x4C, 0x4|
00009810: 44 2C 20 30 78 34 45 2C  20 30 78 34 46 2C 0A 20  |D, 0x4E, 0x4F,. |
00009820: 20 20 20 30 78 35 30 2C  20 30 78 35 31 2C 20 30  |   0x50, 0x51, 0|
00009830: 78 35 32 2C 20 30 78 35  33 2C 20 30 78 35 34 2C  |x52, 0x53, 0x54,|
00009840: 20 30 78 35 35 2C 20 30  78 35 36 2C 20 30 78 35  | 0x55, 0x56, 0x5|
00009850: 37 2C 20 2F 2A 20 44 30  20 2A 2F 0A 20 20 20 20  |7, /* D0 */.    |
00009860: 30 78 35 38 2C 20 30 78  35 39 2C 20 30 78 35 41  |0x58, 0x59, 0x5A|
00009870: 2C 20 30 78 37 42 2C 20  30 78 37 43 2C 20 30 78  |, 0x7B, 0x7C, 0x|
00009880: 37 44 2C 20 30 78 37 45  2C 20 30 78 30 30 2C 0A  |7D, 0x7E, 0x00,.|
00009890: 20 20 20 20 30 78 30 30  2C 20 30 78 30 30 2C 20  |    0x00, 0x00, |
000098A0: 30 78 30 30 2C 20 30 78  30 30 2C 20 30 78 30 30  |0x00, 0x00, 0x00|
000098B0: 2C 20 30 78 30 30 2C 20  30 78 30 30 2C 20 30 78  |, 0x00, 0x00, 0x|
000098C0: 30 30 2C 20 2F 2A 20 45  30 20 2A 2F 0A 20 20 20  |00, /* E0 */.   |
000098D0: 20 30 78 30 30 2C 20 30  78 30 30 2C 20 30 78 30  | 0x00, 0x00, 0x0|
000098E0: 30 2C 20 30 78 30 30 2C  20 30 78 30 30 2C 20 30  |0, 0x00, 0x00, 0|
000098F0: 78 30 30 2C 20 30 78 30  30 2C 20 30 78 30 30 2C  |x00, 0x00, 0x00,|
00009900: 0A 20 20 20 20 30 78 30  30 2C 20 30 78 30 30 2C  |.    0x00, 0x00,|
00009910: 20 30 78 30 30 2C 20 30  78 30 30 2C 20 30 78 30  | 0x00, 0x00, 0x0|
00009920: 30 2C 20 30 78 30 30 2C  20 30 78 30 30 2C 20 30  |0, 0x00, 0x00, 0|
00009930: 78 30 30 2C 20 2F 2A 20  46 30 20 2A 2F 0A 20 20  |x00, /* F0 */.  |
00009940: 20 20 30 78 30 30 2C 20  30 78 30 30 2C 20 30 78  |  0x00, 0x00, 0x|
00009950: 30 30 2C 20 30 78 30 30  2C 20 30 78 30 30 2C 20  |00, 0x00, 0x00, |
00009960: 30 78 30 30 2C 20 30 78  30 30 2C 20 30 78 30 30  |0x00, 0x00, 0x00|
00009970: 0A 7D 3B 0A 20 0A 2F 2A  2A 2A 2A 2A 2A 2A 2A 2A  |.};. ./*********|
00009980: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 0A 2A 20 46  |************.* F|
00009990: 75 6E 63 74 69 6F 6E 20  70 72 6F 74 6F 74 79 70  |unction prototyp|
000099A0: 65 73 0A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |es.*************|
000099B0: 2A 2A 2A 2A 2A 2A 2A 2A  2F 0A 20 0A 23 69 66 6E  |********/. .#ifn|
000099C0: 64 65 66 20 5F 5F 53 54  44 43 5F 5F 0A 69 6E 74  |def __STDC__.int|
000099D0: 20 6D 61 69 6E 28 29 3B  20 20 20 20 20 20 20 20  | main();        |
000099E0: 20 20 20 20 20 2F 2A 20  6D 61 69 6E 20 66 75 6E  |     /* main fun|
000099F0: 63 74 69 6F 6E 20 2A 2F  0A 23 65 6C 73 65 0A 69  |ction */.#else.i|
00009A00: 6E 74 20 6D 61 69 6E 28  69 6E 74 20 61 72 67 63  |nt main(int argc|
00009A10: 2C 20 63 68 61 72 20 2A  2A 61 72 67 76 29 3B 0A  |, char **argv);.|
00009A20: 23 65 6E 64 69 66 0A 20  0A 2F 2A 2A 2A 2A 2A 2A  |#endif. ./******|
00009A30: 2A 2A 2A 2A 2A 0A 2A 20  46 75 6E 63 74 69 6F 6E  |*****.* Function|
00009A40: 73 0A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2F 0A 20  |s.***********/. |
00009A50: 0A 23 69 66 64 65 66 20  5F 5F 53 54 44 43 5F 5F  |.#ifdef __STDC__|
00009A60: 0A 69 6E 74 20 6D 61 69  6E 28 69 6E 74 20 61 72  |.int main(int ar|
00009A70: 67 63 2C 20 63 68 61 72  20 2A 2A 61 72 67 76 29  |gc, char **argv)|
00009A80: 0A 23 65 6C 73 65 0A 69  6E 74 0A 6D 61 69 6E 28  |.#else.int.main(|
00009A90: 61 72 67 63 2C 61 72 67  76 29 0A 20 20 20 20 69  |argc,argv).    i|
00009AA0: 6E 74 20 61 72 67 63 3B  0A 20 20 20 20 63 68 61  |nt argc;.    cha|
00009AB0: 72 20 2A 2A 61 72 67 76  3B 0A 23 65 6E 64 69 66  |r **argv;.#endif|
00009AC0: 0A 7B 0A 20 20 20 20 46  49 4C 45 20 2A 64 69 73  |.{.    FILE *dis|
00009AD0: 6B 2C 20 2A 6F 75 74 66  69 6C 65 3B 0A 20 20 20  |k, *outfile;.   |
00009AE0: 20 75 6E 73 69 67 6E 65  64 20 63 68 61 72 20 64  | unsigned char d|
00009AF0: 69 72 62 75 66 5B 32 35  36 5D 2C 20 64 69 73 6B  |irbuf[256], disk|
00009B00: 62 75 66 5B 35 31 32 5D  2C 20 62 79 74 65 3B 0A  |buf[512], byte;.|
00009B10: 20 20 20 20 75 6E 73 69  67 6E 65 64 20 75 46 69  |    unsigned uFi|
00009B20: 6C 65 43 6F 75 6E 74 65  72 2C 20 75 43 6F 75 6E  |leCounter, uCoun|
00009B30: 74 65 72 2C 20 75 53 65  63 74 6F 72 43 6F 75 6E  |ter, uSectorCoun|
00009B40: 74 65 72 2C 20 6D 6F 64  65 20 3D 20 31 2C 0A 20  |ter, mode = 1,. |
00009B50: 20 20 20 20 20 20 20 20  20 20 20 20 75 54 72 61  |            uTra|
00009B60: 6E 73 31 2C 20 75 54 72  61 6E 73 32 3B 0A 20 20  |ns1, uTrans2;.  |
00009B70: 20 20 75 6E 73 69 67 6E  65 64 20 6C 6F 6E 67 20  |  unsigned long |
00009B80: 6C 75 46 69 6C 65 4C 65  6E 67 74 68 2C 20 6C 75  |luFileLength, lu|
00009B90: 46 69 6E 61 6C 4C 65 6E  67 74 68 3B 0A 20 0A 20  |FinalLength;. . |
00009BA0: 20 20 20 66 70 72 69 6E  74 66 28 73 74 64 65 72  |   fprintf(stder|
00009BB0: 72 2C 20 22 39 30 20 6B  42 20 64 69 73 6B 20 72  |r, "90 kB disk r|
00009BC0: 65 61 64 65 72 20 66 6F  72 20 55 6E 69 78 20 76  |eader for Unix v|
00009BD0: 30 2E 31 5C 6E 22 29 3B  0A 20 0A 20 20 20 20 69  |0.1\n");. .    i|
00009BE0: 66 20 28 61 72 67 63 20  3C 20 32 20 7C 7C 20 61  |f (argc < 2 || a|
00009BF0: 72 67 63 20 3E 20 33 29  0A 20 20 20 20 7B 0A 55  |rgc > 3).    {.U|
00009C00: 73 61 67 65 3A 20 20 66  70 72 69 6E 74 66 20 28  |sage:  fprintf (|
00009C10: 73 74 64 65 72 72 2C 20  22 55 73 61 67 65 3A 20  |stderr, "Usage: |
00009C20: 25 73 20 5B 64 7C 31 5D  20 64 69 73 6B 5C 6E 22  |%s [d|1] disk\n"|
00009C30: 2C 20 2A 61 72 67 76 29  3B 0A 20 20 20 20 20 20  |, *argv);.      |
00009C40: 20 20 66 70 72 69 6E 74  66 20 28 73 74 64 65 72  |  fprintf (stder|
00009C50: 72 2C 20 22 4F 70 74 69  6F 6E 73 3A 20 64 20 74  |r, "Options: d t|
00009C60: 6F 20 64 69 73 70 6C 61  79 20 74 68 65 20 64 69  |o display the di|
00009C70: 72 65 63 74 6F 72 79 20  6F 6E 6C 79 2E 5C 6E 22  |rectory only.\n"|
00009C80: 29 3B 0A 20 20 20 20 20  20 20 20 66 70 72 69 6E  |);.        fprin|
00009C90: 74 66 20 28 73 74 64 65  72 72 2C 20 22 20 20 20  |tf (stderr, "   |
00009CA0: 20 20 20 20 20 20 31 20  74 6F 20 65 78 74 72 61  |      1 to extra|
00009CB0: 63 74 20 73 6B 69 70 70  69 6E 67 20 74 68 65 20  |ct skipping the |
00009CC0: 73 65 63 6F 6E 64 20 73  69 64 65 2E 5C 6E 22 29  |second side.\n")|
00009CD0: 3B 0A 20 20 20 20 20 20  20 20 66 70 72 69 6E 74  |;.        fprint|
00009CE0: 66 20 28 73 74 64 65 72  72 2C 20 22 64 69 73 6B  |f (stderr, "disk|
00009CF0: 20 69 73 20 2F 64 65 76  2F 66 64 30 2C 20 66 6F  | is /dev/fd0, fo|
00009D00: 72 20 69 6E 73 74 61 6E  63 65 2E 5C 6E 22 29 3B  |r instance.\n");|
00009D10: 0A 20 20 20 20 20 20 20  20 72 65 74 75 72 6E 20  |.        return |
00009D20: 28 31 29 3B 0A 20 20 20  20 7D 0A 20 0A 20 20 20  |(1);.    }. .   |
00009D30: 20 69 66 20 28 61 72 67  63 20 3D 3D 20 33 20 26  | if (argc == 3 &|
00009D40: 26 20 61 72 67 76 5B 31  5D 5B 31 5D 29 0A 20 20  |& argv[1][1]).  |
00009D50: 20 20 20 20 20 20 67 6F  74 6F 20 55 73 61 67 65  |      goto Usage|
00009D60: 3B 0A 20 0A 20 20 20 20  69 66 20 28 61 72 67 63  |;. .    if (argc|
00009D70: 20 3D 3D 20 33 29 0A 20  20 20 20 7B 0A 20 20 20  | == 3).    {.   |
00009D80: 20 20 20 20 20 61 72 67  76 2B 2B 3B 0A 20 0A 20  |     argv++;. . |
00009D90: 20 20 20 20 20 20 20 69  66 20 28 2A 2A 61 72 67  |       if (**arg|
00009DA0: 76 20 3D 3D 20 27 64 27  29 0A 20 20 20 20 20 20  |v == 'd').      |
00009DB0: 20 20 20 20 20 20 6D 6F  64 65 20 3D 20 30 3B 0A  |      mode = 0;.|
00009DC0: 20 20 20 20 20 20 20 20  65 6C 73 65 20 69 66 20  |        else if |
00009DD0: 28 2A 2A 61 72 67 76 20  3D 3D 20 27 31 27 29 0A  |(**argv == '1').|
00009DE0: 20 20 20 20 20 20 20 20  20 20 20 20 6D 6F 64 65  |            mode|
00009DF0: 20 3D 20 32 3B 0A 20 20  20 20 20 20 20 20 65 6C  | = 2;.        el|
00009E00: 73 65 0A 20 20 20 20 20  20 20 20 20 20 20 20 67  |se.            g|
00009E10: 6F 74 6F 20 55 73 61 67  65 3B 0A 20 20 20 20 7D  |oto Usage;.    }|
00009E20: 0A 20 0A 20 20 20 20 69  66 20 28 28 64 69 73 6B  |. .    if ((disk|
00009E30: 20 3D 20 66 6F 70 65 6E  28 2A 2B 2B 61 72 67 76  | = fopen(*++argv|
00009E40: 2C 20 22 72 62 22 29 29  20 3D 3D 20 4E 55 4C 4C  |, "rb")) == NULL|
00009E50: 29 0A 20 20 20 20 7B 0A  20 20 20 20 20 20 20 20  |).    {.        |
00009E60: 66 70 72 69 6E 74 66 28  73 74 64 65 72 72 2C 20  |fprintf(stderr, |
00009E70: 22 4F 70 65 6E 69 6E 67  20 74 68 65 20 64 69 73  |"Opening the dis|
00009E80: 6B 20 25 73 20 66 61 69  6C 65 64 2E 5C 6E 22 2C  |k %s failed.\n",|
00009E90: 20 2A 61 72 67 76 29 3B  0A 20 20 20 20 20 20 20  | *argv);.       |
00009EA0: 20 72 65 74 75 72 6E 28  32 29 3B 0A 20 20 20 20  | return(2);.    |
00009EB0: 7D 0A 20 0A 20 20 20 20  2F 2A 20 72 65 61 64 20  |}. .    /* read |
00009EC0: 64 69 72 65 63 74 6F 72  79 20 2A 2F 0A 20 0A 20  |directory */. . |
00009ED0: 20 20 20 69 66 20 28 35  31 32 20 3E 20 66 72 65  |   if (512 > fre|
00009EE0: 61 64 20 28 64 69 73 6B  62 75 66 2C 20 73 69 7A  |ad (diskbuf, siz|
00009EF0: 65 6F 66 20 2A 64 69 73  6B 62 75 66 2C 20 35 31  |eof *diskbuf, 51|
00009F00: 32 2C 20 64 69 73 6B 29  29 0A 20 20 20 20 7B 0A  |2, disk)).    {.|
00009F10: 20 20 20 20 20 20 20 20  66 70 72 69 6E 74 66 20  |        fprintf |
00009F20: 28 73 74 64 65 72 72 2C  20 22 45 72 72 6F 72 20  |(stderr, "Error |
00009F30: 72 65 61 64 69 6E 67 20  64 69 73 6B 20 64 69 72  |reading disk dir|
00009F40: 65 63 74 6F 72 79 2E 5C  6E 22 29 3B 0A 20 20 20  |ectory.\n");.   |
00009F50: 20 20 20 20 20 66 63 6C  6F 73 65 20 28 64 69 73  |     fclose (dis|
00009F60: 6B 29 3B 0A 20 20 20 20  20 20 20 20 72 65 74 75  |k);.        retu|
00009F70: 72 6E 20 28 33 29 3B 0A  20 20 20 20 7D 0A 20 0A  |rn (3);.    }. .|
00009F80: 20 20 20 20 75 53 65 63  74 6F 72 43 6F 75 6E 74  |    uSectorCount|
00009F90: 65 72 20 3D 20 31 3B 0A  20 0A 20 20 20 20 6D 65  |er = 1;. .    me|
00009FA0: 6D 63 70 79 20 28 64 69  72 62 75 66 2C 20 64 69  |mcpy (dirbuf, di|
00009FB0: 73 6B 62 75 66 2C 20 32  35 36 29 3B 0A 20 0A 20  |skbuf, 256);. . |
00009FC0: 20 20 20 2F 2A 20 73 74  61 72 74 20 70 72 6F 63  |   /* start proc|
00009FD0: 65 73 73 69 6E 67 20 74  68 65 20 64 69 72 65 63  |essing the direc|
00009FE0: 74 6F 72 79 20 2A 2F 0A  20 0A 20 20 20 20 66 6F  |tory */. .    fo|
00009FF0: 72 20 28 75 46 69 6C 65  43 6F 75 6E 74 65 72 20  |r (uFileCounter |
0000A000: 3D 20 30 3B 20 75 46 69  6C 65 43 6F 75 6E 74 65  |= 0; uFileCounte|
0000A010: 72 20 3C 20 32 35 36 20  26 26 20 64 69 72 62 75  |r < 256 && dirbu|
0000A020: 66 5B 75 46 69 6C 65 43  6F 75 6E 74 65 72 5D 3B  |f[uFileCounter];|
0000A030: 0A 20 20 20 20 20 20 20  20 20 20 20 20 75 46 69  |.            uFi|
0000A040: 6C 65 43 6F 75 6E 74 65  72 20 2B 3D 20 31 36 29  |leCounter += 16)|
0000A050: 0A 20 20 20 20 7B 0A 20  20 20 20 20 20 20 20 6C  |.    {.        l|
0000A060: 75 46 69 6C 65 4C 65 6E  67 74 68 20 3D 20 31 20  |uFileLength = 1 |
0000A070: 2B 20 28 75 6E 73 69 67  6E 65 64 20 6C 6F 6E 67  |+ (unsigned long|
0000A080: 29 64 69 72 62 75 66 5B  75 46 69 6C 65 43 6F 75  |)dirbuf[uFileCou|
0000A090: 6E 74 65 72 20 2B 20 31  33 5D 20 2B 0A 20 20 20  |nter + 13] +.   |
0000A0A0: 20 20 20 20 20 20 20 20  20 20 20 20 20 28 28 75  |             ((u|
0000A0B0: 6E 73 69 67 6E 65 64 20  6C 6F 6E 67 29 64 69 72  |nsigned long)dir|
0000A0C0: 62 75 66 5B 75 46 69 6C  65 43 6F 75 6E 74 65 72  |buf[uFileCounter|
0000A0D0: 20 2B 20 31 34 5D 20 3C  3C 20 38 29 20 2B 0A 20  | + 14] << 8) +. |
0000A0E0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 28  |               (|
0000A0F0: 28 28 75 6E 73 69 67 6E  65 64 20 6C 6F 6E 67 29  |((unsigned long)|
0000A100: 64 69 72 62 75 66 5B 75  46 69 6C 65 43 6F 75 6E  |dirbuf[uFileCoun|
0000A110: 74 65 72 20 2B 20 31 35  5D 20 26 20 31 29 20 3C  |ter + 15] & 1) <|
0000A120: 3C 20 31 36 29 3B 0A 20  0A 20 20 20 20 20 20 20  |< 16);. .       |
0000A130: 20 69 66 20 28 6D 6F 64  65 29 0A 20 20 20 20 20  | if (mode).     |
0000A140: 20 20 20 20 20 20 20 66  70 72 69 6E 74 66 20 28  |       fprintf (|
0000A150: 73 74 64 6F 75 74 2C 20  22 43 72 65 61 74 69 6E  |stdout, "Creatin|
0000A160: 67 20 60 25 73 27 2C 20  25 6C 75 20 62 79 74 65  |g `%s', %lu byte|
0000A170: 73 20 2D 2D 20 22 2C 0A  20 20 20 20 20 20 20 20  |s -- ",.        |
0000A180: 20 20 20 20 20 20 20 20  20 20 20 20 26 64 69 72  |            &dir|
0000A190: 62 75 66 5B 75 46 69 6C  65 43 6F 75 6E 74 65 72  |buf[uFileCounter|
0000A1A0: 5D 2C 20 6C 75 46 69 6C  65 4C 65 6E 67 74 68 29  |], luFileLength)|
0000A1B0: 3B 0A 20 20 20 20 20 20  20 20 65 6C 73 65 0A 20  |;.        else. |
0000A1C0: 20 20 20 20 20 20 20 20  20 20 20 66 70 72 69 6E  |           fprin|
0000A1D0: 74 66 20 28 73 74 64 6F  75 74 2C 20 22 60 25 73  |tf (stdout, "`%s|
0000A1E0: 27 2C 20 25 6C 75 20 62  79 74 65 73 5C 6E 22 2C  |', %lu bytes\n",|
0000A1F0: 20 26 64 69 72 62 75 66  5B 75 46 69 6C 65 43 6F  | &dirbuf[uFileCo|
0000A200: 75 6E 74 65 72 5D 2C 0A  20 20 20 20 20 20 20 20  |unter],.        |
0000A210: 20 20 20 20 20 20 20 20  20 20 20 20 6C 75 46 69  |            luFi|
0000A220: 6C 65 4C 65 6E 67 74 68  29 3B 0A 20 0A 20 20 20  |leLength);. .   |
0000A230: 20 20 20 20 20 69 66 20  28 6D 6F 64 65 29 0A 20  |     if (mode). |
0000A240: 20 20 20 20 20 20 20 7B  0A 20 20 20 20 20 20 20  |       {.       |
0000A250: 20 20 20 20 20 69 66 20  28 21 28 6F 75 74 66 69  |     if (!(outfi|
0000A260: 6C 65 20 3D 20 66 6F 70  65 6E 20 28 26 64 69 72  |le = fopen (&dir|
0000A270: 62 75 66 5B 75 46 69 6C  65 43 6F 75 6E 74 65 72  |buf[uFileCounter|
0000A280: 5D 2C 20 22 77 62 22 29  29 29 0A 20 20 20 20 20  |], "wb"))).     |
0000A290: 20 20 20 20 20 20 20 7B  0A 6F 75 74 46 61 69 6C  |       {.outFail|
0000A2A0: 3A 20 20 20 20 20 20 20  20 66 70 72 69 6E 74 66  |:        fprintf|
0000A2B0: 20 28 73 74 64 65 72 72  2C 20 22 46 61 69 6C 65  | (stderr, "Faile|
0000A2C0: 64 20 69 6E 20 63 72 65  61 74 69 6E 67 20 74 68  |d in creating th|
0000A2D0: 65 20 66 69 6C 65 2E 5C  6E 22 29 3B 0A 20 20 20  |e file.\n");.   |
0000A2E0: 20 20 20 20 20 20 20 20  20 20 20 20 20 66 63 6C  |             fcl|
0000A2F0: 6F 73 65 20 28 64 69 73  6B 29 3B 0A 20 20 20 20  |ose (disk);.    |
0000A300: 20 20 20 20 20 20 20 20  20 20 20 20 72 65 74 75  |            retu|
0000A310: 72 6E 20 28 34 29 3B 0A  20 20 20 20 20 20 20 20  |rn (4);.        |
0000A320: 20 20 20 20 7D 0A 20 0A  20 20 20 20 20 20 20 20  |    }. .        |
0000A330: 20 20 20 20 6C 75 46 69  6E 61 6C 4C 65 6E 67 74  |    luFinalLengt|
0000A340: 68 20 3D 20 30 3B 0A 20  0A 20 20 20 20 20 20 20  |h = 0;. .       |
0000A350: 20 20 20 20 20 77 68 69  6C 65 20 28 6C 75 46 69  |     while (luFi|
0000A360: 6C 65 4C 65 6E 67 74 68  29 0A 20 20 20 20 20 20  |leLength).      |
0000A370: 20 20 20 20 20 20 7B 0A  20 20 20 20 20 20 20 20  |      {.        |
0000A380: 20 20 20 20 20 20 20 20  69 66 20 28 35 31 32 20  |        if (512 |
0000A390: 3E 20 66 72 65 61 64 20  28 64 69 73 6B 62 75 66  |> fread (diskbuf|
0000A3A0: 2C 20 73 69 7A 65 6F 66  20 2A 64 69 73 6B 62 75  |, sizeof *diskbu|
0000A3B0: 66 2C 20 35 31 32 2C 20  64 69 73 6B 29 29 0A 20  |f, 512, disk)). |
0000A3C0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 7B  |               {|
0000A3D0: 0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
0000A3E0: 20 20 20 20 20 66 70 72  69 6E 74 66 20 28 73 74  |     fprintf (st|
0000A3F0: 64 65 72 72 2C 20 22 45  72 72 6F 72 20 72 65 61  |derr, "Error rea|
0000A400: 64 69 6E 67 20 74 68 65  20 64 69 73 6B 2E 5C 6E  |ding the disk.\n|
0000A410: 22 29 3B 0A 20 20 20 20  20 20 20 20 20 20 20 20  |");.            |
0000A420: 20 20 20 20 20 20 20 20  66 63 6C 6F 73 65 20 28  |        fclose (|
0000A430: 64 69 73 6B 29 3B 0A 20  20 20 20 20 20 20 20 20  |disk);.         |
0000A440: 20 20 20 20 20 20 20 20  20 20 20 66 63 6C 6F 73  |           fclos|
0000A450: 65 20 28 6F 75 74 66 69  6C 65 29 3B 0A 20 20 20  |e (outfile);.   |
0000A460: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000A470: 20 72 65 74 75 72 6E 20  28 33 29 3B 0A 20 20 20  | return (3);.   |
0000A480: 20 20 20 20 20 20 20 20  20 20 20 20 20 7D 0A 20  |             }. |
0000A490: 0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
0000A4A0: 20 6C 75 46 69 6C 65 4C  65 6E 67 74 68 20 2D 3D  | luFileLength -=|
0000A4B0: 20 28 75 43 6F 75 6E 74  65 72 20 3D 20 6C 75 46  | (uCounter = luF|
0000A4C0: 69 6C 65 4C 65 6E 67 74  68 20 3E 20 32 35 36 20  |ileLength > 256 |
0000A4D0: 3F 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |?.              |
0000A4E0: 20 20 20 20 20 20 20 20  20 20 32 35 36 20 3A 20  |          256 : |
0000A4F0: 6C 75 46 69 6C 65 4C 65  6E 67 74 68 29 3B 0A 20  |luFileLength);. |
0000A500: 0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
0000A510: 20 69 66 20 28 64 69 72  62 75 66 5B 75 46 69 6C  | if (dirbuf[uFil|
0000A520: 65 43 6F 75 6E 74 65 72  20 2B 20 31 35 5D 20 26  |eCounter + 15] &|
0000A530: 20 31 39 32 29 20 2F 2A  20 74 72 61 6E 73 6C 61  | 192) /* transla|
0000A540: 74 69 6F 6E 20 2A 2F 0A  20 20 20 20 20 20 20 20  |tion */.        |
0000A550: 20 20 20 20 20 20 20 20  7B 0A 20 20 20 20 20 20  |        {.      |
0000A560: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 6D 65  |              me|
0000A570: 6D 63 70 79 20 28 64 69  73 6B 62 75 66 20 2B 20  |mcpy (diskbuf + |
0000A580: 32 35 36 2C 20 64 69 73  6B 62 75 66 2C 20 32 35  |256, diskbuf, 25|
0000A590: 36 29 3B 0A 20 0A 20 20  20 20 20 20 20 20 20 20  |6);. .          |
0000A5A0: 20 20 20 20 20 20 20 20  20 20 66 6F 72 20 28 75  |          for (u|
0000A5B0: 54 72 61 6E 73 31 20 3D  20 75 54 72 61 6E 73 32  |Trans1 = uTrans2|
0000A5C0: 20 3D 20 30 3B 20 75 54  72 61 6E 73 31 20 3C 20  | = 0; uTrans1 < |
0000A5D0: 75 43 6F 75 6E 74 65 72  3B 20 75 54 72 61 6E 73  |uCounter; uTrans|
0000A5E0: 31 2B 2B 29 0A 20 20 20  20 20 20 20 20 20 20 20  |1++).           |
0000A5F0: 20 20 20 20 20 20 20 20  20 20 20 20 20 69 66 20  |             if |
0000A600: 28 62 79 74 65 20 3D 20  54 72 61 6E 73 6C 61 54  |(byte = TranslaT|
0000A610: 61 62 6C 65 5B 28 28 64  69 72 62 75 66 5B 75 46  |able[((dirbuf[uF|
0000A620: 69 6C 65 43 6F 75 6E 74  65 72 20 2B 20 31 35 5D  |ileCounter + 15]|
0000A630: 20 26 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  | &.             |
0000A640: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000A650: 20 20 20 31 32 38 29 20  3C 3C 20 31 29 20 2B 20  |   128) << 1) + |
0000A660: 64 69 73 6B 62 75 66 5B  32 35 36 20 2B 20 75 54  |diskbuf[256 + uT|
0000A670: 72 61 6E 73 31 5D 5D 29  0A 20 20 20 20 20 20 20  |rans1]]).       |
0000A680: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000A690: 20 20 20 20 20 64 69 73  6B 62 75 66 5B 75 54 72  |     diskbuf[uTr|
0000A6A0: 61 6E 73 32 2B 2B 5D 20  3D 20 62 79 74 65 3B 0A  |ans2++] = byte;.|
0000A6B0: 20 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  | .              |
0000A6C0: 20 20 20 20 20 20 75 43  6F 75 6E 74 65 72 20 3D  |      uCounter =|
0000A6D0: 20 75 54 72 61 6E 73 32  3B 0A 20 20 20 20 20 20  | uTrans2;.      |
0000A6E0: 20 20 20 20 20 20 20 20  20 20 7D 0A 20 0A 20 20  |          }. .  |
0000A6F0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 69 66  |              if|
0000A700: 20 28 75 43 6F 75 6E 74  65 72 20 3E 20 66 77 72  | (uCounter > fwr|
0000A710: 69 74 65 20 28 64 69 73  6B 62 75 66 2C 20 73 69  |ite (diskbuf, si|
0000A720: 7A 65 6F 66 20 2A 64 69  73 6B 62 75 66 2C 0A 20  |zeof *diskbuf,. |
0000A730: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000A740: 20 20 20 20 20 20 20 75  43 6F 75 6E 74 65 72 2C  |       uCounter,|
0000A750: 20 6F 75 74 66 69 6C 65  29 29 0A 20 20 20 20 20  | outfile)).     |
0000A760: 20 20 20 20 20 20 20 20  20 20 20 7B 0A 20 20 20  |           {.   |
0000A770: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000A780: 20 66 63 6C 6F 73 65 20  28 6F 75 74 66 69 6C 65  | fclose (outfile|
0000A790: 29 3B 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  |);.             |
0000A7A0: 20 20 20 20 20 20 20 67  6F 74 6F 20 6F 75 74 46  |       goto outF|
0000A7B0: 61 69 6C 3B 0A 20 20 20  20 20 20 20 20 20 20 20  |ail;.           |
0000A7C0: 20 20 20 20 20 7D 0A 20  0A 20 20 20 20 20 20 20  |     }. .       |
0000A7D0: 20 20 20 20 20 20 20 20  20 6C 75 46 69 6E 61 6C  |         luFinal|
0000A7E0: 4C 65 6E 67 74 68 20 2B  3D 20 75 43 6F 75 6E 74  |Length += uCount|
0000A7F0: 65 72 3B 0A 20 0A 20 20  20 20 20 20 20 20 20 20  |er;. .          |
0000A800: 20 20 20 20 20 20 69 66  20 28 2B 2B 75 53 65 63  |      if (++uSec|
0000A810: 74 6F 72 43 6F 75 6E 74  65 72 20 3D 3D 20 39 29  |torCounter == 9)|
0000A820: 0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
0000A830: 20 7B 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  | {.             |
0000A840: 20 20 20 20 20 20 20 69  66 20 28 6D 6F 64 65 20  |       if (mode |
0000A850: 3D 3D 20 32 29 20 20 20  20 20 20 2F 2A 20 6F 70  |== 2)      /* op|
0000A860: 74 69 6F 6E 61 6C 6C 79  20 73 6B 69 70 20 74 68  |tionally skip th|
0000A870: 65 20 73 65 63 6F 6E 64  20 73 69 64 65 20 2A 2F  |e second side */|
0000A880: 0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
0000A890: 20 20 20 20 20 20 20 20  20 66 6F 72 20 28 75 53  |         for (uS|
0000A8A0: 65 63 74 6F 72 43 6F 75  6E 74 65 72 2B 2B 3B 20  |ectorCounter++; |
0000A8B0: 2D 2D 75 53 65 63 74 6F  72 43 6F 75 6E 74 65 72  |--uSectorCounter|
0000A8C0: 3B 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |;.              |
0000A8D0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000A8E0: 20 20 66 72 65 61 64 20  28 64 69 73 6B 62 75 66  |  fread (diskbuf|
0000A8F0: 2C 20 73 69 7A 65 6F 66  20 2A 64 69 73 6B 62 75  |, sizeof *diskbu|
0000A900: 66 2C 20 35 31 32 2C 20  64 69 73 6B 29 29 3B 0A  |f, 512, disk));.|
0000A910: 20 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  | .              |
0000A920: 20 20 20 20 20 20 75 53  65 63 74 6F 72 43 6F 75  |      uSectorCou|
0000A930: 6E 74 65 72 20 3D 20 30  3B 0A 20 20 20 20 20 20  |nter = 0;.      |
0000A940: 20 20 20 20 20 20 20 20  20 20 7D 0A 20 20 20 20  |          }.    |
0000A950: 20 20 20 20 20 20 20 20  7D 0A 20 0A 20 20 20 20  |        }. .    |
0000A960: 20 20 20 20 20 20 20 20  66 63 6C 6F 73 65 20 28  |        fclose (|
0000A970: 6F 75 74 66 69 6C 65 29  3B 0A 20 20 20 20 20 20  |outfile);.      |
0000A980: 20 20 20 20 20 20 66 70  72 69 6E 74 66 20 28 73  |      fprintf (s|
0000A990: 74 64 6F 75 74 2C 20 22  25 6C 75 20 62 79 74 65  |tdout, "%lu byte|
0000A9A0: 73 20 63 6F 6E 76 65 72  74 65 64 2E 5C 6E 22 2C  |s converted.\n",|
0000A9B0: 20 6C 75 46 69 6E 61 6C  4C 65 6E 67 74 68 29 3B  | luFinalLength);|
0000A9C0: 0A 20 20 20 20 20 20 20  20 7D 0A 20 20 20 20 7D  |.        }.    }|
0000A9D0: 0A 20 0A 20 20 20 20 66  63 6C 6F 73 65 20 28 64  |. .    fclose (d|
0000A9E0: 69 73 6B 29 3B 0A 20 20  20 20 72 65 74 75 72 6E  |isk);.    return|
0000A9F0: 20 28 30 29 3B 0A 7D 0A                           | (0);.}.        |
========================================
==============================.         
       INSTRUCTIONS FOR THE 1541-DOS PAC
KAGE.                      (JANUARY 4, 1
994 VERSION).===========================
========================================
===. .  THESE ARE THE INSTRUCTIONS ON HO
W TO READ AND WRITE TO MS-DOS FLOPPY.DIS
KS WITH A SLIGHTLY MODIFIED COMMODORE 15
41 OR OCEANIC OC-118/OC-118N.DISK DRIVE.
. .  INCLUDED IS INFORMATION ABOUT THE N
ECESSARY MODIFICATION OF THE 1541.DRIVE 
AND THE USAGE OF THE PROGRAMS IN THIS PA
CKAGE.. . .CONTENTS.--------. .1) HARDWA
RE REQUIREMENTS.2) MFM MODIFICATION.2A) 
1541 DISK DRIVE MODIFICATION.2B) 1541 DI
SK DRIVE MODIFICATION -- FIRST ALTERNATE
.2C) 1541 DISK DRIVE MODIFICATION -- SEC
OND ALTERNATE.2D) OCEANIC OC-118/OC-118N
 DISK DRIVE MODIFICATION.3) PREPARING DI
SKS FOR DATA TRANSFER.4) TRANSFERRING FI
LES FROM MS-DOS DISKS TO CBM DISKS.   WI
TH "1541-READS-DOS".5) TRANSFERRING FILE
S FROM CBM DISKS TO MS-DOS DISKS.   WITH
 "1541-WRITES-90K" AND "READ90K".6) ERRO
R MESSAGES.7) COMPATIBILITY.8) POSSIBLE 
IMPROVEMENTS.9) DISCLAIMER.10) CONTACTIN
G THE AUTHORS. .APPENDIX A: LISTING OF B
ASIC PROGRAM 1541-DOS.BOOT.APPENDIX B: C
-VERSION OF READ90K FOR UNIX..----------
----------------------------------------
---------------------. .1) HARDWARE REQU
IREMENTS. .  YOU REQUIRE A C64 OR C128 (
IN C64 MODE) WITH AT LEAST ONE 1541 OR.O
C-118/OC-118N FLOPPY DISK DRIVE. THE DRI
VE MUST BE MODIFIED SLIGHTLY TO.ALLOW IT
 TO UTILIZE THE MFM METHOD OF STORING DA
TA USED ON MS-DOS.COMPATIBLE DISKS. THIS
 MODIFICATION DOES NOT AFFECT THE NORMAL
 OPERATION.OF THE DRIVE. IF YOU DON'T HA
VE EXPERIENCE IN SOLDERING CIRCUIT BOARD
S.THEN FIND SOMEONE WHO DOES; THE MODIFI
CATION IS SMALL, BUT TRICKY, AND.WILL VO
ID THE WARRANTY ON YOUR DISK DRIVE.. .  
THE 1541 CAN THEN READ SINGLE SIDED, DOU
BLE DENSITY DISKS WRITTEN BY.MS-DOS COMP
UTERS WITH 5 1/4" INCH DISK DRIVES.. .  
YOU NEED AN MS-DOS COMPUTER WITH AT LEAS
T ONE 5 1/4" FLOPPY DRIVE AND.ONE OTHER 
WRITABLE DISK DEVICE (A FLOPPY, HARD OR 
RAM DISK DRIVE) TO READ.FILES WRITTEN BY
 THE 1541.. .---------------------------
----------------------------------------
----. .2) MFM MODIFICATION. .  WARNING: 
THE DISK DRIVE MOTHERBOARD CAN BE EASILY
 DAMAGED BY STATIC.ELECTRICITY. DON'T WO
RK ON THIS PROJECT WEARING SYNTHETIC CLO
THES AND.RUBBER SHOES ON A NYLON CARPET 
AND EXPECT YOUR DRIVE TO COME THROUGH.UN
SCATHED!  USE OF A GROUNDED SOLDERING IR
ON IS RECOMMENDED, AS IS.MINIMIZING CONT
ACT WITH THE BOARD.. .  AS LONG AS YOU T
AKE REASONABLE PRECAUTIONS, NO DAMAGE SH
OULD OCCUR TO.YOUR DISK DRIVE BY FOLLOWI
NG THESE INSTRUCTIONS. HOWEVER, DIFFEREN
CES.BETWEEN BOARD REVISIONS MAKE IT IMPO
SSIBLE TO GUARANTEE THAT THE.MODIFICATIO
NS DESCRIBED HERE WILL WORK ON YOUR DISK
 DRIVE. CAVEAT.EMPTOR!. .  THE CLOCK DIV
ISOR IS A 74LS193 HEXADECIMAL COUNTER IN
 THE 1541, AND.THE SIMILAR 74LS161 IN TH
E OCEANIC DRIVES. THE CPU LOADS THE NUMB
ER TO.START COUNTING AT ON ITS INPUTS AN
D THE OVERFLOW FROM THE COUNTER IS.CHAIN
ED TO THE NEXT PORTION OF THE CIRCUIT. O
F THE 4 COUNTER INPUTS, THE.LOWER TWO AR
E CONTROLLED BY THE CPU AND THE HIGHER 2
 ARE TIED TO GROUND..THIS MEANS VALUES O
F 0 THROUGH 3 ON THE COUNTER INPUTS REQU
IRE 16 TO 13.COUNTS (RESPECTIVELY) BEFOR
E OVERFLOW, THUS DIVIDING THE INPUT BY T
HAT.AMOUNT. THE RANGE OF CLOCK RATES THA
T CAN BE GENERATED WITH THOSE.DIVISORS I
S FROM 250 KHZ TO 307 KHZ.. .  MODIFYING
 THE 1541 TO READ MFM DISKS INVOLVES PLA
CING THE HIGHER TWO.BITS OF THE COUNTER 
UNDER CPU CONTROL. THAT ALLOWS A FULL RA
NGE OF.DIVISORS FROM 1 THROUGH 16, AN EV
EN GREATER RANGE THAN THE DIVIDE BY 8.RE
QUIRED FOR A 500 KHZ CLOCK. IN FACT, ONL
Y ONE ADDITIONAL COUNTER INPUT.NEEDS TO 
BE UNDER CPU CONTROL, BUT WHILE WE'RE IN
 THE DRIVE WITH A.SOLDERING IRON, WHY NO
T CONNECT THE OTHER ONE TOO?  IT MIGHT B
E REQUIRED.TO READ OTHER DISK FORMATS IN
 THE FUTURE.. .  ONCE YOU'VE CHOSEN ONE 
OF THE MODIFICATION INSTRUCTIONS BELOW A
ND.COMPLETED IT, TAKE ONE LAST LOOK AT Y
OUR WORK. LOOK ESPECIALLY FOR.SOLDER BRI
DGES AND WIRES TOUCHING ADJACENT PADS. N
EXT, RE-ATTACH ANY.CONNECTORS, SCREW THE
 DRIVE TOGETHER AND PLUG IT IN. BEFORE A
TTACHING IT.TO YOUR C64, TRY TURNING IT 
ON. IF YOU DON'T HEAR ANYTHING UNUSUAL A
ND.DON'T SMELL SMOKE, YOUR DRIVE HAS PAS
SED THE FIRST TEST! TURN THE DRIVE.OFF A
ND PLUG IT INTO YOUR COMPUTER. TURN THEM
 BOTH ON AND TRY LOADING A.PROGRAM FROM 
A NONCRITICAL 1541 DISK. IF IT READS FIN
E AND DOESN'T ERASE.THE DISK, THEN MOVE 
TO THE NEXT SECTION AND TRY READING AN M
S-DOS DISK..IF IT DOESN'T WORK PROPERLY,
 OPEN THE DRIVE AGAIN AND COMPARE YOUR W
ORK.TO THE INSTRUCTIONS CAREFULLY.. .2A)
 1541 DISK DRIVE MODIFICATION. .  THIS S
ECTION DESCRIBES THE EASIEST MODIFICATIO
N TO MAKE TO YOUR 1541,.AND HAS THE POTE
NTIAL OF WORKING WITH MORE DISK FORMATS 
THAN JUST MS-DOS.MFM (USING FUTURE SOFTW
ARE). THE DISADVANTAGE IS THAT PART OF T
HE.UNUSED I/O PORT A IS REQUIRED, WHICH 
MEANS THAT THE PORT CANNOT BE USED.WITH 
A FAST LOADING DEVICE THAT REQUIRES A PA
RALLEL CABLE CONNECTION TO.THE 1541 (STA
NDARD FAST LOADER CARTRIDGES WORK FINE).
 USE ONE OF THE.ALTERNATE MODIFICATIONS 
IF YOU WANT TO USE SUCH A FAST LOADER.. 
.  THE UNUSED I/O PORT AVAILABLE ON THE 
FIRST 6522 VERSATILE INTERFACE.ADAPTERS 
(VIA) CAN BE CONNECTED TO THE COUNTER'S 
EXTRA INPUTS (WHICH ARE.NORMALLY CONNECT
ED TO GROUND) AND USED TO EXTEND THE CLO
CK FREQUENCY.RANGE. SINCE THE PORT IS AL
SO AT GROUND POTENTIAL UPON RESET, THE C
LOCK.CIRCUITRY IS NOT AFFECTED BY THE MO
DIFICATION.. .  REFER TO THE FIGURE IN F
ILE 1541CLK.GIF WHILE MAKING THESE.MODIF
ICATIONS. UNPLUG YOUR 1541 AND REMOVE IT
S COVER BY UNSCREWING THE.FOUR SCREWS ON
 THE BOTTOM OF THE CASE. LOCATE THE CONT
ROLLER PCB AND.UNPLUG THE TRANSFORMER CO
NNECTOR NEAR THE REGULATOR ICS AND HEAT 
SINK..REMOVE THE SCREWS ATTACHING THE PC
B TO THE CHASSIS, INCLUDING THE TWO.SCRE
WS ATTACHED TO THE REGULATOR HEAT SINK, 
AND TILT THE BOARD UP.. .  LOCATE UE6 (T
HE 74LS193 COUNTER IC) AND CUT THE TRACE
S GOING TO PINS 9.AND 10; MAKE SURE THE 
TWO PINS ARE NOT STILL CONNECTED TO EACH
 OTHER,.TOO. CAREFULLY SOLDER A SHORT WI
RE TO PIN 9 AND ANOTHER ONE TO PIN 10..L
OCATE UC3 (6522 VIA) AND SOLDER THE OTHE
R END OF THE FIRST WIRE (FROM.UE6 PIN 9)
 TO UC3 PIN 3 (WHICH IS OTHERWISE UNCONN
ECTED). SOLDER THE.OTHER END OF THE SECO
ND WIRE (FROM UE6 PIN 10) TO UC3 PIN 2 (
ALSO.OTHERWISE UNCONNECTED).. .  CURRENT
LY, ONLY THE JUMPER TO UE6 PIN 9 IS REQU
IRED TO READ IBM.DISKETTES. IF YOU WANT 
TO SAVE YOURSELF SOLDERING ONE JUMPER, Y
OU MAY.LEAVE UE6 PIN 10 CONNECTED TO GRO
UND. THE JUMPER TO UE6 PIN 10 MAY BE.REQ
UIRED IN THE FUTURE TO READ OTHER NEW AN
D EXCITING DISK FORMATS.. .2B) 1541 DISK
 DRIVE MODIFICATION -- FIRST ALTERNATE. 
.  USE THE FOLLOWING MODIFICATION INSTRU
CTIONS IF YOU WANT TO LEAVE THE.FIRST VI
A'S UNUSED PORT A ALONE. YOU'LL NEED A 4
.7 KILOHM RESISTOR TO.PERFORM THIS MODIF
ICATION (ALTHOUGH ANYTHING 3.3K TO 10K S
HOULD ALSO.WORK).. .  BESIDES ALL OF POR
T A, PIN CA1 OF THE FIRST VIA IS ALSO UN
USED IN A.STOCK 1541. UNFORTUNATELY, IT 
GOES HIGH (NOT TO GROUND) WHEN RESET AND
.CAN'T BE DIRECTLY CONNECTED TO THE COUN
TER'S INPUT FOR THE DRIVE TO BE.ABLE TO 
READ REGULAR 1541 DISKS AT POWER UP. INS
TEAD, AN UNUSED INVERTER.IS USED TO INVE
RT THE HIGH SIGNAL TO LOW, WHICH IS THEN
 CONNECTED TO THE.COUNTER.. .  UNPLUG YO
UR 1541 AND REMOVE ITS COVER BY UNSCREWI
NG THE FOUR SCREWS ON.THE BOTTOM OF THE 
CASE. LOCATE THE CONTROLLER PCB AND UNPL
UG THE.TRANSFORMER CONNECTOR NEAR THE RE
GULATOR ICS AND HEAT SINK. REMOVE THE.SC
REWS ATTACHING THE PCB TO THE CHASSIS, I
NCLUDING THE TWO SCREWS.ATTACHED TO THE 
REGULATOR HEAT SINK, AND TILT THE BOARD 
UP.. .  LOCATE UE6 (THE 74LS193 COUNTER 
IC) AND CUT THE TRACE GOING TO PIN 9;.MA
KE SURE THE PIN 9 ISN'T STILL CONNECTED 
TO PIN 10. CAREFULLY SOLDER A.SHORT WIRE
 TO PIN 9. LOCATE UB1 (7406 OPEN-COLLECT
OR HEX INVERTER) AND.VERIFY THAT PINS 5 
AND 6 ARE UNCONNECTED. SOLDER THE OTHER 
END OF THE.WIRE AND ONE END OF THE RESIS
TOR TO PIN 6. THE OTHER END OF THE.RESIS
TOR MUST BE SOLDERED TO PIN 14 (VCC). LO
CATE UC3 (6522 VIA) AND.SOLDER A SHORT L
ENGTH OF WIRE BETWEEN PIN 39 (CA2) AND P
IN 5 OF UB1.. .2C) 1541 DISK DRIVE MODIF
ICATION -- SECOND ALTERNATE. .  IF YOU D
ON'T HAVE A RESISTOR HANDY, OR ARE MODIF
YING A 1541 COMPATIBLE.DISK DRIVE THAT D
OESN'T HAVE AN UNUSED PORT OR INVERTER (
OR EVEN ONE.THAT DOES, LIKE THE OC-118),
 THEN YOU MAY BE FORCED TO USE THIS.ALTE
RNATE MODIFICATION. A SWITCH IS INSTALLE
D WHICH ALLOWS YOU TO CHOOSE.TO READ NOR
MAL 1541 DISKS WHEN DOWN OR MFM DISKS WH
EN UP.. .  LOCATE UE6 (THE 74LS193 COUNT
ER IC) AND CUT THE TRACE GOING TO PIN 9;
.MAKE SURE THE PIN 9 ISN'T STILL CONNECT
ED TO PIN 10. CAREFULLY SOLDER A.SHORT W
IRE BETWEEN PIN 9 AND THE MIDDLE POSITIO
N OF A SPDT SWITCH..CONNECT ONE REMAININ
G SWITCH CONTACT TO GROUND AND THE OTHER
 TO VCC (+5.V). TO USE REGULAR 1541 DISK
S, SWITCH TO THE GROUND POSITION. TO USE
.MFM DISKS, SWITCH TO THE +5 V POSITION.
. .2D) OCEANIC OC-118/OC-118N DISK DRIVE
 MODIFICATION. .  THE OC-118 AND OC-118N
 ARE THIRD PARTY 1541-COMPATIBLE DISK DR
IVES..THEY APPEAR SIMILAR TO THE AMIGA E
XTERNAL DISK DRIVES IN THAT THEY ARE.COM
PACT AND HAVE AN EXTERNAL POWER SUPPLY. 
THEIR CIRCUITRY IS SLIGHTLY.DIFFERENT FR
OM THAT OF THE 1541, AND THEY REQUIRE A 
DIFFERENT.MODIFICATION. THIS DESCRIPTION
 IS EQUIVALENT TO THE FIRST ALTERNATE.15
41 MODIFICATION ABOVE, SO YOU'LL NEED A 
3.3K TO 10K KILOHM RESISTOR.. .  LOCATE 
U4 (74LS161 COUNTER IC) ON THE BOARD IN 
THE TOP RIGHT OF THE.DIAGRAM. THERE MAY 
BE ANOTHER U4 ON A DIFFERENT BOARD, SO M
AKE SURE THE.U4 YOU USE HAS 74LS161 WRIT
TEN ON IT. CUT THE TRACE BETWEEN PIN 6 O
F U4.AND GND AND SOLDER A SHORT WIRE TO 
PIN 6. LOCATE U15 (7406 OPEN-.COLLECTOR 
HEX INVERTER) AND SOLDER THE OTHER END O
F THE WIRE AND ONE.END OF THE RESISTOR T
O PIN 8 (WHICH SHOULD OTHERWISE BE UNCON
NECTED)..CONNECT THE OTHER END OF THE RE
SISTOR TO PIN 14 (VCC). LOCATE U8 (6522.
VIA) AND SOLDER A SHORT LENGTH OF WIRE B
ETWEEN PIN 39 (CA2) AND PIN 9 OF.U15.. .
                                        
      U1,3,5  U2,4,6.    ____________   
                    _____   U7,9   U8,10
.   !!           \   =MMMMM=========__ /
     !   H#H    H#H  H.   !!            
---------------------      !  ==========
====.   !!    SERVO CARD          MOTHER
BOARD    !            MMH -- CONNECTORS.
   !!  - - - - - - -       - - - - - - -
 - -!================.   !!_____________
__________W_W_W_W_W_W_W___!   H#H   H#H 
 ". .                               U1..
.9            U10...U18. .              
      OC-118, OC-118N - SIDE VIEW. .----
----------------------------------------
---------------------------. .3) PREPARI
NG DISKS FOR DATA TRANSFER. .  THE 1541 
DRIVE ONLY HAS A SINGLE HEAD TO READ SIN
GLE-SIDED DISKS. THIS.MEANS YOU NEED DIS
KS FORMATTED WITH THE 180 KB MS-DOS FORM
AT (40 TRACKS.ON A SINGLE SIDE, 9 SECTOR
S PER TRACK WITH A SECTOR SIZE OF 512 BY
TES)..SUCH DISKS CAN BE FORMATTED USING 
THE MS-DOS FORMAT COMMAND ON DOUBLE.DENS
ITY DISKS WITH THE /1 COMMAND LINE OPTIO
N. E.G.:. .    FORMAT /1 A:. .  IF YOU U
SE A HIGH DENSITY DISK DRIVE (1.2 MB) YO
U WILL ALSO HAVE TO.USE THE /4 COMMAND L
INE OPTION TO CREATE DOUBLE DENSITY FORM
AT. E.G.:. .    FORMAT /1 /4 A:. .  NEWE
R VERSIONS OF MS-DOS ALLOW THE /F SWITCH
 WHICH WILL WORK ON BOTH.KINDS OF DRIVES
. E.G.:. .    FORMAT /F:180 A:. .  IF YO
U USE OTHER PROGRAMS TO FORMAT DISKS INS
TEAD OF THE MS-DOS.FORMAT COMMAND, YOU M
AY HAVE TO USE DIFFERENT PARAMETERS TO G
ENERATE DISKS.WITH EXACTLY THE DISK ORGA
NIZATION 1541-READS-DOS EXPECTS..  E.G. 
WITH THE PUBLIC-DOMAIN PROGRAM FDFORMAT 
YOU HAVE TO USE. .    FDFORMAT A: /F:180
 /C:1 /D:64. . .  THESE ARE THE BOOT SEC
TOR PARAMETERS FOR A 1541-READS-DOS READ
ABLE DISK:. .                 BYTES PER 
SECTOR: 512.              SECTORS PER CL
USTER: 1.    RESERVED SECTORS AT BEGINNI
NG: 1.                       FAT COPIES:
 2.           ROOT DIRECTORY ENTRIES: 64
.            TOTAL SECTORS ON DISK: 360.
                  SECTORS PER FAT: 2.   
             SECTORS PER TRACK: 9.      
                      SIDES: 1. . . .  H
IGH DENSITY DRIVES USE A NARROWER READ/W
RITE HEAD THAN DOUBLE.DENSITY DRIVES AND
 THE 1541. THEREFORE, YOU SHOULD NOT WRI
TE TO A DOUBLE.DENSITY DISK WITH A HIGH 
DENSITY DRIVE IF THE DISK HAS PREVIOUSLY
 BEEN.WRITTEN TO BY ONE OF THOSE DRIVES 
WITH ITS WIDER READ/WRITE HEAD.. .------
----------------------------------------
-------------------------. .4) TRANSFERR
ING FILES FROM MS-DOS DISKS TO CBM DISKS
 WITH.   "1541-READS-DOS"..  YOU NEED TH
E PROGRAM 1541-READS-DOS TO READ FILES F
ROM MS-DOS DISKS..IF YOU HAVE NO OTHER W
AY OF TRANSFERRING IT TO THE C64, YOU CA
N TYPE IN.THE BASIC LISTING OF 1541-DOS.
BOOT IN APPENDIX A TO READ 1541-DOS.SFX.
FOR THE FIRST TIME...  THE PROGRAM 1541-
READS-DOS COPIES FILES IN THE ROOT DIREC
TORY OF A.180 KB MS-DOS DISK TO A CBM DI
SK.. .  IT CAN BE LOADED AND STARTED LIK
E A BASIC PROGRAM. THE USER.INTERFACE IS
 DIALOGUE ORIENTED, SO YOU HAVE TO INPUT
 DATA WHEN ASKED.FOR IT. YOU CAN ACCEPT 
DEFAULT VALUES BY SIMPLY PRESSING THE.RE
TURN-KEY.. .  AT THE BEGINNING IT WILL A
SK FOR THE DEVICE NUMBER OF THE 1541 DRI
VE.MODIFIED FOR MFM READING. THIS IS THE
 DRIVE THE MS-DOS SOURCE DISK.WILL BE RE
AD FROM. NEXT YOU HAVE TO ENTER THE DEVI
CE NUMBER OF THE.DRIVE THE FILE SHALL BE
 COPIED TO. THIS CAN BE ANY COMMODORE CO
MPATIBLE.DISK DRIVE. YOU CAN ENTER EQUAL
 NUMBERS FOR BOTH DRIVES; THE PROGRAM.WI
LL THEN WORK WITH A SINGLE 1541 DISK DRI
VE. HOWEVER, THE PROGRAM.WILL BE A BIT S
LOWER AND YOU WILL HAVE TO SWAP DISKS QU
ITE.FREQUENTLY.. .  YOU MAY THEN LET THE
 PROGRAM START READING FORMAT AND DIRECT
ORY.INFORMATION FROM AN MS-DOS DISK. ONL
Y THE ROOT DIRECTORY IS.SUPPORTED -- YOU
 CAN NOT COPY FROM SUBDIRECTORIES.. .  W
ITH EACH FILE YOU ARE GIVEN THE OPTION O
F COPYING IT TO A CBM DISK. IF.YOU DECID
E TO COPY A FILE, YOU MUST ENTER A TEXT 
CONVERSION NUMBER..IF YOU ENTER 0, THE F
ILE WILL BE COPIED WITHOUT CONVERSION. W
ITH NUMBER.1, YOU SELECT CONVERSION FROM
 ASCII TO CBM CHARACTER SET (PETSCII);.N
UMBER 2 STANDS FOR CONVERSION FROM ASCII
 TO DATA BECKER C-EDITOR.FORMAT. THE LAT
TER USES THE CBM CHARACTER SET EXTENDED 
BY CHARACTERS.NEEDED FOR THE PROGRAMMING
 LANGUAGE C.. .  CHARACTERS THAT DO NOT 
EXIST IN THE DESTINATION CHARACTER SET A
RE.IGNORED. TAB CHARACTERS ARE CONVERTED
 TO SINGLE SPACES..  NOTE THAT UUENCODED
 FILES CAN CONTAIN CHARACTERS (BACKSLASH
 AND.UNDERSCORE) THAT DO NOT EXIST IN CB
M CHARACTER SET...  IN DETAIL, CONVERSIO
N IS DONE ACCORDING TO THE FOLLOWING TAB
LES:. .    ASCII     ->    CBM.    -----
--------------.    0..7            -.   
 8               32.    9               
-.    10              13.    11..31     
     -.    32..64          32..64.    65
..90          193..218.    91           
   91.    92              -.    93..94  
        93..94.    95..96          -.   
 97..122         65..90.    123..255    
    -. .    ASCII     ->    C-EDITOR.   
 ------------------------.    0..7      
      -.    8               32.    9    
           -.    10              13.    
11..31          -.    32..64          32
..64.    65..90          193..218.    91
..95          91..95.    96             
 -.    97..122         65..90.    123..1
26        219..222.    127..255        -
. .  TEXT CONVERSION CAN TAKE QUITE A WH
ILE, LEADING TO PAUSES DURING THE.COPY P
ROCESS.. .  AFTER SELECTING THE CONVERSI
ON NUMBER YOU CAN SPECIFY THE DESTINATIO
N.FILE TYPE. PRG-, SEQ- AND USR-FILES CA
N BE CREATED.. .  NEXT, THE NAME OF THE 
DESTINATION FILE HAS TO BE ENTERED. THE 
DEFAULT.FILENAME IS THE MS-DOS NAME WITH
 LOWER CASE LETTERS.. .  AFTER FILES HAV
E BEEN SELECTED THE COPY PROCESS CAN BE 
STARTED. WITH.DIFFERENT SOURCE AND DESTI
NATION DISK DRIVES ALL FILES ARE COPIED.
WITHOUT ANY FURTHER USER INTERACTION NEC
ESSARY.. .  WHEN A SINGLE DRIVE IS USED,
 YOU HAVE TO SWAP DISKS FOR EVERY FILE..
LONG FILES REQUIRE ADDITIONAL SWAPPING..
 .  AT THE END YOU CAN DECIDE TO START C
OPYING FROM ANOTHER MS-DOS DISK..OTHERWI
SE THE PROGRAM WILL BE TERMINATED BY ISS
UING A RESET OF BOTH THE.C64 AND THE MFM
- DISK DRIVE.. .------------------------
----------------------------------------
-------. .5) TRANSFERRING FILES FROM CBM
 DISKS TO MS-DOS DISKS WITH.   "1541-WRI
TES-90K" AND "READ90K.COM". .  A SPECIAL
 90K-FORMAT IS USED FOR TRANSFERRING FIL
ES TO MS-DOS.COMPUTERS. THIS IS NOT A RE
GULAR MS-DOS FORMAT, ALTHOUGH IT USES.FO
RMATTED 180 KB MS-DOS DISKS.. .  THE PRO
GRAM 1541-WRITES-90K WRITES A FILE WITH 
A MAXIMUM LENGTH OF.91904 BYTES TO A DIS
K USING THE 90K-FORMAT. ALL PREVIOUS DAT
A ON THIS.DISK IS OVERWRITTEN. AS ONLY O
NE FILE PER DISK CAN BE WRITTEN, YOU NEE
D.TO HAVE AS MANY FORMATTED DISKS AVAILA
BLE AS FILES YOU WANT TO COPY.. .  THE P
ROGRAM READ90K.COM IS USED ON AN MS-DOS 
COMPUTER TO READ FILES.FROM SUCH DISKS A
ND SAVE THEM AS REGULAR FILES ON ANOTHER
 DRIVE.. .  LIKE 1541-READS-DOS, THE PRO
GRAM 1541-WRITES-90K CAN BE LOADED AND.S
TARTED LIKE A BASIC PROGRAM. HOWEVER, YO
U SHOULD KNOW THE FILENAME OF.THE PROGRA
MS YOU WANT TO WRITE BEFOREHAND AS THERE
 IS NO OPTION TO.DISPLAY A DIRECTORY WHI
LE THE PROGRAM IS RUNNING.. .  THE PROGR
AM ALSO ASKS FOR THE DEVICE NUMBERS OF T
HE MFM- AND CBM-DISK.DRIVES. HERE, THE C
BM-DRIVE CONTAINS THE SOURCE DISK AND TH
E MFM-DRIVE.CONTAINS THE DESTINATION DIS
K. YOU CAN WORK WITH A SINGLE DRIVE, BUT
.COPYING LARGE FILES WILL BE MUCH SLOWER
.. .  IF YOU DECIDE TO START COPYING YOU
 HAVE TO ENTER THE NAME OF THE CBM.FILE.
 THE PROGRAM WILL THEN SEARCH FOR THE FI
LE ON THE SOURCE DISK. IF.THE FILE EXIST
S, YOU CAN SELECT A CONVERSION NUMBER (A
NALOGOUS TO.1541-READS-DOS) TO SPECIFY C
ONVERSION FROM CBM OR C-EDITOR CHARACTER
 SET.TO MS-DOS ASCII. CBM GRAPHIC CHARAC
TERS, THE LEFT ARROW AND THE POUND.SYMBO
L WILL BE IGNORED.. .  IN DETAIL, CONVER
SION IS DONE ACCORDING TO THE FOLLOWING 
TABLES:. .    CBM          ->        MS-
DOS.    -----------------------------.  
  0..12                  -.    13       
              13, 10.    14..31         
        -.    32..64                 32.
.64.    65..90      (+32)      97..122. 
   91                     91.    92     
                -.    93..94            
     93..94.    95..96                 -
.    97..122     (-32)      65..90.    1
23..192               -.    193..218    
(-128)     65..90.    219..255          
     -. .    C-EDITOR     ->        MS-D
OS.    -----------------------------.   
 0..12                  -.    13        
             13, 10.    14..31          
       -.    32..64                 32..
64.    65..90      (+32)      97..122.  
  91..95                 91..95.    96  
                   -.    97..122     (-3
2)      65..90.    123..192             
  -.    193..218    (-128)     65..90.  
  219..222    (-96)      123..126.    22
3..255               -. .  IN CONTRAST T
O 1541-READS-DOS, TEXT CONVERSION DOES N
OT LEAD TO PAUSES,.AS IT IS PERFORMED BY
 THE PROGRAM "READ90K.COM" ON THE MS-DOS
 MACHINE.. .  AFTER SELECTING THE CONVER
SION NUMBER YOU HAVE TO ENTER THE MS-DOS
.FILENAME. THE PROGRAM TRIES TO CREATE A
 REASONABLE FILENAME BY SEARCHING.FOR AN
 EXTENSION FROM THE RIGHT TO THE LEFT. S
UPERFLUOUS DOTS ARE.CONVERTED TO UNDERSC
ORES, BLANKS ARE OMITTED. THE FILENAME A
ND ITS.EXTENSION ARE TRUNCATED TO 8 AND 
3 CHARACTERS. HOWEVER, YOU HAVE TO.REMOV
E SPECIAL CHARACTERS LIKE ASTERISKS YOUR
SELF. YOU CAN CHANGE THE.SUGGESTED FILEN
AME, HOWEVER, LETTERS ARE ALWAYS STORED 
IN UPPER CASE AND.THE COMPLETE NAME IS T
RUNCATED TO A MAXIMUM OF 12 CHARACTERS. 
IF YOU.ENTER AN INVALID MS-DOS FILENAME 
YOU WILL HAVE TROUBLES COPYING THE FILE.
WITH READ90K.COM.. .  AFTER YOU HAVE ENT
ERED A NON-BLANK MS-DOS FILE NAME THE CO
PY PROCESS.BEGINS. COPYING A LONG FILE W
ITH A SINGLE DRIVE MEANS YOU WILL HAVE.T
O SWAP DISKS DURING THE OPERATION.. .  A
T THE END YOU CAN DECIDE TO START COPYIN
G TO ANOTHER MS-DOS DISK IN.90K-FORMAT. 
OTHERWISE THE PROGRAM WILL BE TERMINATED
 BY ISSUING A RESET.OF BOTH THE C64 AND 
THE MFM DISK DRIVE.. . .  NOW YOU MUST U
SE READ90K.COM TO GENERATE REGULAR MS-DO
S FILES FROM THE.90K-DISKS. YOU HAVE TO 
SPECIFY THE DRIVE THAT CONTAINS THE DISK
 AS A.PARAMETER. E.G.:. .    READ90K A:.
 .READS ALL FILES FROM THE DISK IN DRIVE
 A AND COPIES THEM TO THE CURRENT.DEVICE
. IF YOU JUST WANT TO VIEW THE NAMES OF 
THE FILES ON THE DISK YOU.HAVE TO ADD TH
E LETTER D AS A SECOND PARAMETER. E.G.:.
 .    READ90K A: D. .  EXECUTING READ90K
.COM WITHOUT PARAMETERS WILL DISPLAY A S
HORT HELP.MESSAGE.. .  SOURCE CODE FOR R
EAD90K IS AVAILABLE (APPENDIX B) FOR COM
PILING ON.UNIX AND UNIX-LIKE MACHINES WI
TH A 5 1/4" DRIVE. THE PROGRAM WILL.COMP
ILE USING GCC, AND LIKELY YOUR NATIVE CC
 AS WELL (USE THE COMMAND."CC -O READ90K
 READ90K.C")...  BEFORE USING THE PROGRA
M, YOU MUST FIND THE DEVICE DRIVER WHICH
.HANDLES SINGLE-SIDED OR DOUBLE-SIDED 40
-TRACK DOUBLE-DENSITY FLOPPY.DISKS. PUT 
ANY FORMATTED FLOPPY DISK INTO THE DRIVE
 AND EXECUTE THE.COMMAND "WC -C /DEV/FLO
PPYNAME" (WHERE FLOPPYNAME IS THE NAME O
F THE.SPECIAL FILE FOR THE FLOPPY DEVICE
 DRIVER). IF IT COMPLETES WITHOUT.ERRORS
 AND THE SIZE GIVEN IS 184 320 (180K), Y
OU CAN USE READ90K WITH.THE COMMAND LINE
 "READ90K /DEV/FLOPPYNAME". IF THE SIZE 
IS 368 640, YOU.HAVE A 360 KB SIZED DISK
 DRIVER AND MUST USE "READ90K 1 /DEV/FIL
ENAME"..IF YOU DON'T GET EITHER SIZED IM
AGE, YOU CANNOT ACCESS THE 90 KB DISK.. 
.  AS AN EXAMPLE, THE LINUX OS VER. 0.99
 PATCHLEVEL 10 USES THE NAMES./DEV/FD0 A
ND /DEV/FD0D360 FOR THE FLOPPY DEVICE DR
IVER FOR THE FIRST.FLOPPY DRIVE. THESE A
RE BOTH 360 KB DRIVERS WHICH REQUIRE USI
NG THE "1".OPTION ON THE READ90K COMMAND
 LINE (I.E. TO COPY A 1541-WRITTEN DISK,
.USE THE COMMAND LINE "READ90K 1 /DEV/FD
0").. .---------------------------------
--------------------------------------. 
.6) ERROR MESSAGES. .  DURING THE EXECUT
ION OF 1541-READS-DOS AND 1541-WRITES-90
K SEVERAL.DISK ERRORS MAY OCCUR. AN ERRO
R ALWAYS LEADS TO A TERMINATION OF THE.C
OPY PROCESS.. .  IF AN ERROR OCCURS DURI
NG A CBM DISK ACCESS, THE DRIVE'S ERROR 
CHANNEL.MESSAGE IS DISPLAYED.. .  DURING
 AN MS-DOS DISK ACCESS ONE OF THE FOLLOW
ING ERROR MESSAGES CAN.APPEAR. (THE PROB
ABLE REASON(S) FOR AN ERROR IS DESCRIBED
 HERE, BELOW.EACH MESSAGE.). . .* CAN'T 
ACCESS MFM-DISK (DRIVE NOT READY). .  TH
ERE IS EITHER NO DISK IN THE DRIVE, OR T
HE DRIVE DOOR IS OPEN, OR.THE DISK IS NO
T A FORMATTED MFM-DISK..  THE MESSAGE MI
GHT ALSO APPEAR IF THE 1541 HAS NOT BEEN
 MODIFIED OR IF.THE MODIFICATION WAS NOT
 CORRECT.. .* CRC-ERROR IN SECTOR HEADER
. .  THE DISK IS OF BAD QUALITY OR IS NO
T AN MFM-DISK.. .* SECTOR HEADER NOT FOU
ND. .  THE DISK IS OF BAD QUALITY OR IS 
NOT AN MFM-DISK. IT COULD ALSO.INDICATE 
CORRUPT DISK CONTROL INFORMATION.. .* DA
TA SECTION NOT FOUND. .  THE DISK IS OF 
BAD QUALITY.. .* CRC-ERROR IN DATA SECTI
ON. .  THE DISK IS OF BAD QUALITY. THERE
 COULD ALSO BE A PROBLEM WITH THE.DRIVE.
. .  IF THIS ERROR HAPPENS DURING WRITIN
G DATA IT INDICATES A WRITE VERIFY.ERROR
.. .* WRITE PROTECT ON. .  AN ATTEMPT WA
S MADE TO WRITE TO A WRITE PROTECTED DIS
K.. .* DISK FULL. .  AN ATTEMPT WAS MADE
 TO WRITE MORE THAN 91904 BYTES TO A 90K
-DISK.. .* ILLEGAL MFM-DISK SIDENR. ( <>
 0 ). .  THE DISK CONTROL INFORMATION IS
 CORRUPT (OR THE DRIVE IS SPINNING.BACKW
ARDS...).. .* UNSUPPORTED MFM-SECTOR SIZ
E ( <> 512 ). .  THE INSERTED DISK IS NO
T AN MS-DOS DISK (E.G. IT COULD BE A CP/
M.DISK).. .* NOT (YET) SUPPORTED MS-DOS 
FORMAT. .  THE DISK HAS BEEN FORMATTED W
ITH WRONG COMMAND LINE OPTIONS, OR IT IS
.NOT AN MS-DOS DISK, OR THE DISK CONTROL
 INFORMATION IS CORRUPT.. .  THE POSITIO
NS WHERE DISK ERRORS HAVE OCCURRED MAY B
E INDICATED BY AN.MFM TRACK AND SECTOR N
UMBER IN PARENTHESES.. .  THE PROGRAMS R
ETRY READING AND WRITING TO BAD QUALITY 
DISKS SEVERAL.TIMES BEFORE DISPLAYING AN
 ERROR MESSAGE.. .  SOME DRIVES BEHAVE D
IFFERENTLY AFTER THEY HAVE BEEN IN USE F
OR A LONG.TIME. SO, AFTER AN ERROR, IT M
IGHT BE WORTH TRYING AGAIN AFTER THE DRI
VE.HAS BEEN SWITCHED OFF FOR QUITE A WHI
LE.. .  SOMETIMES IT TAKES A VERY LONG T
IME TO DETECT AN ERROR. IN THAT CASE,.YO
U COULD OPEN THE DRIVE DOOR TO INTERRUPT
 THE READING PROCESS..NORMALLY THE READ/
WRITE HEAD WILL NOT BUMP AGAINST ITS BOU
NDARIES IF.THIS IS DONE DURING AN MS-DOS
 DISK ACCESS.. .------------------------
----------------------------------------
-------. .7) COMPATIBILITY. .  THE C64 P
ROGRAMS HAVE BEEN TESTED IN THE FOLLOWIN
G CONFIGURATIONS:. .    - A SINGLE MODIF
IED 1541 DRIVE.    - A SINGLE MODIFIED O
C-118N DRIVE.    - A MODIFIED 1541 AND A
 STOCK OC-118N.    - A MODIFIED OC-118N 
AND A STOCK 1541.    - A MODIFIED 1541 A
ND RAMDOS EMULATING A SECOND DISK DRIVE.
 .  THEY SHOULD ALSO WORK WITH ANY OTHER
 COMMODORE COMPATIBLE DISK DRIVE.USED AS
 THE SECOND DRIVE (THE ONE HOLDING THE C
BM FORMAT DISK).. .  THE MEMORY BETWEEN 
$C000 AND $CFFF HAS INTENTIONALLY BEEN L
EFT.BLANK. THIS IS THE PLACE TO PUT UTIL
ITY PROGRAMS LIKE THE RAMDOS.INTERFACE P
AGE.. .  DISK SPEEDUP UTILITIES SHOULD W
ORK WELL WITH READING AND WRITING TO.CBM
 FORMAT DISKS. IF THEY SPEED UP SEQUENTI
AL FILE ACCESS, COPYING.WILL BE MUCH FAS
TER.. .  WHILE READING AND WRITING TO MS
-DOS DISKS ALMOST ANY AVAILABLE RAM.IN T
HE 1541 IS USED. THEREFORE YOU MIGHT HAV
E TROUBLES WITH UTILITIES.THAT RELY UPON
 THAT RAM.. .  THE PROGRAMS WILL RESET T
HE DISK DRIVE AFTER EACH COPY PASS IF A.
SINGLE DISK DRIVE IS USED. THIS WILL RES
ET DEVICE NUMBERS CHANGED BY.SOFTWARE TO
 THEIR ORIGINAL VALUES.. .--------------
----------------------------------------
-----------------. .8) POSSIBLE IMPROVEM
ENTS. .  THE PROGRAMS 1541-READS-DOS AND
 1541-WRITES-90K ARE BOTH DIVIDED INTO.M
ACHINE LANGUAGE CODE EXECUTED IN THE MOD
IFIED 1541 DISK DRIVE AND A.COMPILED C-P
ROGRAM EXECUTED IN THE C64.. .  THERE AR
E SOME RESTRICTIONS DUE TO THE USE OF C 
AS THE PROGRAMMING.LANGUAGE. IF THE C64 
PROGRAMS WOULD BE REWRITTEN IN ASSEMBLER
 MANY.IMPROVEMENTS COULD BE ACHIEVED.. .
* SMALLER PROGRAM SIZE. .  THE READ AND 
WRITE PROGRAMS COULD BE COMBINED INTO ON
E AND A BIGGER.COPY BUFFER COULD BE USED
 (CURRENT SIZE IS 12KB).. .* HIGHER SPEE
D. .  THE ROUTINES FOR TEXT CONVERSION E
SPECIALLY COULD BE MUCH FASTER.. .  WITH
 FAST TRANSFER ROUTINES, MS-DOS READING 
AND WRITING SPEED COULD.BE DOUBLED..  AS
 AN OPTION, CBM DISK READING AND WRITING
 COULD ALSO BE MADE 5 TIMES.FASTER QUITE
 EASILY.. .* BETTER USER INTERFACE. .  A
 LESS MODAL USER INTERFACE, EITHER COMMA
ND LINE OR MENU ORIENTED,.COULD BE IMPLE
MENTED.. .* MORE FLEXIBILITY. .  1541-RE
ADS-DOS COULD HANDLE QUITE EASILY ALSO 1
60KB DISKS..  SUBDIRECTORIES COULD BE SU
PPORTED.. .* IMPROVEMENT OF LOW LEVEL RO
UTINES. .  CURRENTLY, IT IS NOT POSSIBLE
 TO WRITE COMPLETE SECTORS DUE TO TOO.LI
TTLE MEMORY IN THE 1541. THAT IS WHY THE
 90K-FORMAT IS USED. BY.LETTING THE C64 
DO SOME OF THE WORK CURRENTLY DONE BY TH
E 1541 IT COULD.BE POSSIBLE TO WRITE COM
PLETE SECTORS.. .  THE REGULAR MS-DOS FO
RMAT COULD THEN BE USED FOR WRITING, TOO
. COMMANDS.TO DELETE AND RENAME FILES CO
ULD BE ALSO IMPLEMENTED THEN.. .  IT WOU
LD BE POSSIBLE TO SUPPORT DOUBLE SIDED D
ISKS BY FLIPPING DISKS.OVER. A HARDWARE 
OR SOFTWARE SWITCH INSTALLED IN THE 1541
 TO CHANGE THE.SPINNING DIRECTION WOULD 
PROBABLY BE NECESSARY.. .---------------
----------------------------------------
----------------. .9) DISCLAIMER. .  ALT
HOUGH THE DRIVE MODIFICATION AND PROGRAM
S HAVE BEEN TESTED ON SEVERAL.DISK DRIVE
S AND COMPUTERS, THE AUTHORS CANNOT GUAR
ANTEE THAT ANYONE ELSE.CAN PERFORM THIS 
UPGRADE WITHOUT DAMAGING HIS COMPUTER. W
E THEREFORE.DISCLAIM ANY RESPONSIBILITY 
FOR ANY DAMAGE THAT MAY OCCUR AS RESULT 
OF.ATTEMPTING THIS UPGRADE OR USING THE 
ACCOMPANYING PROGRAMS. KEEP IN MIND.THAT
 THE MODIFICATION WILL ALSO VOID ANY WAR
RANTY ON YOUR DISK DRIVE.. . .----------
----------------------------------------
---------------------. .10) CONTACTING T
HE AUTHORS. .  IF YOU HAVE COMMENTS OR B
UG REPORTS OR IF YOU ARE INTERESTED IN.I
MPROVING THE PROGRAMS FEEL FREE TO SEND 
EMAIL TO THE PROGRAMMER OF THE.C64 PROGR
AMS,. .RICHARD HABLE.RICHARD.HABLE@JK.UN
I-LINZ.AC.AT. .TO THE ORIGINAL DEVELOPER
 OF THE DRIVE MODIFICATION AND MFM READI
NG.ROUTINE,. .DANIEL FANDRICH.DAN@FCH.WI
MSEY.BC.CA.OR COMPUSERVE 72365,306. .OR 
TO THE AUTHOR OF THE READ90K PROGRAMS,. 
.MARKO MAKELA.MARKO.MAKELA@HELSINKI.FI. 
. .-------------------------------------
------------------------------------..AP
PENDIX A: LISTING OF BASIC PROGRAM 1541-
DOS.BOOT..  THIS BASIC PROGRAM ALLOWS YO
U TO READ 1541-DOS.SFX FOR THE FIRST.TIM
E. IT HAS BEEN KEPT AS SMALL AS POSSIBLE
, THEREFORE, THERE IS LITTLE.ERROR CHECK
ING. PLEASE READ THE FOLLOWING INSTRUCTI
ONS TO AVOID.INCORRECT RESULTS...  FORMA
T AN MS-DOS DISK FOR DATA TRANSFER, AS D
ESCRIBED IN 3)..  COPY THE FILE 1541-DOS
.SFX TO THE FRESHLY FORMATTED MS-DOS DIS
K. .   .  TYPE IN THE BASIC PROGRAM 1541
-DOS.BOOT, SAVE IT AND RUN IT ON A C64..
  FIRST, YOU HAVE TO ENTER THE DEVICE NU
MBER OF THE MODIFIED 1541. THIS.DRIVE WI
LL BE USED FOR BOTH READING AND WRITING.
.  THEN, YOU HAVE TO INSERT A CORRECTLY 
FORMATTED CBM DISK. NO DATA ON.THIS DISK
 WILL BE CHANGED. IT IS ONLY NECESSARY T
O LET THE DRIVE FIND.CORRECT TRACK POSIT
IONS..  THEN, YOU HAVE TO INSERT THE MS-
DOS DISK. THE PROGRAM 1541-DOS.SFX.WILL 
BE READ INTO MEMORY. THIS WILL TAKE QUIT
E A WHILE..  IF NO ERRORS OCCUR, YOU CAN
 INSERT A CBM DISK, TO WHICH THE.PROGRAM
 1541-DOS.SFX WILL BE WRITTEN TO....0 RE
M 1541-DOS.BOOT  VER. 16.11.1993.1 REM R
EAD 1541-DOS.INSTR !.2 :.10 POKE55,0:POK
E56,48:CLR.100 INPUT"DEVICE NUMBER";V.15
0 INPUT"INSERT CORRECT CBM DISK <RETURN>
";X$.160 OPEN1,V,15,"I":INPUT#1,A,B$,C,D
:CLOSE1:IFA>=20THENSTOP.200 INPUT"INSERT
 MS-DOS SOURCE DISK <RETURN>";X$.210 OPE
N1,V,15:GOSUB2000:CLOSE1.300 OPEN1,V,15:
PRINT"READING".310 T=1:S=1:M=12288:B=56.
320 FORD=1TOB:GOSUB1000:M=M+512:S=S+1:IF
S>9THENS=1:T=T+1.330 PRINT"#";:NEXTD:PRI
NT:PRINT#1,"UI";.400 INPUT"INSERT CBM DE
STINATION DISK <RETURN>";X$.410 OPEN2,V,
1,"1541-DOS.SFX":INPUT#1,A,B$,C,D:IFA>=2
0THENSTOP.420 FORI=0TOB*512-1:PRINT#2,CH
R$(PEEK(12288+I));:NEXT:CLOSE2.430 CLOSE
1:POKE56,160:CLR:END.999 :.1000 REM READ
 SECTOR T/S INTO M.1010 FORC=1TO15:FORP=
0TO1.1020 PRINT#1,"M-W"CHR$(6)CHR$(4)CHR
$(4)CHR$(P)CHR$(T)CHR$(0)CHR$(S);.1030 P
RINT#1,"M-E"CHR$(3)CHR$(4);:PRINT#1,"M-R
"CHR$(13)CHR$(4)CHR$(1);:GET#1,E$.1040 I
FE$<>""THENIFP=0OR(E$<>CHR$(2))AND(E$<>C
HR$(4))THENPRINT"READ ERROR":STOP.1050 I
FE$<>""THENNEXTC:PRINT"READ ERROR":STOP.
1060 FORI=0TO255STEP32:PRINT#1,"M-R"CHR$
(I)CHR$(3)CHR$(32);.1070 FORJ=0TO31:GET#
1,C$:POKEM+256*P+I+J,ASC(C$+CHR$(0)):NEX
T:NEXT.1080 NEXTP:RETURN.2000 REM TRANSF
ER M.CODE.2010 FORI=0TO1023:READA:PRINT#
1,"M-W"CHR$(IAND255)CHR$(4+I/256)CHR$(1)
CHR$(A);.2020 H=H+A*(I+1):NEXT:IFH<>5247
7511THENSTOP.2030 RETURN.9999 :.10000 DA
TA76,75,4,76,14,4,0,18,0.10010 DATA1,2,0
,0,0,32,0,193,173.10020 DATA1,24,72,41,2
52,9,2,141.10030 DATA1,24,173,12,24,72,4
1,241.10040 DATA9,12,141,12,24,169,76,14
1.10050 DATA0,4,169,75,141,1,4,174.10060
 DATA7,4,232,134,8,169,224,133.10070 DAT
A1,165,1,48,252,141,13,4.10080 DATA104,1
41,12,24,104,141,1.10090 DATA24,96,160,3
3,185,42,2,153.10100 DATA213,2,136,16,24
7,173,0.10110 DATA28,41,159,141,0,28,162
.10120 DATA6,189,248,7,157,209,1,202.101
30 DATA208,247,160,146,165,16.10140 DATA
72,165,17,72,169,117,133.10150 DATA16,16
9,55,133,17,134,23.10160 DATA189,7,4,32,
187,7,32,218.10170 DATA7,153,70,1,200,16
5,84,153.10180 DATA70,1,200,232,224,4,14
4.10190 DATA232,169,0,32,187,7,32,187.10
200 DATA7,165,17,32,218,7,153,70.10210 D
ATA1,200,165,84,153,70,1,165.10220 DATA1
6,200,192,158,144,237.10230 DATA104,133,
17,104,133,16,169.10240 DATA78,32,218,7,
153,70,1,165.10250 DATA84,153,71,1,160,0
,152,141.10260 DATA127,7,162,141,189,69,
1.10270 DATA192,80,144,3,169,137,202.102
80 DATA133,22,189,70,1,72,32,125.10290 D
ATA7,153,70,1,104,232,200.10300 DATA224,
159,144,237,208,4,192.10310 DATA80,144,2
31,173,127,7,24.10320 DATA105,3,141,127,
7,169,255.10330 DATA153,70,1,200,192,140
,144.10340 DATA200,141,229,1,169,13,141.
10350 DATA34,6,169,0,141,47,6,32.10360 D
ATA76,5,169,67,141,34,6,169.10370 DATA54
,141,47,6,169,208,160.10380 DATA200,174,
6,4,208,12,169.10390 DATA112,133,16,169,
55,133,17.10400 DATA169,153,160,0,141,13
0,6.10410 DATA140,131,6,162,144,169,255.
10420 DATA157,70,1,138,56,233,20.10430 D
ATA170,176,244,162,202,154.10440 DATA169
,203,141,5,24,169,180.10450 DATA133,82,1
60,0,169,48,133.10460 DATA24,184,80,254,
44,1,28,184.10470 DATA80,254,173,1,28,18
4,162.10480 DATA80,201,85,240,36,80,254.
10490 DATA173,1,28,184,162,100,201.10500
 DATA170,240,89,136,208,222.10510 DATA19
8,24,208,218,162,1,76.10520 DATA68,7,80,
254,44,1,28,184.10530 DATA56,76,25,6,169
,85,80,254.10540 DATA237,1,28,240,247,20
1,13.10550 DATA240,233,144,13,80,254,44.
10560 DATA1,28,162,120,233,51,240.10570 
DATA116,208,175,80,254,44,1.10580 DATA28
,184,162,40,201,3,240.10590 DATA14,80,25
4,44,1,28,184,162.10600 DATA0,201,1,240,
90,208,149.10610 DATA80,254,173,1,28,233
,74.10620 DATA240,79,208,138,169,170.106
30 DATA80,254,237,1,28,240,247.10640 DAT
A201,25,240,168,144,13,80.10650 DATA254,
44,1,28,162,140,233.10660 DATA102,240,51
,208,215,80,254.10670 DATA44,1,28,184,16
2,60,201.10680 DATA6,240,15,80,254,44,1,
28.10690 DATA184,162,20,201,1,240,25.107
00 DATA76,86,5,80,254,173,1,28.10710 DAT
A233,148,240,13,208,242.10720 DATA152,56
,233,3,168,176,235.10730 DATA76,120,5,23
2,80,254,173.10740 DATA1,28,253,70,1,208
,13,232.10750 DATA80,254,173,1,28,253,70
.10760 DATA1,240,234,208,0,56,138.10770 
DATA170,233,20,176,251,224.10780 DATA6,1
44,211,224,19,240,12.10790 DATA198,82,24
0,3,76,80,5,162.10800 DATA3,76,68,7,96,1
40,131,6.10810 DATA80,254,44,1,28,184,16
9.10820 DATA153,136,240,34,80,254,44.108
30 DATA1,28,184,141,130,6,76,79.10840 DA
TA6,80,254,173,1,28,184,133.10850 DATA83
,188,70,1,80,254,173.10860 DATA1,28,184,
133,84,200,208.10870 DATA153,80,254,173,
1,28,184.10880 DATA153,0,3,80,254,173,1,
28.10890 DATA184,153,129,3,200,80,254.10
900 DATA173,1,28,184,153,202,1.10910 DAT
A192,129,80,254,173,1,28.10920 DATA184,7
2,144,217,44,5,24.10930 DATA48,5,162,4,7
6,68,7,138.10940 DATA162,255,56,233,20,2
32,176.10950 DATA251,138,73,7,133,26,10.
10960 DATA101,26,141,127,7,169,0.10970 D
ATA133,23,141,107,7,160,129.10980 DATA22
4,4,104,176,3,173,75.10990 DATA2,133,22,
176,6,144,10,104.11000 DATA32,83,7,185,2
02,1,32,83.11010 DATA7,136,185,129,3,32,
83,7.11020 DATA185,0,3,32,83,7,152,208.1
1030 DATA230,165,84,32,83,7,165.11040 DA
TA83,32,83,7,174,6,4,240.11050 DATA7,169
,0,141,203,1,162,0.11060 DATA160,0,185,2
03,1,157,0,3.11070 DATA32,187,7,185,129,
3,157.11080 DATA1,3,32,187,7,200,232,232
.11090 DATA208,233,174,6,4,208,9,173.111
00 DATA75,2,141,2,7,76,68,7,173.11110 DA
TA75,2,32,187,7,173,1,4,32.11120 DATA187
,7,165,16,5,17,170,240.11130 DATA2,162,5
,160,33,185,213.11140 DATA2,153,42,2,136
,16,247,138.11150 DATA76,105,249,166,22,
72,133.11160 DATA22,138,32,125,7,166,23.
11170 DATA133,23,240,23,138,32,150.11180
 DATA7,162,0,134,23,240,0,153.11190 DATA
129,3,162,7,208,3,153,203.11200 DATA1,14
2,107,7,104,133,22.11210 DATA96,24,144,2
54,70,22,106.11220 DATA70,22,106,70,22,1
06,70.11230 DATA22,106,70,22,106,70,22.1
1240 DATA106,70,22,106,96,41,170.11250 D
ATA105,42,41,212,105,20,41.11260 DATA232
,105,8,74,74,74,74,133.11270 DATA26,165,
23,41,170,105,42.11280 DATA41,212,105,20
,41,232,105.11290 DATA8,41,240,5,26,96,7
2,133.11300 DATA26,56,38,26,240,21,38,16
.11310 DATA38,17,144,246,165,16,73.11320
 DATA33,133,16,165,17,73,16.11330 DATA13
3,17,24,144,231,104,96.11340 DATA56,42,8
,176,6,36,23,48.11350 DATA2,56,36,24,38,
84,38,83.11360 DATA40,8,102,23,40,38,84,
38.11370 DATA83,10,208,230,165,83,96.113
80 DATA68,137,68,137,85,84,144..--------
----------------------------------------
-------------------------..APPENDIX B: C
-VERSION OF READ90K FOR UNIX..  IF YOU D
ON'T HAVE MS-DOS INSTALLED ON YOUR PC, I
T MIGHT BE POSSIBLE TO.USE THE FOLLOWING
 C-PROGRAM TO READ FILES FROM DISKS IN 9
0K-FORMAT....#INCLUDE <STDIO.H>.#INCLUDE
 <STRING.H>. ./*************************
***********************************.* RE
AD90K V0.1.*.* MARKO MDKELD.* MAIL:     
SILLITIE 10 A.*           01480 VANTAA.*
           FINLAND.* E-MAIL:   MARKO.MAK
ELA@HELSINKI.FI.*.* VERSION HISTORY:.*.*
 VERSION   DATE                DESCRIPTI
ON.* V0.1      JUNE  23RD, 1993    THE F
IRST VERSION FOR UNIX..*****************
****************************************
***/. ./*******************.* TRANSLATIO
N TABLE.*******************/. .UNSIGNED 
CHAR TRANSLATABLE[] =.{.    0X00, 0X00, 
0X00, 0X00, 0X00, 0X00, 0X00, 0X00, /* 0
0 */.    0X00, 0X00, 0X00, 0X00, 0X00, 0
X0A, 0X00, 0X00,.    0X00, 0X00, 0X00, 0
X00, 0X00, 0X00, 0X00, 0X00, /* 10 */.  
  0X00, 0X00, 0X00, 0X00, 0X00, 0X00, 0X
00, 0X00,.    0X20, 0X21, 0X22, 0X23, 0X
24, 0X25, 0X26, 0X27, /* 20 */.    0X28,
 0X29, 0X2A, 0X2B, 0X2C, 0X2D, 0X2E, 0X2
F,.    0X30, 0X31, 0X32, 0X33, 0X34, 0X3
5, 0X36, 0X37, /* 30 */.    0X38, 0X39, 
0X3A, 0X3B, 0X3C, 0X3D, 0X3E, 0X3F,.    
0X40, 0X61, 0X62, 0X63, 0X64, 0X65, 0X66
, 0X67, /* 40 */.    0X68, 0X69, 0X6A, 0
X6B, 0X6C, 0X6D, 0X6E, 0X6F,.    0X70, 0
X71, 0X72, 0X73, 0X74, 0X75, 0X76, 0X77,
 /* 50 */.    0X78, 0X79, 0X7A, 0X5B, 0X
00, 0X5D, 0X5E, 0X00,.    0X00, 0X41, 0X
42, 0X43, 0X44, 0X45, 0X46, 0X47, /* 60 
*/.    0X48, 0X49, 0X4A, 0X4B, 0X4C, 0X4
D, 0X4E, 0X4F,.    0X50, 0X51, 0X52, 0X5
3, 0X54, 0X55, 0X56, 0X57, /* 70 */.    
0X58, 0X59, 0X5A, 0X00, 0X00, 0X00, 0X00
, 0X00,.    0X00, 0X00, 0X00, 0X00, 0X00
, 0X00, 0X00, 0X00, /* 80 */.    0X00, 0
X00, 0X00, 0X00, 0X00, 0X00, 0X00, 0X00,
.    0X00, 0X00, 0X00, 0X00, 0X00, 0X00,
 0X00, 0X00, /* 90 */.    0X00, 0X00, 0X
00, 0X00, 0X00, 0X00, 0X00, 0X00,.    0X
00, 0X00, 0X00, 0X00, 0X00, 0X00, 0X00, 
0X00, /* A0 */.    0X00, 0X00, 0X00, 0X0
0, 0X00, 0X00, 0X00, 0X00,.    0X00, 0X0
0, 0X00, 0X00, 0X00, 0X00, 0X00, 0X00, /
* B0 */.    0X00, 0X00, 0X00, 0X00, 0X00
, 0X00, 0X00, 0X00,.    0X00, 0X41, 0X42
, 0X43, 0X44, 0X45, 0X46, 0X47, /* C0 */
.    0X48, 0X49, 0X4A, 0X4B, 0X4C, 0X4D,
 0X4E, 0X4F,.    0X50, 0X51, 0X52, 0X53,
 0X54, 0X55, 0X56, 0X57, /* D0 */.    0X
58, 0X59, 0X5A, 0X00, 0X00, 0X00, 0X00, 
0X00,.    0X00, 0X00, 0X00, 0X00, 0X00, 
0X00, 0X00, 0X00, /* E0 */.    0X00, 0X0
0, 0X00, 0X00, 0X00, 0X00, 0X00, 0X00,. 
   0X00, 0X00, 0X00, 0X00, 0X00, 0X00, 0
X00, 0X00, /* F0 */.    0X00, 0X00, 0X00
, 0X00, 0X00, 0X00, 0X00, 0X00,. .    0X
00, 0X00, 0X00, 0X00, 0X00, 0X00, 0X00, 
0X00, /* 00 */.    0X00, 0X00, 0X00, 0X0
0, 0X00, 0X0A, 0X00, 0X00,.    0X00, 0X0
0, 0X00, 0X00, 0X00, 0X00, 0X00, 0X00, /
* 10 */.    0X00, 0X00, 0X00, 0X00, 0X00
, 0X00, 0X00, 0X00,.    0X20, 0X21, 0X22
, 0X23, 0X24, 0X25, 0X26, 0X27, /* 20 */
.    0X28, 0X29, 0X2A, 0X2B, 0X2C, 0X2D,
 0X2E, 0X2F,.    0X30, 0X31, 0X32, 0X33,
 0X34, 0X35, 0X36, 0X37, /* 30 */.    0X
38, 0X39, 0X3A, 0X3B, 0X3C, 0X3D, 0X3E, 
0X3F,.    0X40, 0X61, 0X62, 0X63, 0X64, 
0X65, 0X66, 0X67, /* 40 */.    0X68, 0X6
9, 0X6A, 0X6B, 0X6C, 0X6D, 0X6E, 0X6F,. 
   0X70, 0X71, 0X72, 0X73, 0X74, 0X75, 0
X76, 0X77, /* 50 */.    0X78, 0X79, 0X7A
, 0X5B, 0X5C, 0X5D, 0X5E, 0X5F,.    0X00
, 0X41, 0X42, 0X43, 0X44, 0X45, 0X46, 0X
47, /* 60 */.    0X48, 0X49, 0X4A, 0X4B,
 0X4C, 0X4D, 0X4E, 0X4F,.    0X50, 0X51,
 0X52, 0X53, 0X54, 0X55, 0X56, 0X57, /* 
70 */.    0X58, 0X59, 0X5A, 0X00, 0X00, 
0X00, 0X00, 0X00,.    0X00, 0X00, 0X00, 
0X00, 0X00, 0X00, 0X00, 0X00, /* 80 */. 
   0X00, 0X00, 0X00, 0X00, 0X00, 0X00, 0
X00, 0X00,.    0X00, 0X00, 0X00, 0X00, 0
X00, 0X00, 0X00, 0X00, /* 90 */.    0X00
, 0X00, 0X00, 0X00, 0X00, 0X00, 0X00, 0X
00,.    0X00, 0X00, 0X00, 0X00, 0X00, 0X
00, 0X00, 0X00, /* A0 */.    0X00, 0X00,
 0X00, 0X00, 0X00, 0X00, 0X00, 0X00,.   
 0X00, 0X00, 0X00, 0X00, 0X00, 0X00, 0X0
0, 0X00, /* B0 */.    0X00, 0X00, 0X00, 
0X00, 0X00, 0X00, 0X00, 0X00,.    0X00, 
0X41, 0X42, 0X43, 0X44, 0X45, 0X46, 0X47
, /* C0 */.    0X48, 0X49, 0X4A, 0X4B, 0
X4C, 0X4D, 0X4E, 0X4F,.    0X50, 0X51, 0
X52, 0X53, 0X54, 0X55, 0X56, 0X57, /* D0
 */.    0X58, 0X59, 0X5A, 0X7B, 0X7C, 0X
7D, 0X7E, 0X00,.    0X00, 0X00, 0X00, 0X
00, 0X00, 0X00, 0X00, 0X00, /* E0 */.   
 0X00, 0X00, 0X00, 0X00, 0X00, 0X00, 0X0
0, 0X00,.    0X00, 0X00, 0X00, 0X00, 0X0
0, 0X00, 0X00, 0X00, /* F0 */.    0X00, 
0X00, 0X00, 0X00, 0X00, 0X00, 0X00, 0X00
.};. ./*********************.* FUNCTION 
PROTOTYPES.*********************/. .#IFN
DEF __STDC__.INT MAIN();             /* 
MAIN FUNCTION */.#ELSE.INT MAIN(INT ARGC
, CHAR **ARGV);.#ENDIF. ./***********.* 
FUNCTIONS.***********/. .#IFDEF __STDC__
.INT MAIN(INT ARGC, CHAR **ARGV).#ELSE.I
NT.MAIN(ARGC,ARGV).    INT ARGC;.    CHA
R **ARGV;.#ENDIF.{.    FILE *DISK, *OUTF
ILE;.    UNSIGNED CHAR DIRBUF[256], DISK
BUF[512], BYTE;.    UNSIGNED UFILECOUNTE
R, UCOUNTER, USECTORCOUNTER, MODE = 1,. 
            UTRANS1, UTRANS2;.    UNSIGN
ED LONG LUFILELENGTH, LUFINALLENGTH;. . 
   FPRINTF(STDERR, "90 KB DISK READER FO
R UNIX V0.1\N");. .    IF (ARGC < 2 || A
RGC > 3).    {.USAGE:  FPRINTF (STDERR, 
"USAGE: %S [D|1] DISK\N", *ARGV);.      
  FPRINTF (STDERR, "OPTIONS: D TO DISPLA
Y THE DIRECTORY ONLY.\N");.        FPRIN
TF (STDERR, "         1 TO EXTRACT SKIPP
ING THE SECOND SIDE.\N");.        FPRINT
F (STDERR, "DISK IS /DEV/FD0, FOR INSTAN
CE.\N");.        RETURN (1);.    }. .   
 IF (ARGC == 3 && ARGV[1][1]).        GO
TO USAGE;. .    IF (ARGC == 3).    {.   
     ARGV++;. .        IF (**ARGV == 'D'
).            MODE = 0;.        ELSE IF 
(**ARGV == '1').            MODE = 2;.  
      ELSE.            GOTO USAGE;.    }
. .    IF ((DISK = FOPEN(*++ARGV, "RB"))
 == NULL).    {.        FPRINTF(STDERR, 
"OPENING THE DISK %S FAILED.\N", *ARGV);
.        RETURN(2);.    }. .    /* READ 
DIRECTORY */. .    IF (512 > FREAD (DISK
BUF, SIZEOF *DISKBUF, 512, DISK)).    {.
        FPRINTF (STDERR, "ERROR READING 
DISK DIRECTORY.\N");.        FCLOSE (DIS
K);.        RETURN (3);.    }. .    USEC
TORCOUNTER = 1;. .    MEMCPY (DIRBUF, DI
SKBUF, 256);. .    /* START PROCESSING T
HE DIRECTORY */. .    FOR (UFILECOUNTER 
= 0; UFILECOUNTER < 256 && DIRBUF[UFILEC
OUNTER];.            UFILECOUNTER += 16)
.    {.        LUFILELENGTH = 1 + (UNSIG
NED LONG)DIRBUF[UFILECOUNTER + 13] +.   
             ((UNSIGNED LONG)DIRBUF[UFIL
ECOUNTER + 14] << 8) +.                (
((UNSIGNED LONG)DIRBUF[UFILECOUNTER + 15
] & 1) << 16);. .        IF (MODE).     
       FPRINTF (STDOUT, "CREATING `%S', 
%LU BYTES -- ",.                    &DIR
BUF[UFILECOUNTER], LUFILELENGTH);.      
  ELSE.            FPRINTF (STDOUT, "`%S
', %LU BYTES\N", &DIRBUF[UFILECOUNTER],.
                    LUFILELENGTH);. .   
     IF (MODE).        {.            IF 
(!(OUTFILE = FOPEN (&DIRBUF[UFILECOUNTER
], "WB"))).            {.OUTFAIL:       
 FPRINTF (STDERR, "FAILED IN CREATING TH
E FILE.\N");.                FCLOSE (DIS
K);.                RETURN (4);.        
    }. .            LUFINALLENGTH = 0;. 
.            WHILE (LUFILELENGTH).      
      {.                IF (512 > FREAD 
(DISKBUF, SIZEOF *DISKBUF, 512, DISK)). 
               {.                    FPR
INTF (STDERR, "ERROR READING THE DISK.\N
");.                    FCLOSE (DISK);. 
                   FCLOSE (OUTFILE);.   
                 RETURN (3);.           
     }. .                LUFILELENGTH -=
 (UCOUNTER = LUFILELENGTH > 256 ?.      
                  256 : LUFILELENGTH);. 
.                IF (DIRBUF[UFILECOUNTER
 + 15] & 192) /* TRANSLATION */.        
        {.                    MEMCPY (DI
SKBUF + 256, DISKBUF, 256);. .          
          FOR (UTRANS1 = UTRANS2 = 0; UT
RANS1 < UCOUNTER; UTRANS1++).           
             IF (BYTE = TRANSLATABLE[((D
IRBUF[UFILECOUNTER + 15] &.             
                   128) << 1) + DISKBUF[
256 + UTRANS1]]).                       
     DISKBUF[UTRANS2++] = BYTE;. .      
              UCOUNTER = UTRANS2;.      
          }. .                IF (UCOUNT
ER > FWRITE (DISKBUF, SIZEOF *DISKBUF,. 
                       UCOUNTER, OUTFILE
)).                {.                   
 FCLOSE (OUTFILE);.                    G
OTO OUTFAIL;.                }. .       
         LUFINALLENGTH += UCOUNTER;. .  
              IF (++USECTORCOUNTER == 9)
.                {.                    I
F (MODE == 2)      /* OPTIONALLY SKIP TH
E SECOND SIDE */.                       
 FOR (USECTORCOUNTER++; --USECTORCOUNTER
;.                                FREAD 
(DISKBUF, SIZEOF *DISKBUF, 512, DISK));.
 .                    USECTORCOUNTER = 0
;.                }.            }. .    
        FCLOSE (OUTFILE);.            FP
RINTF (STDOUT, "%LU BYTES CONVERTED.\N",
 LUFINALLENGTH);.        }.    }. .    F
CLOSE (DISK);.    RETURN (0);.}.
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL