dsktool 0.4.2 → 0.5.1
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/dskexplorer.rb +1 -1
- data/bin/dskexplorer.rb~ +365 -0
- data/bin/dsktool.rb +7 -3
- data/bin/dsktool.rb~ +173 -0
- data/doc/classes/AppleSoftFile.html +199 -0
- data/doc/classes/AppleSoftFile.src/M000005.html +18 -0
- data/doc/classes/AppleSoftFile.src/M000006.html +18 -0
- data/doc/classes/AppleSoftFile.src/M000008.html +18 -0
- data/doc/classes/AppleSoftFile.src/M000009.html +18 -0
- data/doc/classes/AppleSoftFile.src/M000010.html +18 -0
- data/doc/classes/AppleSoftFile.src/M000055.html +18 -0
- data/doc/classes/AppleSoftFile.src/M000056.html +18 -0
- data/doc/classes/AppleSoftFile.src/M000057.html +18 -0
- data/doc/classes/AppleSoftFile.src/M000058.html +18 -0
- data/doc/classes/BinaryFile.html +241 -0
- data/doc/classes/BinaryFile.src/M000015.html +18 -0
- data/doc/classes/BinaryFile.src/M000020.html +18 -0
- data/doc/classes/BinaryFile.src/M000021.html +18 -0
- data/doc/classes/BinaryFile.src/M000022.html +19 -0
- data/doc/classes/BinaryFile.src/M000107.html +18 -0
- data/doc/classes/BinaryFile.src/M000108.html +18 -0
- data/doc/classes/BinaryFile.src/M000109.html +18 -0
- data/doc/classes/BinaryFile.src/M000110.html +19 -0
- data/doc/classes/BinaryFile.src/M000111.html +19 -0
- data/doc/classes/BinaryFile.src/M000112.html +19 -0
- data/doc/classes/BinaryFile.src/M000113.html +18 -0
- data/doc/classes/CPMDisk.html +331 -0
- data/doc/classes/CPMDisk.src/M000024.html +21 -0
- data/doc/classes/CPMDisk.src/M000025.html +23 -0
- data/doc/classes/CPMDisk.src/M000026.html +23 -0
- data/doc/classes/CPMDisk.src/M000027.html +19 -0
- data/doc/classes/CPMDisk.src/M000028.html +18 -0
- data/doc/classes/CPMDisk.src/M000029.html +18 -0
- data/doc/classes/CPMDisk.src/M000030.html +31 -0
- data/doc/classes/CPMDisk.src/M000031.html +51 -0
- data/doc/classes/CPMDisk.src/M000032.html +53 -0
- data/doc/classes/CPMFile.html +252 -0
- data/doc/classes/CPMFile.src/M000064.html +22 -0
- data/doc/classes/CPMFile.src/M000065.html +20 -0
- data/doc/classes/CPMFile.src/M000066.html +22 -0
- data/doc/classes/CPMFile.src/M000067.html +18 -0
- data/doc/classes/CPMFile.src/M000068.html +18 -0
- data/doc/classes/CPMFile.src/M000069.html +18 -0
- data/doc/classes/CPMFile.src/M000070.html +18 -0
- data/doc/classes/CatalogServlet.html +148 -0
- data/doc/classes/CatalogServlet.src/M000035.html +20 -0
- data/doc/classes/CatalogServlet.src/M000036.html +20 -0
- data/doc/classes/D65.html +180 -0
- data/doc/classes/D65.src/M000002.html +18 -0
- data/doc/classes/D65.src/M000003.html +18 -0
- data/doc/classes/D65.src/M000004.html +64 -0
- data/doc/classes/D65.src/M000005.html +18 -0
- data/doc/classes/D65.src/M000006.html +18 -0
- data/doc/classes/D65.src/M000007.html +18 -0
- data/doc/classes/D65.src/M000008.html +18 -0
- data/doc/classes/D65.src/M000048.html +18 -0
- data/doc/classes/D65.src/M000049.html +64 -0
- data/doc/classes/DOSDisk.html +425 -0
- data/doc/classes/DOSDisk.src/M000007.html +20 -0
- data/doc/classes/DOSDisk.src/M000008.html +77 -0
- data/doc/classes/DOSDisk.src/M000010.html +20 -0
- data/doc/classes/DOSDisk.src/M000011.html +20 -0
- data/doc/classes/DOSDisk.src/M000012.html +19 -0
- data/doc/classes/DOSDisk.src/M000013.html +20 -0
- data/doc/classes/DOSDisk.src/M000053.html +23 -0
- data/doc/classes/DOSDisk.src/M000054.html +19 -0
- data/doc/classes/DOSDisk.src/M000055.html +21 -0
- data/doc/classes/DOSDisk.src/M000056.html +37 -0
- data/doc/classes/DOSDisk.src/M000057.html +85 -0
- data/doc/classes/DOSDisk.src/M000058.html +37 -0
- data/doc/classes/DOSDisk.src/M000059.html +34 -0
- data/doc/classes/DOSDisk.src/M000060.html +27 -0
- data/doc/classes/DOSDisk.src/M000061.html +43 -0
- data/doc/classes/DOSDisk.src/M000062.html +31 -0
- data/doc/classes/DOSDisk.src/M000063.html +95 -0
- data/doc/classes/DOSDisk.src/M000064.html +85 -0
- data/doc/classes/DOSDisk.src/M000065.html +37 -0
- data/doc/classes/DOSDisk.src/M000066.html +34 -0
- data/doc/classes/DOSDisk.src/M000067.html +27 -0
- data/doc/classes/DOSDisk.src/M000068.html +43 -0
- data/doc/classes/DOSDisk.src/M000069.html +31 -0
- data/doc/classes/DOSDisk.src/M000070.html +95 -0
- data/doc/classes/DOSFile.html +253 -0
- data/doc/classes/DOSFile.src/M000016.html +22 -0
- data/doc/classes/DOSFile.src/M000017.html +17 -0
- data/doc/classes/DOSFile.src/M000018.html +18 -0
- data/doc/classes/DOSFile.src/M000021.html +22 -0
- data/doc/classes/DOSFile.src/M000022.html +22 -0
- data/doc/classes/DOSFile.src/M000023.html +22 -0
- data/doc/classes/DOSFile.src/M000024.html +17 -0
- data/doc/classes/DOSFile.src/M000025.html +18 -0
- data/doc/classes/DOSFile.src/M000116.html +22 -0
- data/doc/classes/DOSFile.src/M000117.html +18 -0
- data/doc/classes/DOSFile.src/M000118.html +18 -0
- data/doc/classes/DOSFile.src/M000119.html +28 -0
- data/doc/classes/DOSFile.src/M000120.html +18 -0
- data/doc/classes/DSK.html +633 -0
- data/doc/classes/DSK.src/M000009.html +22 -0
- data/doc/classes/DSK.src/M000010.html +27 -0
- data/doc/classes/DSK.src/M000011.html +19 -0
- data/doc/classes/DSK.src/M000012.html +18 -0
- data/doc/classes/DSK.src/M000013.html +22 -0
- data/doc/classes/DSK.src/M000014.html +22 -0
- data/doc/classes/DSK.src/M000015.html +22 -0
- data/doc/classes/DSK.src/M000016.html +22 -0
- data/doc/classes/DSK.src/M000017.html +22 -0
- data/doc/classes/DSK.src/M000018.html +22 -0
- data/doc/classes/DSK.src/M000019.html +22 -0
- data/doc/classes/DSK.src/M000020.html +34 -0
- data/doc/classes/DSK.src/M000079.html +19 -0
- data/doc/classes/DSK.src/M000080.html +19 -0
- data/doc/classes/DSK.src/M000081.html +18 -0
- data/doc/classes/DSK.src/M000082.html +18 -0
- data/doc/classes/DSK.src/M000083.html +18 -0
- data/doc/classes/DSK.src/M000084.html +18 -0
- data/doc/classes/DSK.src/M000085.html +18 -0
- data/doc/classes/DSK.src/M000086.html +25 -0
- data/doc/classes/DSK.src/M000087.html +19 -0
- data/doc/classes/DSK.src/M000088.html +20 -0
- data/doc/classes/DSK.src/M000089.html +35 -0
- data/doc/classes/DSK.src/M000090.html +22 -0
- data/doc/classes/DSK.src/M000091.html +22 -0
- data/doc/classes/DSK.src/M000092.html +27 -0
- data/doc/classes/DSK.src/M000093.html +25 -0
- data/doc/classes/DSK.src/M000094.html +33 -0
- data/doc/classes/DSK.src/M000095.html +66 -0
- data/doc/classes/DSK.src/M000096.html +33 -0
- data/doc/classes/DSK.src/M000097.html +22 -0
- data/doc/classes/DSK.src/M000098.html +23 -0
- data/doc/classes/DSK.src/M000099.html +24 -0
- data/doc/classes/DSK.src/M000100.html +21 -0
- data/doc/classes/DSK.src/M000101.html +18 -0
- data/doc/classes/DSK.src/M000102.html +24 -0
- data/doc/classes/DSK.src/M000103.html +24 -0
- data/doc/classes/DSK.src/M000104.html +24 -0
- data/doc/classes/DSKFile.html +328 -0
- data/doc/classes/DSKFile.src/M000071.html +19 -0
- data/doc/classes/DSKFile.src/M000072.html +18 -0
- data/doc/classes/DSKFile.src/M000073.html +23 -0
- data/doc/classes/DSKFile.src/M000074.html +25 -0
- data/doc/classes/DSKFile.src/M000075.html +18 -0
- data/doc/classes/DSKFile.src/M000076.html +18 -0
- data/doc/classes/DSKFile.src/M000077.html +18 -0
- data/doc/classes/DSKFile.src/M000078.html +18 -0
- data/doc/classes/DSKFile.src/M000079.html +50 -0
- data/doc/classes/DSKTrackSector.html +199 -0
- data/doc/classes/DSKTrackSector.src/M000045.html +20 -0
- data/doc/classes/DSKTrackSector.src/M000046.html +18 -0
- data/doc/classes/DSKTrackSector.src/M000047.html +21 -0
- data/doc/classes/DSKTrackSector.src/M000049.html +20 -0
- data/doc/classes/DSKTrackSector.src/M000050.html +18 -0
- data/doc/classes/DSKTrackSector.src/M000051.html +21 -0
- data/doc/classes/DirectoryServlet.html +148 -0
- data/doc/classes/DirectoryServlet.src/M000041.html +20 -0
- data/doc/classes/DirectoryServlet.src/M000044.html +20 -0
- data/doc/classes/DumpUtilities.html +158 -0
- data/doc/classes/DumpUtilities.src/M000050.html +33 -0
- data/doc/classes/DumpUtilities.src/M000051.html +23 -0
- data/doc/classes/HGR.html +232 -0
- data/doc/classes/HGR.src/M000114.html +29 -0
- data/doc/classes/HGR.src/M000115.html +56 -0
- data/doc/classes/IntegerBasicFile.html +293 -0
- data/doc/classes/IntegerBasicFile.src/M000001.html +18 -0
- data/doc/classes/IntegerBasicFile.src/M000004.html +18 -0
- data/doc/classes/IntegerBasicFile.src/M000005.html +18 -0
- data/doc/classes/IntegerBasicFile.src/M000036.html +18 -0
- data/doc/classes/IntegerBasicFile.src/M000037.html +18 -0
- data/doc/classes/IntegerBasicFile.src/M000038.html +18 -0
- data/doc/classes/IntegerBasicFile.src/M000039.html +18 -0
- data/doc/classes/MBASICFile.html +202 -0
- data/doc/classes/MBASICFile.src/M000033.html +22 -0
- data/doc/classes/MBASICFile.src/M000034.html +30 -0
- data/doc/classes/MBASICFile.src/M000035.html +94 -0
- data/doc/classes/NADOLBinaryFile.html +184 -0
- data/doc/classes/NADOLBinaryFile.src/M000052.html +19 -0
- data/doc/classes/NADOLBinaryFile.src/M000053.html +18 -0
- data/doc/classes/NADOLBinaryFile.src/M000054.html +18 -0
- data/doc/classes/NADOLDisk.html +324 -0
- data/doc/classes/NADOLDisk.src/M000014.html +23 -0
- data/doc/classes/NADOLDisk.src/M000015.html +19 -0
- data/doc/classes/NADOLDisk.src/M000016.html +18 -0
- data/doc/classes/NADOLDisk.src/M000017.html +29 -0
- data/doc/classes/NADOLDisk.src/M000018.html +34 -0
- data/doc/classes/NADOLDisk.src/M000019.html +32 -0
- data/doc/classes/NADOLDisk.src/M000020.html +22 -0
- data/doc/classes/NADOLDisk.src/M000021.html +38 -0
- data/doc/classes/NADOLDisk.src/M000022.html +27 -0
- data/doc/classes/NADOLDisk.src/M000023.html +53 -0
- data/doc/classes/NADOLDisk.src/M000024.html +46 -0
- data/doc/classes/NADOLFile.html +189 -0
- data/doc/classes/NADOLFile.src/M000042.html +18 -0
- data/doc/classes/NADOLFile.src/M000043.html +18 -0
- data/doc/classes/NADOLFile.src/M000044.html +28 -0
- data/doc/classes/NADOLTokenisedFile.html +231 -0
- data/doc/classes/NADOLTokenisedFile.src/M000124.html +28 -0
- data/doc/classes/NADOLTokenisedFile.src/M000125.html +49 -0
- data/doc/classes/NADOLTokenisedFile.src/M000126.html +18 -0
- data/doc/classes/NADOLTokenisedFile.src/M000127.html +18 -0
- data/doc/classes/Nibbles.html +231 -0
- data/doc/classes/Nibbles.src/M000110.html +18 -0
- data/doc/classes/Nibbles.src/M000111.html +20 -0
- data/doc/classes/Nibbles.src/M000112.html +18 -0
- data/doc/classes/Nibbles.src/M000113.html +101 -0
- data/doc/classes/PNG.html +151 -0
- data/doc/classes/PNG.src/M000123.html +26 -0
- data/doc/classes/SCAsmFile.html +242 -0
- data/doc/classes/SCAsmFile.src/M000102.html +18 -0
- data/doc/classes/SCAsmFile.src/M000103.html +18 -0
- data/doc/classes/SCAsmFile.src/M000104.html +18 -0
- data/doc/classes/SCAsmFile.src/M000105.html +18 -0
- data/doc/classes/SCAsmFile.src/M000106.html +39 -0
- data/doc/classes/ShowFileServlet.html +148 -0
- data/doc/classes/ShowFileServlet.src/M000052.html +22 -0
- data/doc/classes/ShowFileServlet.src/M000059.html +22 -0
- data/doc/classes/ShowPNGServlet.html +148 -0
- data/doc/classes/ShowPNGServlet.src/M000101.html +26 -0
- data/doc/classes/ShowPNGServlet.src/M000105.html +26 -0
- data/doc/classes/ShowSectorServlet.html +148 -0
- data/doc/classes/ShowSectorServlet.src/M000040.html +22 -0
- data/doc/classes/ShowSectorServlet.src/M000043.html +22 -0
- data/doc/classes/TestCPMDisks.html +159 -0
- data/doc/classes/TestCPMDisks.src/M000037.html +19 -0
- data/doc/classes/TestCPMDisks.src/M000038.html +57 -0
- data/doc/classes/TestDOSDisks.html +279 -0
- data/doc/classes/TestDOSDisks.src/M000001.html +19 -0
- data/doc/classes/TestDOSDisks.src/M000002.html +19 -0
- data/doc/classes/TestDOSDisks.src/M000003.html +25 -0
- data/doc/classes/TestDOSDisks.src/M000014.html +26 -0
- data/doc/classes/TestDOSDisks.src/M000015.html +19 -0
- data/doc/classes/TestDOSDisks.src/M000016.html +62 -0
- data/doc/classes/TestDOSDisks.src/M000017.html +22 -0
- data/doc/classes/TestDOSDisks.src/M000018.html +20 -0
- data/doc/classes/TestDOSDisks.src/M000019.html +19 -0
- data/doc/classes/TestDOSDisks.src/M000020.html +25 -0
- data/doc/classes/TestDOSDisks.src/M000021.html +47 -0
- data/doc/classes/TestDOSDisks.src/M000022.html +28 -0
- data/doc/classes/TestDOSDisks.src/M000023.html +28 -0
- data/doc/classes/TestDOSDisks.src/M000025.html +26 -0
- data/doc/classes/TestDOSDisks.src/M000026.html +19 -0
- data/doc/classes/TestDOSDisks.src/M000027.html +62 -0
- data/doc/classes/TestDOSDisks.src/M000028.html +22 -0
- data/doc/classes/TestDOSDisks.src/M000029.html +20 -0
- data/doc/classes/TestDOSDisks.src/M000030.html +19 -0
- data/doc/classes/TestDOSDisks.src/M000031.html +25 -0
- data/doc/classes/TestDOSDisks.src/M000032.html +47 -0
- data/doc/classes/TestDOSDisks.src/M000033.html +28 -0
- data/doc/classes/TestDOSDisks.src/M000034.html +28 -0
- data/doc/classes/TestDisassembly.html +144 -0
- data/doc/classes/TestDisassembly.src/M000005.html +19 -0
- data/doc/classes/TestDisassembly.src/M000006.html +19 -0
- data/doc/classes/TestDisassembly.src/M000039.html +19 -0
- data/doc/classes/TestModifiedDOSDisks.html +193 -0
- data/doc/classes/TestModifiedDOSDisks.src/M000045.html +24 -0
- data/doc/classes/TestModifiedDOSDisks.src/M000046.html +27 -0
- data/doc/classes/TestModifiedDOSDisks.src/M000047.html +24 -0
- data/doc/classes/TestModifiedDOSDisks.src/M000048.html +27 -0
- data/doc/classes/TestNADOLDisks.html +193 -0
- data/doc/classes/TestNADOLDisks.src/M000106.html +22 -0
- data/doc/classes/TestNADOLDisks.src/M000107.html +72 -0
- data/doc/classes/TestNADOLDisks.src/M000108.html +22 -0
- data/doc/classes/TestNADOLDisks.src/M000109.html +72 -0
- data/doc/classes/TestNADOLDisks.src/M000121.html +22 -0
- data/doc/classes/TestNADOLDisks.src/M000122.html +73 -0
- data/doc/classes/TestPascalDisks.html +174 -0
- data/doc/classes/TestPascalDisks.src/M000040.html +28 -0
- data/doc/classes/TestPascalDisks.src/M000041.html +24 -0
- data/doc/classes/TestPascalDisks.src/M000042.html +27 -0
- data/doc/classes/TestProDOSDisks.html +253 -0
- data/doc/classes/TestProDOSDisks.src/M000114.html +28 -0
- data/doc/classes/TestProDOSDisks.src/M000115.html +28 -0
- data/doc/classes/TestProDOSDisks.src/M000116.html +41 -0
- data/doc/classes/TestProDOSDisks.src/M000117.html +28 -0
- data/doc/classes/TestProDOSDisks.src/M000118.html +28 -0
- data/doc/classes/TestProDOSDisks.src/M000119.html +28 -0
- data/doc/classes/TestProDOSDisks.src/M000120.html +41 -0
- data/doc/classes/TestProDOSDisks.src/M000121.html +28 -0
- data/doc/classes/TextFile.html +196 -0
- data/doc/classes/TextFile.src/M000019.html +18 -0
- data/doc/classes/TextFile.src/M000020.html +20 -0
- data/doc/classes/TextFile.src/M000024.html +18 -0
- data/doc/classes/TextFile.src/M000025.html +18 -0
- data/doc/classes/TextFile.src/M000026.html +18 -0
- data/doc/classes/TextFile.src/M000027.html +20 -0
- data/doc/classes/TextFile.src/M000128.html +18 -0
- data/doc/classes/TextFile.src/M000129.html +18 -0
- data/doc/classes/TextFile.src/M000130.html +18 -0
- data/doc/classes/TextFile.src/M000131.html +20 -0
- data/doc/created.rid +1 -0
- data/doc/dot/f_0.dot +14 -84
- data/doc/dot/f_0.png +0 -0
- data/doc/dot/f_1.dot +32 -0
- data/doc/dot/f_1.png +0 -0
- data/doc/dot/f_10.dot +32 -0
- data/doc/dot/f_10.png +0 -0
- data/doc/dot/f_11.dot +14 -0
- data/doc/dot/f_11.png +0 -0
- data/doc/dot/f_12.dot +84 -0
- data/doc/dot/f_12.png +0 -0
- data/doc/dot/f_15.dot +32 -0
- data/doc/dot/f_15.png +0 -0
- data/doc/dot/f_18.dot +32 -0
- data/doc/dot/f_18.png +0 -0
- data/doc/dot/f_2.dot +32 -0
- data/doc/dot/f_2.png +0 -0
- data/doc/dot/f_20.dot +32 -0
- data/doc/dot/f_20.png +0 -0
- data/doc/dot/f_3.dot +32 -0
- data/doc/dot/f_3.png +0 -0
- data/doc/dot/f_4.dot +32 -0
- data/doc/dot/f_4.png +0 -0
- data/doc/dot/f_5.dot +32 -0
- data/doc/dot/f_5.png +0 -0
- data/doc/dot/f_6.dot +32 -0
- data/doc/dot/f_6.png +0 -0
- data/doc/dot/f_7.dot +23 -0
- data/doc/dot/f_7.png +0 -0
- data/doc/dot/f_8.dot +23 -0
- data/doc/dot/f_8.png +0 -0
- data/doc/dot/f_9.dot +45 -0
- data/doc/dot/f_9.png +0 -0
- data/doc/files/bin/dskexplorer_rb.html +365 -0
- data/doc/files/bin/dskexplorer_rb.src/M000001.html +21 -0
- data/doc/files/bin/dskexplorer_rb.src/M000002.html +21 -0
- data/doc/files/bin/dskexplorer_rb.src/M000003.html +22 -0
- data/doc/files/bin/dskexplorer_rb.src/M000004.html +20 -0
- data/doc/files/bin/dskexplorer_rb.src/M000005.html +20 -0
- data/doc/files/bin/dskexplorer_rb.src/M000006.html +22 -0
- data/doc/files/bin/dskexplorer_rb.src/M000007.html +16 -0
- data/doc/files/bin/dskexplorer_rb.src/M000008.html +20 -0
- data/doc/files/bin/dskexplorer_rb.src/M000009.html +43 -0
- data/doc/files/bin/dskexplorer_rb.src/M000010.html +59 -0
- data/doc/files/bin/dskexplorer_rb.src/M000011.html +53 -0
- data/doc/files/bin/dskexplorer_rb.src/M000012.html +58 -0
- data/doc/files/bin/dskexplorer_rb.src/M000013.html +37 -0
- data/doc/files/bin/dsktool_rb.html +276 -0
- data/doc/files/bin/romdump_rb.html +189 -0
- data/doc/files/dsktool_web/dskexplorer_rb.html +112 -0
- data/doc/files/dsktool_web/dskexplorer_web_rb.html +112 -0
- data/doc/files/dsktool_web/index_rb.html +112 -0
- data/doc/files/lib/CPMDisk_rb.html +115 -0
- data/doc/files/lib/CPMFile_rb.html +117 -0
- data/doc/files/lib/D65_rb.html +114 -0
- data/doc/files/lib/DOSDisk_rb.html +115 -0
- data/doc/files/lib/DOSFile_rb.html +122 -0
- data/doc/files/lib/DSKFile_rb.html +114 -0
- data/doc/files/lib/DSK_rb.html +127 -0
- data/doc/files/lib/DumpUtilities_rb.html +107 -0
- data/doc/files/lib/HGR_rb.html +122 -0
- data/doc/files/lib/NADOLDisk_rb.html +115 -0
- data/doc/files/lib/NADOLFile_rb.html +120 -0
- data/doc/files/lib/Nibbles_rb.html +114 -0
- data/doc/files/test/tc_cpm_disks_rb.html +122 -0
- data/doc/files/test/tc_disassembly_rb.html +116 -0
- data/doc/files/test/tc_dos_disks_rb.html +122 -0
- data/doc/files/test/tc_modified_dos_disks_rb.html +122 -0
- data/doc/files/test/tc_nadol_disks_rb.html +122 -0
- data/doc/files/test/tc_prodos_disks_rb.html +122 -0
- data/doc/files/test/test_dos_disks_rb.html +109 -0
- data/doc/files/test/ts_test_all_rb.html +119 -0
- data/doc/files/test_bak/hgr_scanlines_rb.html +106 -0
- data/doc/files/test_bak/tc_disassembly_rb.html +123 -0
- data/doc/files/test_bak/tc_dos_disks_rb.html +122 -0
- data/doc/files/test_bak/tc_modified_dos_disks_rb.html +122 -0
- data/doc/files/test_bak/tc_nadol_disks_rb.html +122 -0
- data/doc/files/test_bak/tc_pascal_disks_rb.html +122 -0
- data/doc/files/test_bak/tc_prodos_disks_rb.html +122 -0
- data/doc/files/test_bak/ts_test_all_rb.html +118 -0
- data/doc/fr_class_index.html +46 -0
- data/doc/fr_file_index.html +47 -0
- data/doc/fr_method_index.html +147 -0
- data/doc/index.html +24 -0
- data/doc/rdoc-style.css +208 -0
- data/lib/CPMDisk.rb +194 -0
- data/lib/CPMFile.rb +344 -0
- data/lib/DOSDisk.rb +16 -12
- data/lib/DOSDisk.rb~ +201 -0
- data/lib/DOSFile.rb~ +402 -0
- data/lib/DSK.rb +99 -49
- data/lib/DSK.rb~ +226 -0
- data/lib/DSKFile.rb +9 -0
- data/lib/DSKFile.rb~ +137 -0
- data/lib/HGR.rb~ +157 -0
- data/lib/NADOLDisk.rb~ +104 -0
- data/lib/NADOLFile.rb~ +225 -0
- data/lib/Nibbles.rb +210 -0
- data/lib/PascalDisk.rb~ +120 -0
- data/lib/PascalFile.rb~ +62 -0
- data/lib/ProDOSDisk.rb~ +197 -0
- data/lib/ProDOSFile.rb~ +160 -0
- data/test/1.txt +267 -0
- data/test/CPM1.DSK +0 -0
- data/test/CPM1.PO +0 -0
- data/test/PIC.ZO +0 -0
- data/test/STARCPM.DSK +0 -0
- data/test/SWRDTH1.NIB +1 -0
- data/test/blah.png +0 -0
- data/test/blah2.png +0 -0
- data/test/blank.nib +1 -0
- data/test/build_hgr_table.rb +28 -0
- data/test/build_hgr_table.rb~ +28 -0
- data/test/cpm_write_test.dsk +0 -0
- data/test/ed.txt +0 -0
- data/test/p.html +15030 -0
- data/test/pic.rb +19 -0
- data/test/pic.rb~ +18 -0
- data/test/sword.dsk +0 -0
- data/test/tc_cpm_disks.rb +59 -0
- data/test/tc_dos_disks.rb~ +107 -0
- data/test/tc_modified_dos_disks.rb +33 -0
- data/test/tc_nadol_disks.rb +0 -1
- data/test/tc_nadol_disks.rb~ +42 -0
- data/test/tc_pascal_disks.rb~ +48 -0
- data/test/tc_prodos_disks.rb~ +78 -0
- data/test/ts_test_all.rb +6 -4
- data/test/ts_test_all.rb~ +7 -0
- data/test/x.txt +16 -0
- metadata +485 -35
@@ -0,0 +1,18 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<!DOCTYPE html
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
+
|
6
|
+
<html>
|
7
|
+
<head>
|
8
|
+
<title>to_s (NADOLTokenisedFile)</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
|
+
</head>
|
12
|
+
<body class="standalone-code">
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/NADOLFile.rb, line 219</span>
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
|
15
|
+
<span class="ruby-constant">NADOLTokenisedFile</span>.<span class="ruby-identifier">buffer_as_tokenised_file</span>(<span class="ruby-ivar">@contents</span>)
|
16
|
+
<span class="ruby-keyword kw">end</span></pre>
|
17
|
+
</body>
|
18
|
+
</html>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<!DOCTYPE html
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
+
|
6
|
+
<html>
|
7
|
+
<head>
|
8
|
+
<title>file_extension (NADOLTokenisedFile)</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
|
+
</head>
|
12
|
+
<body class="standalone-code">
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/NADOLFile.rb, line 223</span>
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">file_extension</span>
|
15
|
+
<span class="ruby-value str">".nad"</span>
|
16
|
+
<span class="ruby-keyword kw">end</span></pre>
|
17
|
+
</body>
|
18
|
+
</html>
|
@@ -0,0 +1,231 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<!DOCTYPE html
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
+
|
6
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
7
|
+
<head>
|
8
|
+
<title>Class: Nibbles</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
11
|
+
<link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
|
12
|
+
<script type="text/javascript">
|
13
|
+
// <![CDATA[
|
14
|
+
|
15
|
+
function popupCode( url ) {
|
16
|
+
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
17
|
+
}
|
18
|
+
|
19
|
+
function toggleCode( id ) {
|
20
|
+
if ( document.getElementById )
|
21
|
+
elem = document.getElementById( id );
|
22
|
+
else if ( document.all )
|
23
|
+
elem = eval( "document.all." + id );
|
24
|
+
else
|
25
|
+
return false;
|
26
|
+
|
27
|
+
elemStyle = elem.style;
|
28
|
+
|
29
|
+
if ( elemStyle.display != "block" ) {
|
30
|
+
elemStyle.display = "block"
|
31
|
+
} else {
|
32
|
+
elemStyle.display = "none"
|
33
|
+
}
|
34
|
+
|
35
|
+
return true;
|
36
|
+
}
|
37
|
+
|
38
|
+
// Make codeblocks hidden by default
|
39
|
+
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
|
40
|
+
|
41
|
+
// ]]>
|
42
|
+
</script>
|
43
|
+
|
44
|
+
</head>
|
45
|
+
<body>
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
<div id="classHeader">
|
50
|
+
<table class="header-table">
|
51
|
+
<tr class="top-aligned-row">
|
52
|
+
<td><strong>Class</strong></td>
|
53
|
+
<td class="class-name-in-header">Nibbles</td>
|
54
|
+
</tr>
|
55
|
+
<tr class="top-aligned-row">
|
56
|
+
<td><strong>In:</strong></td>
|
57
|
+
<td>
|
58
|
+
<a href="../files/lib/Nibbles_rb.html">
|
59
|
+
lib/Nibbles.rb
|
60
|
+
</a>
|
61
|
+
<br />
|
62
|
+
</td>
|
63
|
+
</tr>
|
64
|
+
|
65
|
+
<tr class="top-aligned-row">
|
66
|
+
<td><strong>Parent:</strong></td>
|
67
|
+
<td>
|
68
|
+
Object
|
69
|
+
</td>
|
70
|
+
</tr>
|
71
|
+
</table>
|
72
|
+
</div>
|
73
|
+
<!-- banner header -->
|
74
|
+
|
75
|
+
<div id="bodyContent">
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
<div id="contextContent">
|
80
|
+
<div id="diagram">
|
81
|
+
<map id="map" name="map">
|
82
|
+
<area shape="rect" coords="5,5,77,53" href="Nibbles.html" alt="Nibbles" />
|
83
|
+
</map>
|
84
|
+
<img src="../dot/f_8.png" usemap="#map" border="0" alt="dot/f_8.png">
|
85
|
+
</div>
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
</div>
|
90
|
+
|
91
|
+
<div id="method-list">
|
92
|
+
<h3 class="section-bar">Methods</h3>
|
93
|
+
|
94
|
+
<div class="name-list">
|
95
|
+
<a href="#M000110">decode_4_4</a>
|
96
|
+
<a href="#M000112">get_track</a>
|
97
|
+
<a href="#M000111">make_dsk_from_nibbles</a>
|
98
|
+
<a href="#M000113">set_dsk_sectors_for_nibbles_track</a>
|
99
|
+
</div>
|
100
|
+
</div>
|
101
|
+
|
102
|
+
</div>
|
103
|
+
|
104
|
+
|
105
|
+
<!-- if includes -->
|
106
|
+
|
107
|
+
<div id="section">
|
108
|
+
|
109
|
+
|
110
|
+
<div id="constants-list">
|
111
|
+
<h3 class="section-bar">Constants</h3>
|
112
|
+
|
113
|
+
<div class="name-list">
|
114
|
+
<table summary="Constants">
|
115
|
+
<tr class="top-aligned-row context-row">
|
116
|
+
<td class="context-item-name">DEBUG</td>
|
117
|
+
<td>=</td>
|
118
|
+
<td class="context-item-value">false</td>
|
119
|
+
<td width="3em"> </td>
|
120
|
+
<td class="context-item-desc">
|
121
|
+
DEBUG=true
|
122
|
+
|
123
|
+
</td>
|
124
|
+
</tr>
|
125
|
+
<tr class="top-aligned-row context-row">
|
126
|
+
<td class="context-item-name">INTERLEAVES</td>
|
127
|
+
<td>=</td>
|
128
|
+
<td class="context-item-value">[0x00,0x07,0x0E,0x06,0x0D,0x05,0x0C,0x04,0x0B,0x03,0x0A,0x02,0x09,0x01,0x08,0x0F]</td>
|
129
|
+
<td width="3em"> </td>
|
130
|
+
<td class="context-item-desc">
|
131
|
+
dos interleave table (from Beneath Apple DOS p 3-23)
|
132
|
+
|
133
|
+
</td>
|
134
|
+
</tr>
|
135
|
+
<tr class="top-aligned-row context-row">
|
136
|
+
<td class="context-item-name">DATA_TRANSLATE_TABLE</td>
|
137
|
+
<td>=</td>
|
138
|
+
<td class="context-item-value">[
|
139
|
0x96,#00
|
1
140
|
0x97,#01
|
2
141
|
0x9A,#02
|
3
142
|
0x9B,#03
|
4
143
|
0x9D,#04
|
5
144
|
0x9E,#05
|
6
145
|
0x9F,#06
|
7
146
|
0xA6,#07
|
8
147
|
0xA7,#08
|
9
148
|
0xAB,#09
|
10
149
|
0xAC,#0A
|
11
150
|
0xAD,#0B
|
12
151
|
0xAE,#0C
|
13
152
|
0xAF,#0D
|
14
153
|
0xB2,#0E
|
15
154
|
0xB3,#0F
|
16
155
|
0xB4,#10
|
17
156
|
0xB5,#11
|
18
157
|
0xB6,#12
|
19
158
|
0xB7,#13
|
20
159
|
0xB9,#14
|
21
160
|
0xBA,#15
|
22
161
|
0xBB,#16
|
23
162
|
0xBC,#17
|
24
163
|
0xBD,#18
|
25
164
|
0xBE,#19
|
26
165
|
0xBF,#1A
|
27
166
|
0xCB,#1B
|
28
167
|
0xCD,#1C
|
29
168
|
0xCE,#1D
|
30
169
|
0xCF,#1E
|
31
170
|
0xD3,#1F
|
32
171
|
0xD6,#20
|
33
172
|
0xD7,#21
|
34
173
|
0xD9,#22
|
35
174
|
0xDA,#23
|
36
175
|
0xDB,#24
|
37
176
|
0xDC,#25
|
38
177
|
0xDD,#26
|
39
178
|
0xDE,#27
|
40
179
|
0xDF,#28
|
41
180
|
0xE5,#29
|
42
181
|
0xE6,#2A
|
43
182
|
0xE7,#2B
|
44
183
|
0xE9,#2C
|
45
184
|
0xEA,#2D
|
46
185
|
0xEB,#2E
|
47
186
|
0xEC,#2F
|
48
187
|
0xED,#30
|
49
188
|
0xEE,#31
|
50
189
|
0xEF,#32
|
51
190
|
0xF2,#33
|
52
191
|
0xF3,#34
|
53
192
|
0xF4,#35
|
54
193
|
0xF5,#36
|
55
194
|
0xF6,#37
|
56
195
|
0xF7,#38
|
57
196
|
0xF9,#39
|
58
197
|
0xFA,#3A
|
59
198
|
0xFB,#3B
|
60
199
|
0xFC,#3C
|
61
200
|
0xFD,#3D
|
62
201
|
0xFE,#3E
|
63
202
|
0xFF,#3F
|
64
203
|
]</td>
|
204
|
+
<td width="3em"> </td>
|
205
|
+
<td class="context-item-desc">
|
206
|
+
6-2 translate table (from Beneath Apple DOS p 3-17)
|
207
|
+
|
208
|
+
</td>
|
209
|
+
</tr>
|
210
|
+
<tr class="top-aligned-row context-row">
|
211
|
+
<td class="context-item-name">TRACK_LENGTH</td>
|
212
|
+
<td>=</td>
|
213
|
+
<td class="context-item-value">6656</td>
|
214
|
+
</tr>
|
215
|
+
</table>
|
216
|
+
</div>
|
217
|
+
</div>
|
218
|
+
|
219
|
+
|
220
|
+
|
221
|
+
|
222
|
+
|
223
|
+
|
224
|
+
<!-- if method_list -->
|
225
|
+
<div id="methods">
|
226
|
+
<h3 class="section-bar">Public Class methods</h3>
|
227
|
+
|
228
|
+
<div id="method-M000110" class="method-detail">
|
229
|
+
<a name="M000110"></a>
|
230
|
+
|
231
|
+
<div class="method-heading">
|
232
|
+
<a href="Nibbles.src/M000110.html" target="Code" class="method-signature"
|
233
|
+
onclick="popupCode('Nibbles.src/M000110.html');return false;">
|
234
|
+
<span class="method-name">decode_4_4</span><span class="method-args">(bytes)</span>
|
235
|
+
</a>
|
236
|
+
</div>
|
237
|
+
|
238
|
+
<div class="method-description">
|
239
|
+
</div>
|
240
|
+
</div>
|
241
|
+
|
242
|
+
<div id="method-M000112" class="method-detail">
|
243
|
+
<a name="M000112"></a>
|
244
|
+
|
245
|
+
<div class="method-heading">
|
246
|
+
<a href="Nibbles.src/M000112.html" target="Code" class="method-signature"
|
247
|
+
onclick="popupCode('Nibbles.src/M000112.html');return false;">
|
248
|
+
<span class="method-name">get_track</span><span class="method-args">(nibbles,track_no)</span>
|
249
|
+
</a>
|
250
|
+
</div>
|
251
|
+
|
252
|
+
<div class="method-description">
|
253
|
+
</div>
|
254
|
+
</div>
|
255
|
+
|
256
|
+
<div id="method-M000111" class="method-detail">
|
257
|
+
<a name="M000111"></a>
|
258
|
+
|
259
|
+
<div class="method-heading">
|
260
|
+
<a href="Nibbles.src/M000111.html" target="Code" class="method-signature"
|
261
|
+
onclick="popupCode('Nibbles.src/M000111.html');return false;">
|
262
|
+
<span class="method-name">make_dsk_from_nibbles</span><span class="method-args">(nibbles)</span>
|
263
|
+
</a>
|
264
|
+
</div>
|
265
|
+
|
266
|
+
<div class="method-description">
|
267
|
+
</div>
|
268
|
+
</div>
|
269
|
+
|
270
|
+
<div id="method-M000113" class="method-detail">
|
271
|
+
<a name="M000113"></a>
|
272
|
+
|
273
|
+
<div class="method-heading">
|
274
|
+
<a href="Nibbles.src/M000113.html" target="Code" class="method-signature"
|
275
|
+
onclick="popupCode('Nibbles.src/M000113.html');return false;">
|
276
|
+
<span class="method-name">set_dsk_sectors_for_nibbles_track</span><span class="method-args">(nibbles,dsk,track_no)</span>
|
277
|
+
</a>
|
278
|
+
</div>
|
279
|
+
|
280
|
+
<div class="method-description">
|
281
|
+
</div>
|
282
|
+
</div>
|
283
|
+
|
284
|
+
|
285
|
+
</div>
|
286
|
+
|
287
|
+
|
288
|
+
</div>
|
289
|
+
|
290
|
+
|
291
|
+
<div id="validator-badges">
|
292
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
293
|
+
</div>
|
294
|
+
|
295
|
+
</body>
|
296
|
+
</html>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<!DOCTYPE html
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
+
|
6
|
+
<html>
|
7
|
+
<head>
|
8
|
+
<title>decode_4_4 (Nibbles)</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
|
+
</head>
|
12
|
+
<body class="standalone-code">
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/Nibbles.rb, line 83</span>
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">Nibbles</span>.<span class="ruby-identifier">decode_4_4</span>(<span class="ruby-identifier">bytes</span>)
|
15
|
+
<span class="ruby-keyword kw">return</span>((<span class="ruby-identifier">bytes</span>[<span class="ruby-value">0</span>] <span class="ruby-operator"><<</span> <span class="ruby-value">1</span>) <span class="ruby-operator">|</span> <span class="ruby-value">1</span>) <span class="ruby-operator">&</span> <span class="ruby-identifier">bytes</span>[<span class="ruby-value">1</span>]
|
16
|
+
<span class="ruby-keyword kw">end</span></pre>
|
17
|
+
</body>
|
18
|
+
</html>
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<!DOCTYPE html
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
+
|
6
|
+
<html>
|
7
|
+
<head>
|
8
|
+
<title>make_dsk_from_nibbles (Nibbles)</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
|
+
</head>
|
12
|
+
<body class="standalone-code">
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/Nibbles.rb, line 87</span>
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">Nibbles</span>.<span class="ruby-identifier">make_dsk_from_nibbles</span>(<span class="ruby-identifier">nibbles</span>)
|
15
|
+
<span class="ruby-identifier">dsk</span>=<span class="ruby-constant">DSK</span>.<span class="ruby-identifier">new</span>()
|
16
|
+
<span class="ruby-value">0</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-value">0x22</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">track_no</span><span class="ruby-operator">|</span> <span class="ruby-identifier">set_dsk_sectors_for_nibbles_track</span>(<span class="ruby-identifier">nibbles</span>,<span class="ruby-identifier">dsk</span>,<span class="ruby-identifier">track_no</span>)}
|
17
|
+
<span class="ruby-identifier">dsk</span>
|
18
|
+
<span class="ruby-keyword kw">end</span></pre>
|
19
|
+
</body>
|
20
|
+
</html>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<!DOCTYPE html
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
+
|
6
|
+
<html>
|
7
|
+
<head>
|
8
|
+
<title>get_track (Nibbles)</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
|
+
</head>
|
12
|
+
<body class="standalone-code">
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/Nibbles.rb, line 93</span>
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">Nibbles</span>.<span class="ruby-identifier">get_track</span>(<span class="ruby-identifier">nibbles</span>,<span class="ruby-identifier">track_no</span>)
|
15
|
+
<span class="ruby-identifier">nibbles</span>[<span class="ruby-identifier">track_no</span><span class="ruby-operator">*</span><span class="ruby-constant">TRACK_LENGTH</span><span class="ruby-operator">..</span>((<span class="ruby-identifier">track_no</span><span class="ruby-operator">+</span><span class="ruby-value">1</span>)<span class="ruby-operator">*</span><span class="ruby-constant">TRACK_LENGTH</span>)<span class="ruby-operator">-</span><span class="ruby-value">1</span>]
|
16
|
+
<span class="ruby-keyword kw">end</span></pre>
|
17
|
+
</body>
|
18
|
+
</html>
|
@@ -0,0 +1,101 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<!DOCTYPE html
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
+
|
6
|
+
<html>
|
7
|
+
<head>
|
8
|
+
<title>set_dsk_sectors_for_nibbles_track (Nibbles)</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
|
+
</head>
|
12
|
+
<body class="standalone-code">
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/Nibbles.rb, line 97</span>
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">Nibbles</span>.<span class="ruby-identifier">set_dsk_sectors_for_nibbles_track</span>(<span class="ruby-identifier">nibbles</span>,<span class="ruby-identifier">dsk</span>,<span class="ruby-identifier">track_no</span>)
|
15
|
+
|
16
|
+
<span class="ruby-identifier">sector_regex</span>=<span class="ruby-regexp re">/(\xD5.{8}[^D5]{1,20}\xFF+\xD5[^xD5]{348})/</span>
|
17
|
+
<span class="ruby-identifier">track_nibbles</span>=<span class="ruby-identifier">get_track</span>(<span class="ruby-identifier">nibbles</span>,<span class="ruby-identifier">track_no</span>)
|
18
|
+
<span class="ruby-identifier">track_nibbles</span><span class="ruby-operator"><<=</span><span class="ruby-identifier">track_nibbles</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">400</span>]<span class="ruby-comment cmt">#wrap around one full sector
|
19
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-constant">DEBUG</span> <span class="ruby-keyword kw">then</span>
|
20
|
+
<span class="ruby-identifier">puts</span> <span class="ruby-value str">"#start track data"</span>
|
21
|
+
<span class="ruby-identifier">track_nibbles</span>.<span class="ruby-identifier">each_byte</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">b</span><span class="ruby-operator">|</span> <span class="ruby-identifier">printf</span> <span class="ruby-value str">"%02X"</span>,<span class="ruby-identifier">b</span>}
|
22
|
+
<span class="ruby-identifier">puts</span> <span class="ruby-value str">"# end track data"</span>
|
23
|
+
<span class="ruby-keyword kw">end</span>
|
24
|
+
|
25
|
+
<span class="ruby-identifier">sectors</span>=<span class="ruby-identifier">track_nibbles</span>.<span class="ruby-identifier">split</span>(<span class="ruby-identifier">sector_regex</span>)
|
26
|
+
<span class="ruby-identifier">sector_count</span>=<span class="ruby-value">0</span>
|
27
|
+
<span class="ruby-identifier">sector_has_been_read</span>=[<span class="ruby-keyword kw">false</span>]<span class="ruby-operator">*</span><span class="ruby-value">16</span>
|
28
|
+
<span class="ruby-identifier">sectors</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">sector_nibbles</span><span class="ruby-operator">|</span>
|
29
|
+
|
30
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-constant">DEBUG</span> <span class="ruby-keyword kw">then</span>
|
31
|
+
<span class="ruby-identifier">puts</span> <span class="ruby-value str">"#start sector data"</span>
|
32
|
+
<span class="ruby-identifier">sector_nibbles</span>.<span class="ruby-identifier">each_byte</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">b</span><span class="ruby-operator">|</span> <span class="ruby-identifier">printf</span> <span class="ruby-value str">"%02X"</span>,<span class="ruby-identifier">b</span>}
|
33
|
+
<span class="ruby-identifier">puts</span> <span class="ruby-value str">"# end sector data"</span>
|
34
|
+
<span class="ruby-keyword kw">end</span>
|
35
|
+
<span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">sector_nibbles</span><span class="ruby-operator">=~</span><span class="ruby-regexp re">/^\xFF*\xD5.*\xD5/</span>
|
36
|
+
|
37
|
+
<span class="ruby-identifier">address_field</span>,<span class="ruby-identifier">data_field</span>=<span class="ruby-regexp re">/\xFF*(\xD5.*)(\xD5.*)/</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">sector_nibbles</span>).<span class="ruby-identifier">captures</span>
|
38
|
+
<span class="ruby-identifier">address_field</span>.<span class="ruby-identifier">each_byte</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">b</span><span class="ruby-operator">|</span> <span class="ruby-identifier">printf</span> <span class="ruby-value str">"%02X"</span>,<span class="ruby-identifier">b</span>} <span class="ruby-keyword kw">if</span> <span class="ruby-constant">DEBUG</span>
|
39
|
+
<span class="ruby-identifier">vol_no</span>=<span class="ruby-identifier">decode_4_4</span>(<span class="ruby-identifier">address_field</span>[<span class="ruby-value">3</span><span class="ruby-operator">..</span><span class="ruby-value">4</span>])
|
40
|
+
<span class="ruby-identifier">track_no</span>=<span class="ruby-identifier">decode_4_4</span>(<span class="ruby-identifier">address_field</span>[<span class="ruby-value">5</span><span class="ruby-operator">..</span><span class="ruby-value">6</span>])
|
41
|
+
<span class="ruby-identifier">sector_no</span>=<span class="ruby-identifier">decode_4_4</span>(<span class="ruby-identifier">address_field</span>[<span class="ruby-value">7</span><span class="ruby-operator">..</span><span class="ruby-value">8</span>])
|
42
|
+
<span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">sector_no</span><span class="ruby-operator"><</span><span class="ruby-value">16</span>
|
43
|
+
<span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">sector_has_been_read</span>[<span class="ruby-identifier">sector_no</span>]
|
44
|
+
<span class="ruby-identifier">sector_has_been_read</span>[<span class="ruby-identifier">sector_no</span>]=<span class="ruby-keyword kw">true</span>
|
45
|
+
<span class="ruby-identifier">sector_count</span><span class="ruby-operator">+=</span><span class="ruby-value">1</span>
|
46
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-constant">DEBUG</span> <span class="ruby-keyword kw">then</span>
|
47
|
+
<span class="ruby-identifier">puts</span> <span class="ruby-node">"VOL #{vol_no} TRACK #{track_no} SECTOR #{sector_no}"</span>
|
48
|
+
<span class="ruby-identifier">puts</span> <span class="ruby-value str">"#start data"</span>
|
49
|
+
<span class="ruby-identifier">data_field</span>.<span class="ruby-identifier">each_byte</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">b</span><span class="ruby-operator">|</span> <span class="ruby-identifier">printf</span> <span class="ruby-value str">"%02X"</span>,<span class="ruby-identifier">b</span>}
|
50
|
+
<span class="ruby-identifier">puts</span> <span class="ruby-value str">"# end data"</span>
|
51
|
+
<span class="ruby-keyword kw">end</span>
|
52
|
+
<span class="ruby-identifier">undecoded_data</span>=<span class="ruby-identifier">data_field</span>[<span class="ruby-value">3</span><span class="ruby-operator">..</span><span class="ruby-value">345</span>]
|
53
|
+
<span class="ruby-identifier">decoded_data</span>=<span class="ruby-value str">'\0'</span><span class="ruby-operator">*</span><span class="ruby-value">343</span>
|
54
|
+
<span class="ruby-comment cmt">#algorithm taken from http://www.umich.edu/~archive/apple2/misc/hardware/disk.encoding.txt
|
55
|
+
<span class="ruby-identifier">checksum</span>=<span class="ruby-value">0</span>
|
56
|
+
<span class="ruby-value">0</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-value">341</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
|
57
|
+
<span class="ruby-identifier">undecoded_byte</span>=<span class="ruby-identifier">undecoded_data</span>[<span class="ruby-identifier">i</span>]
|
58
|
+
<span class="ruby-identifier">decoded_byte</span>=<span class="ruby-constant">DATA_TRANSLATE_TABLE</span>.<span class="ruby-identifier">index</span>(<span class="ruby-identifier">undecoded_byte</span>)
|
59
|
+
<span class="ruby-identifier">decoded_byte</span>=<span class="ruby-value">0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">decoded_byte</span>.<span class="ruby-identifier">nil?</span>
|
60
|
+
<span class="ruby-comment cmt">#raise "invalid nibble #{sprintf '%02X',undecoded_byte} at nibble #{i}, track #{track_no}, sector #{sector_no}" if decoded_byte.nil?
|
61
|
+
<span class="ruby-identifier">decoded_byte</span><span class="ruby-operator">^=</span><span class="ruby-identifier">checksum</span>
|
62
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">i</span><span class="ruby-operator"><</span><span class="ruby-value">86</span> <span class="ruby-keyword kw">then</span>
|
63
|
+
<span class="ruby-identifier">destination_offset</span>=<span class="ruby-value">341</span><span class="ruby-operator">-</span><span class="ruby-identifier">i</span>
|
64
|
+
<span class="ruby-keyword kw">else</span>
|
65
|
+
<span class="ruby-identifier">destination_offset</span>=<span class="ruby-identifier">i</span><span class="ruby-operator">-</span><span class="ruby-value">86</span>
|
66
|
+
<span class="ruby-keyword kw">end</span>
|
67
|
+
<span class="ruby-identifier">decoded_data</span>[<span class="ruby-identifier">destination_offset</span>]=<span class="ruby-identifier">decoded_byte</span>
|
68
|
+
<span class="ruby-identifier">checksum</span>=<span class="ruby-identifier">decoded_byte</span>
|
69
|
+
<span class="ruby-comment cmt"># puts "-- #{i} - #{checksum} #{sprintf '%-3x',destination_offset}"
|
70
|
+
<span class="ruby-keyword kw">end</span>
|
71
|
+
|
72
|
+
<span class="ruby-comment cmt">#raise "invalid checksum #{checksum}" unless checksum==0
|
73
|
+
|
74
|
+
<span class="ruby-value">0</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-value">255</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
|
75
|
+
<span class="ruby-identifier">decoded_data</span>[<span class="ruby-identifier">i</span>]<span class="ruby-operator"><<=</span><span class="ruby-value">2</span>
|
76
|
+
|
77
|
+
<span class="ruby-identifier">lower_2_bits</span>=<span class="ruby-identifier">decoded_data</span>[<span class="ruby-value">341</span><span class="ruby-operator">-</span><span class="ruby-identifier">i</span><span class="ruby-operator">%</span><span class="ruby-value">0x56</span>]
|
78
|
+
<span class="ruby-keyword kw">case</span> <span class="ruby-identifier">i</span><span class="ruby-operator">/</span><span class="ruby-value">86</span>
|
79
|
+
<span class="ruby-keyword kw">when</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">then</span>
|
80
|
+
<span class="ruby-identifier">bit1</span>=<span class="ruby-identifier">lower_2_bits</span><span class="ruby-operator">&</span><span class="ruby-value">0x01</span>
|
81
|
+
<span class="ruby-identifier">bit0</span>=(<span class="ruby-identifier">lower_2_bits</span><span class="ruby-operator">&</span><span class="ruby-value">0x02</span>)<span class="ruby-operator">>></span><span class="ruby-value">1</span>
|
82
|
+
<span class="ruby-keyword kw">when</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">then</span>
|
83
|
+
<span class="ruby-identifier">bit1</span>=(<span class="ruby-identifier">lower_2_bits</span><span class="ruby-operator">&</span><span class="ruby-value">0x04</span>)<span class="ruby-operator">>></span><span class="ruby-value">2</span>
|
84
|
+
<span class="ruby-identifier">bit0</span>=(<span class="ruby-identifier">lower_2_bits</span><span class="ruby-operator">&</span><span class="ruby-value">0x08</span>)<span class="ruby-operator">>></span><span class="ruby-value">3</span>
|
85
|
+
<span class="ruby-keyword kw">when</span> <span class="ruby-value">2</span> <span class="ruby-keyword kw">then</span>
|
86
|
+
<span class="ruby-identifier">bit1</span>=(<span class="ruby-identifier">lower_2_bits</span><span class="ruby-operator">&</span><span class="ruby-value">0x010</span>)<span class="ruby-operator">>></span><span class="ruby-value">4</span>
|
87
|
+
<span class="ruby-identifier">bit0</span>=(<span class="ruby-identifier">lower_2_bits</span><span class="ruby-operator">&</span><span class="ruby-value">0x20</span>)<span class="ruby-operator">>></span><span class="ruby-value">5</span>
|
88
|
+
<span class="ruby-keyword kw">end</span>
|
89
|
+
<span class="ruby-identifier">printf</span> <span class="ruby-node">"#{i} #{i/86} %08b #{bit0} #{bit1}\n"</span>,<span class="ruby-identifier">lower_2_bits</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">DEBUG</span>
|
90
|
+
<span class="ruby-identifier">decoded_data</span>[<span class="ruby-identifier">i</span>]<span class="ruby-operator">|=</span><span class="ruby-identifier">bit0</span>
|
91
|
+
<span class="ruby-identifier">decoded_data</span>[<span class="ruby-identifier">i</span>]<span class="ruby-operator">|=</span><span class="ruby-identifier">bit1</span><span class="ruby-operator"><<</span><span class="ruby-value">1</span>
|
92
|
+
<span class="ruby-keyword kw">end</span>
|
93
|
+
<span class="ruby-identifier">logical_sector_no</span>=<span class="ruby-constant">INTERLEAVES</span>[<span class="ruby-identifier">sector_no</span>]
|
94
|
+
<span class="ruby-identifier">puts</span> <span class="ruby-node">"mapping physical #{sprintf '%02X',sector_no} to logical #{sprintf '%02X',logical_sector_no}"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">DEBUG</span>
|
95
|
+
<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">set_sector</span>(<span class="ruby-identifier">track_no</span>,<span class="ruby-identifier">logical_sector_no</span>,<span class="ruby-identifier">decoded_data</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">255</span>])
|
96
|
+
<span class="ruby-identifier">puts</span> <span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">dump_sector</span>(<span class="ruby-identifier">track_no</span>,<span class="ruby-identifier">logical_sector_no</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-constant">DEBUG</span>
|
97
|
+
<span class="ruby-keyword kw">end</span>
|
98
|
+
<span class="ruby-comment cmt"># raise "expected 16 sectors but found #{sector_count} in track #{track_no}" unless sector_count==16
|
99
|
+
<span class="ruby-keyword kw">end</span></pre>
|
100
|
+
</body>
|
101
|
+
</html>
|