dsktool 0.2.1 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (663) hide show
  1. data/bin/dskexplorer.rb +79 -61
  2. data/bin/dsktool.rb +243 -142
  3. data/bin/romdump.rb +65 -0
  4. data/doc/classes/AppleSoftFile.html +97 -59
  5. data/doc/classes/AppleSoftFile.src/{M000005.html → M000113.html} +1 -1
  6. data/doc/classes/AppleSoftFile.src/M000114.html +18 -0
  7. data/doc/classes/AppleSoftFile.src/{M000013.html → M000115.html} +1 -1
  8. data/doc/classes/AppleSoftFile.src/{M000014.html → M000116.html} +1 -1
  9. data/doc/classes/AppleSoftFile.src/{M000010.html → M000117.html} +1 -1
  10. data/doc/classes/AppleSoftFile.src/M000118.html +18 -0
  11. data/doc/classes/AppleSoftFile.src/{M000006.html → M000119.html} +1 -1
  12. data/doc/classes/AppleSoftFile.src/{M000022.html → M000120.html} +1 -1
  13. data/doc/classes/BinaryFile.html +184 -26
  14. data/doc/classes/BinaryFile.src/{M000021.html → M000218.html} +1 -1
  15. data/doc/classes/{DOSFile.src/M000017.html → BinaryFile.src/M000219.html} +4 -3
  16. data/doc/classes/BinaryFile.src/{M000025.html → M000220.html} +1 -1
  17. data/doc/classes/BinaryFile.src/M000221.html +19 -0
  18. data/doc/classes/BinaryFile.src/M000222.html +19 -0
  19. data/doc/classes/BinaryFile.src/M000223.html +19 -0
  20. data/doc/classes/BinaryFile.src/M000224.html +18 -0
  21. data/doc/classes/BinaryFile.src/{M000015.html → M000225.html} +1 -1
  22. data/doc/classes/{AppleSoftFile.src/M000008.html → BinaryFile.src/M000226.html} +4 -4
  23. data/doc/classes/BinaryFile.src/{M000030.html → M000227.html} +1 -1
  24. data/doc/classes/BinaryFile.src/M000228.html +19 -0
  25. data/doc/classes/BinaryFile.src/M000229.html +19 -0
  26. data/doc/classes/BinaryFile.src/M000230.html +19 -0
  27. data/doc/classes/BinaryFile.src/M000231.html +18 -0
  28. data/doc/classes/CatalogServlet.html +5 -15
  29. data/doc/classes/CatalogServlet.src/{M000021.html → M000064.html} +1 -1
  30. data/doc/classes/D65.html +60 -18
  31. data/doc/classes/D65.src/{M000006.html → M000099.html} +0 -0
  32. data/doc/classes/D65.src/{M000032.html → M000100.html} +6 -6
  33. data/doc/classes/D65.src/{M000009.html → M000101.html} +1 -1
  34. data/doc/classes/D65.src/{M000011.html → M000102.html} +7 -7
  35. data/doc/classes/DOSDisk.html +291 -23
  36. data/doc/classes/DOSDisk.src/M000127.html +23 -0
  37. data/doc/classes/DOSDisk.src/M000128.html +18 -0
  38. data/doc/classes/DOSDisk.src/{M000012.html → M000129.html} +3 -3
  39. data/doc/classes/DOSDisk.src/M000130.html +37 -0
  40. data/doc/classes/DOSDisk.src/{M000043.html → M000131.html} +17 -8
  41. data/doc/classes/DOSDisk.src/M000132.html +37 -0
  42. data/doc/classes/DOSDisk.src/M000133.html +34 -0
  43. data/doc/classes/DOSDisk.src/M000134.html +27 -0
  44. data/doc/classes/DOSDisk.src/M000135.html +43 -0
  45. data/doc/classes/DOSDisk.src/M000136.html +31 -0
  46. data/doc/classes/DOSDisk.src/M000137.html +95 -0
  47. data/doc/classes/DOSDisk.src/M000138.html +23 -0
  48. data/doc/classes/{BinaryFile.src/M000023.html → DOSDisk.src/M000139.html} +4 -4
  49. data/doc/classes/DOSDisk.src/{M000016.html → M000140.html} +3 -3
  50. data/doc/classes/DOSDisk.src/M000141.html +22 -0
  51. data/doc/classes/DOSDisk.src/{M000017.html → M000142.html} +26 -17
  52. data/doc/classes/DOSDisk.src/M000143.html +37 -0
  53. data/doc/classes/DOSDisk.src/M000144.html +34 -0
  54. data/doc/classes/DOSDisk.src/M000145.html +92 -0
  55. data/doc/classes/DOSFile.html +135 -36
  56. data/doc/classes/DOSFile.src/{M000016.html → M000251.html} +5 -5
  57. data/doc/classes/DOSFile.src/{M000043.html → M000252.html} +1 -1
  58. data/doc/classes/DOSFile.src/M000253.html +18 -0
  59. data/doc/classes/DOSFile.src/M000254.html +28 -0
  60. data/doc/classes/DOSFile.src/M000255.html +18 -0
  61. data/doc/classes/DOSFile.src/{M000021.html → M000256.html} +4 -4
  62. data/doc/classes/DOSFile.src/{M000049.html → M000257.html} +1 -1
  63. data/doc/classes/DOSFile.src/M000258.html +18 -0
  64. data/doc/classes/DOSFile.src/M000259.html +28 -0
  65. data/doc/classes/DSK.html +735 -65
  66. data/doc/classes/DSK.src/{M000027.html → M000163.html} +3 -2
  67. data/doc/classes/{D65.src/M000003.html → DSK.src/M000164.html} +4 -4
  68. data/doc/classes/DSK.src/M000165.html +18 -0
  69. data/doc/classes/DSK.src/M000166.html +18 -0
  70. data/doc/classes/DSK.src/M000167.html +18 -0
  71. data/doc/classes/DSK.src/M000168.html +18 -0
  72. data/doc/classes/DSK.src/M000169.html +25 -0
  73. data/doc/classes/DSK.src/{M000043.html → M000170.html} +3 -2
  74. data/doc/classes/DSK.src/M000171.html +22 -0
  75. data/doc/classes/DSK.src/M000172.html +22 -0
  76. data/doc/classes/DSK.src/{M000035.html → M000173.html} +7 -3
  77. data/doc/classes/DSK.src/M000174.html +25 -0
  78. data/doc/classes/DSK.src/M000175.html +30 -0
  79. data/doc/classes/DSK.src/M000176.html +65 -0
  80. data/doc/classes/DSK.src/M000177.html +22 -0
  81. data/doc/classes/DSK.src/M000178.html +23 -0
  82. data/doc/classes/DSK.src/M000179.html +24 -0
  83. data/doc/classes/DSK.src/M000180.html +21 -0
  84. data/doc/classes/DSK.src/{M000012.html → M000181.html} +1 -1
  85. data/doc/classes/DSK.src/M000182.html +24 -0
  86. data/doc/classes/DSK.src/{M000053.html → M000183.html} +1 -1
  87. data/doc/classes/DSK.src/{M000054.html → M000184.html} +3 -3
  88. data/doc/classes/DSK.src/{M000033.html → M000185.html} +3 -2
  89. data/doc/classes/{DOSFile.src/M000018.html → DSK.src/M000186.html} +4 -4
  90. data/doc/classes/DSK.src/M000187.html +18 -0
  91. data/doc/classes/DSK.src/M000188.html +18 -0
  92. data/doc/classes/DSK.src/M000189.html +18 -0
  93. data/doc/classes/DSK.src/M000190.html +18 -0
  94. data/doc/classes/DSK.src/M000191.html +25 -0
  95. data/doc/classes/DSK.src/{M000047.html → M000192.html} +3 -2
  96. data/doc/classes/DSK.src/M000193.html +22 -0
  97. data/doc/classes/DSK.src/M000194.html +22 -0
  98. data/doc/classes/DSK.src/{M000015.html → M000195.html} +7 -3
  99. data/doc/classes/DSK.src/M000196.html +20 -0
  100. data/doc/classes/DSK.src/M000197.html +21 -0
  101. data/doc/classes/DSK.src/M000198.html +27 -0
  102. data/doc/classes/DSK.src/M000199.html +65 -0
  103. data/doc/classes/DSK.src/M000200.html +22 -0
  104. data/doc/classes/DSK.src/M000201.html +23 -0
  105. data/doc/classes/DSK.src/M000202.html +24 -0
  106. data/doc/classes/DSK.src/M000203.html +21 -0
  107. data/doc/classes/DSK.src/{M000022.html → M000204.html} +1 -1
  108. data/doc/classes/DSK.src/M000205.html +24 -0
  109. data/doc/classes/DSK.src/M000206.html +24 -0
  110. data/doc/classes/DSK.src/{M000024.html → M000207.html} +6 -5
  111. data/doc/classes/DSKFile.html +472 -0
  112. data/doc/classes/{NADOLFile.src/M000027.html → DSKFile.src/M000147.html} +2 -2
  113. data/doc/classes/{DOSFile.src/M000025.html → DSKFile.src/M000148.html} +2 -2
  114. data/doc/classes/DSKFile.src/M000149.html +25 -0
  115. data/doc/classes/{BinaryFile.src/M000040.html → DSKFile.src/M000150.html} +2 -2
  116. data/doc/classes/DSKFile.src/M000151.html +18 -0
  117. data/doc/classes/{BinaryFile.src/M000020.html → DSKFile.src/M000152.html} +4 -4
  118. data/doc/classes/DSKFile.src/M000153.html +18 -0
  119. data/doc/classes/DSKFile.src/M000154.html +50 -0
  120. data/doc/classes/{NADOLFile.src/M000031.html → DSKFile.src/M000155.html} +2 -2
  121. data/doc/classes/{DOSFile.src/M000029.html → DSKFile.src/M000156.html} +2 -2
  122. data/doc/classes/DSKFile.src/M000157.html +25 -0
  123. data/doc/classes/{BinaryFile.src/M000046.html → DSKFile.src/M000158.html} +2 -2
  124. data/doc/classes/DSKFile.src/M000159.html +18 -0
  125. data/doc/classes/DSKFile.src/M000160.html +18 -0
  126. data/doc/classes/DSKFile.src/M000161.html +18 -0
  127. data/doc/classes/DSKFile.src/M000162.html +50 -0
  128. data/doc/classes/DSKTrackSector.html +256 -0
  129. data/doc/classes/DSKTrackSector.src/M000093.html +20 -0
  130. data/doc/classes/DSKTrackSector.src/M000094.html +18 -0
  131. data/doc/classes/DSKTrackSector.src/M000095.html +21 -0
  132. data/doc/classes/DSKTrackSector.src/M000096.html +20 -0
  133. data/doc/classes/DSKTrackSector.src/M000097.html +18 -0
  134. data/doc/classes/DSKTrackSector.src/M000098.html +21 -0
  135. data/doc/classes/DirectoryServlet.html +5 -15
  136. data/doc/classes/DirectoryServlet.src/{M000023.html → M000086.html} +1 -1
  137. data/doc/classes/DumpUtilities.html +186 -0
  138. data/doc/classes/DumpUtilities.src/M000109.html +33 -0
  139. data/doc/classes/DumpUtilities.src/M000110.html +23 -0
  140. data/doc/classes/DumpUtilities.src/M000111.html +33 -0
  141. data/doc/classes/DumpUtilities.src/M000112.html +23 -0
  142. data/doc/classes/HGR.html +324 -0
  143. data/doc/classes/HGR.src/M000247.html +29 -0
  144. data/doc/classes/HGR.src/M000248.html +56 -0
  145. data/doc/classes/HGR.src/M000249.html +29 -0
  146. data/doc/classes/HGR.src/M000250.html +56 -0
  147. data/doc/classes/IntegerBasicFile.html +127 -26
  148. data/doc/classes/IntegerBasicFile.src/{M000001.html → M000056.html} +1 -1
  149. data/doc/classes/IntegerBasicFile.src/{M000007.html → M000057.html} +1 -1
  150. data/doc/classes/IntegerBasicFile.src/M000058.html +18 -0
  151. data/doc/classes/IntegerBasicFile.src/{M000008.html → M000059.html} +1 -1
  152. data/doc/classes/IntegerBasicFile.src/{M000004.html → M000060.html} +1 -1
  153. data/doc/classes/IntegerBasicFile.src/{M000013.html → M000061.html} +1 -1
  154. data/doc/classes/IntegerBasicFile.src/M000062.html +18 -0
  155. data/doc/classes/IntegerBasicFile.src/{M000014.html → M000063.html} +1 -1
  156. data/doc/classes/NADOLBinaryFile.html +84 -13
  157. data/doc/classes/NADOLBinaryFile.src/{M000033.html → M000103.html} +1 -1
  158. data/doc/classes/{NADOLFile.src/M000028.html → NADOLBinaryFile.src/M000104.html} +4 -4
  159. data/doc/classes/{NADOLFile.src/M000032.html → NADOLBinaryFile.src/M000105.html} +4 -4
  160. data/doc/classes/NADOLBinaryFile.src/{M000037.html → M000106.html} +1 -1
  161. data/doc/classes/{BinaryFile.src/M000055.html → NADOLBinaryFile.src/M000107.html} +4 -4
  162. data/doc/classes/NADOLBinaryFile.src/M000108.html +18 -0
  163. data/doc/classes/NADOLDisk.html +346 -23
  164. data/doc/classes/NADOLDisk.src/M000034.html +23 -0
  165. data/doc/classes/NADOLDisk.src/{M000019.html → M000035.html} +3 -3
  166. data/doc/classes/NADOLDisk.src/M000036.html +18 -0
  167. data/doc/classes/NADOLDisk.src/M000037.html +29 -0
  168. data/doc/classes/NADOLDisk.src/M000038.html +34 -0
  169. data/doc/classes/NADOLDisk.src/M000039.html +32 -0
  170. data/doc/classes/NADOLDisk.src/M000040.html +22 -0
  171. data/doc/classes/NADOLDisk.src/M000041.html +38 -0
  172. data/doc/classes/NADOLDisk.src/M000042.html +27 -0
  173. data/doc/classes/NADOLDisk.src/M000043.html +53 -0
  174. data/doc/classes/NADOLDisk.src/M000044.html +46 -0
  175. data/doc/classes/NADOLDisk.src/M000045.html +23 -0
  176. data/doc/classes/NADOLDisk.src/{M000022.html → M000046.html} +3 -3
  177. data/doc/classes/{AppleSoftFile.src/M000009.html → NADOLDisk.src/M000047.html} +4 -4
  178. data/doc/classes/NADOLDisk.src/M000048.html +29 -0
  179. data/doc/classes/NADOLDisk.src/M000049.html +34 -0
  180. data/doc/classes/NADOLDisk.src/M000050.html +32 -0
  181. data/doc/classes/NADOLDisk.src/M000051.html +22 -0
  182. data/doc/classes/NADOLDisk.src/M000052.html +38 -0
  183. data/doc/classes/NADOLDisk.src/M000053.html +27 -0
  184. data/doc/classes/NADOLDisk.src/M000054.html +53 -0
  185. data/doc/classes/NADOLDisk.src/M000055.html +46 -0
  186. data/doc/classes/NADOLFile.html +67 -51
  187. data/doc/classes/NADOLFile.src/{M000029.html → M000087.html} +1 -1
  188. data/doc/classes/NADOLFile.src/M000088.html +18 -0
  189. data/doc/classes/NADOLFile.src/M000089.html +28 -0
  190. data/doc/classes/NADOLFile.src/{M000033.html → M000090.html} +1 -1
  191. data/doc/classes/NADOLFile.src/M000091.html +18 -0
  192. data/doc/classes/NADOLFile.src/M000092.html +28 -0
  193. data/doc/classes/NADOLTokenisedFile.html +111 -32
  194. data/doc/classes/NADOLTokenisedFile.src/{M000068.html → M000276.html} +1 -1
  195. data/doc/classes/NADOLTokenisedFile.src/M000277.html +49 -0
  196. data/doc/classes/NADOLTokenisedFile.src/{M000064.html → M000278.html} +1 -1
  197. data/doc/classes/NADOLTokenisedFile.src/{M000065.html → M000279.html} +1 -1
  198. data/doc/classes/NADOLTokenisedFile.src/{M000061.html → M000280.html} +1 -1
  199. data/doc/classes/NADOLTokenisedFile.src/M000281.html +49 -0
  200. data/doc/classes/NADOLTokenisedFile.src/{M000069.html → M000282.html} +1 -1
  201. data/doc/classes/NADOLTokenisedFile.src/{M000070.html → M000283.html} +1 -1
  202. data/doc/classes/PNG.html +163 -0
  203. data/doc/classes/PNG.src/M000284.html +26 -0
  204. data/doc/classes/PNG.src/M000285.html +26 -0
  205. data/doc/classes/PascalDisk.html +274 -0
  206. data/doc/classes/PascalDisk.src/M000268.html +23 -0
  207. data/doc/classes/PascalDisk.src/M000269.html +19 -0
  208. data/doc/classes/PascalDisk.src/M000270.html +18 -0
  209. data/doc/classes/PascalDisk.src/M000271.html +60 -0
  210. data/doc/classes/PascalDisk.src/M000272.html +23 -0
  211. data/doc/classes/PascalDisk.src/M000273.html +19 -0
  212. data/doc/classes/PascalDisk.src/M000274.html +18 -0
  213. data/doc/classes/PascalDisk.src/M000275.html +60 -0
  214. data/doc/classes/PascalFile.html +322 -0
  215. data/doc/classes/{DOSFile.src/M000022.html → PascalFile.src/M000237.html} +5 -6
  216. data/doc/classes/{TextFile.src/M000027.html → PascalFile.src/M000238.html} +3 -3
  217. data/doc/classes/{AppleSoftFile.src/M000028.html → PascalFile.src/M000239.html} +3 -3
  218. data/doc/classes/PascalFile.src/M000240.html +19 -0
  219. data/doc/classes/PascalFile.src/M000241.html +18 -0
  220. data/doc/classes/{DOSFile.src/M000023.html → PascalFile.src/M000242.html} +5 -6
  221. data/doc/classes/{TextFile.src/M000032.html → PascalFile.src/M000243.html} +3 -3
  222. data/doc/classes/PascalFile.src/M000244.html +18 -0
  223. data/doc/classes/PascalFile.src/M000245.html +19 -0
  224. data/doc/classes/PascalFile.src/M000246.html +18 -0
  225. data/doc/classes/ProDOSDisk.html +414 -0
  226. data/doc/classes/ProDOSDisk.src/M000073.html +18 -0
  227. data/doc/classes/ProDOSDisk.src/M000074.html +23 -0
  228. data/doc/classes/{DOSDisk.src/M000030.html → ProDOSDisk.src/M000075.html} +5 -5
  229. data/doc/classes/ProDOSDisk.src/M000076.html +18 -0
  230. data/doc/classes/{DSK.src/M000052.html → ProDOSDisk.src/M000077.html} +8 -9
  231. data/doc/classes/ProDOSDisk.src/M000078.html +98 -0
  232. data/doc/classes/ProDOSDisk.src/M000079.html +18 -0
  233. data/doc/classes/ProDOSDisk.src/M000080.html +23 -0
  234. data/doc/classes/ProDOSDisk.src/M000081.html +19 -0
  235. data/doc/classes/ProDOSDisk.src/M000082.html +18 -0
  236. data/doc/classes/ProDOSDisk.src/M000083.html +36 -0
  237. data/doc/classes/ProDOSDisk.src/M000084.html +98 -0
  238. data/doc/classes/ProDOSFile.html +282 -0
  239. data/doc/classes/ProDOSFile.src/M000121.html +23 -0
  240. data/doc/classes/{AppleSoftFile.src/M000036.html → ProDOSFile.src/M000122.html} +3 -3
  241. data/doc/classes/ProDOSFile.src/M000123.html +30 -0
  242. data/doc/classes/ProDOSFile.src/M000124.html +23 -0
  243. data/doc/classes/ProDOSFile.src/M000125.html +18 -0
  244. data/doc/classes/ProDOSFile.src/M000126.html +30 -0
  245. data/doc/classes/RDoc.html +29 -12
  246. data/doc/classes/RDoc.src/{M000048.html → M000295.html} +0 -0
  247. data/doc/classes/RDoc.src/{M000032.html → M000296.html} +1 -1
  248. data/doc/classes/SCAsmFile.html +117 -31
  249. data/doc/classes/SCAsmFile.src/{M000048.html → M000208.html} +1 -1
  250. data/doc/classes/{DOSFile.src/M000024.html → SCAsmFile.src/M000209.html} +4 -3
  251. data/doc/classes/SCAsmFile.src/{M000026.html → M000210.html} +1 -1
  252. data/doc/classes/SCAsmFile.src/{M000027.html → M000211.html} +1 -1
  253. data/doc/classes/SCAsmFile.src/{M000058.html → M000212.html} +1 -1
  254. data/doc/classes/SCAsmFile.src/{M000025.html → M000213.html} +1 -1
  255. data/doc/classes/SCAsmFile.src/M000214.html +18 -0
  256. data/doc/classes/SCAsmFile.src/{M000036.html → M000215.html} +1 -1
  257. data/doc/classes/SCAsmFile.src/{M000037.html → M000216.html} +1 -1
  258. data/doc/classes/SCAsmFile.src/{M000053.html → M000217.html} +4 -1
  259. data/doc/classes/ShowFileServlet.html +5 -15
  260. data/doc/classes/ShowFileServlet.src/{M000040.html → M000146.html} +2 -2
  261. data/doc/classes/ShowPNGServlet.html +137 -0
  262. data/doc/classes/{ShowFileServlet.src/M000032.html → ShowPNGServlet.src/M000232.html} +10 -6
  263. data/doc/classes/ShowSectorServlet.html +5 -15
  264. data/doc/classes/ShowSectorServlet.src/{M000029.html → M000085.html} +1 -1
  265. data/doc/classes/TestDOSDisks.html +220 -28
  266. data/doc/classes/TestDOSDisks.src/M000014.html +1 -1
  267. data/doc/classes/TestDOSDisks.src/M000015.html +1 -1
  268. data/doc/classes/TestDOSDisks.src/M000016.html +32 -9
  269. data/doc/classes/TestDOSDisks.src/M000017.html +9 -6
  270. data/doc/classes/TestDOSDisks.src/M000018.html +5 -10
  271. data/doc/classes/TestDOSDisks.src/M000019.html +5 -27
  272. data/doc/classes/TestDOSDisks.src/M000020.html +8 -10
  273. data/doc/classes/TestDOSDisks.src/{M000010.html → M000021.html} +9 -3
  274. data/doc/classes/TestDOSDisks.src/{M000011.html → M000022.html} +5 -4
  275. data/doc/classes/TestDOSDisks.src/M000023.html +28 -0
  276. data/doc/classes/TestDOSDisks.src/{M000012.html → M000024.html} +2 -0
  277. data/doc/classes/TestDOSDisks.src/{M000001.html → M000025.html} +1 -1
  278. data/doc/classes/TestDOSDisks.src/M000026.html +62 -0
  279. data/doc/classes/TestDOSDisks.src/M000027.html +22 -0
  280. data/doc/classes/TestDOSDisks.src/M000028.html +20 -0
  281. data/doc/classes/TestDOSDisks.src/{M000008.html → M000029.html} +2 -2
  282. data/doc/classes/TestDOSDisks.src/{M000009.html → M000030.html} +2 -2
  283. data/doc/classes/TestDOSDisks.src/{M000004.html → M000031.html} +9 -3
  284. data/doc/classes/TestDOSDisks.src/{M000005.html → M000032.html} +5 -4
  285. data/doc/classes/TestDOSDisks.src/M000033.html +28 -0
  286. data/doc/classes/TestDisassembly.html +24 -12
  287. data/doc/classes/TestDisassembly.src/{M000008.html → M000071.html} +1 -1
  288. data/doc/classes/TestDisassembly.src/{M000007.html → M000072.html} +0 -0
  289. data/doc/classes/TestNADOLDisks.html +44 -17
  290. data/doc/classes/TestNADOLDisks.src/M000233.html +22 -0
  291. data/doc/classes/TestNADOLDisks.src/M000234.html +73 -0
  292. data/doc/classes/TestNADOLDisks.src/M000235.html +22 -0
  293. data/doc/classes/TestNADOLDisks.src/M000236.html +73 -0
  294. data/doc/classes/TestPascalDisks.html +216 -0
  295. data/doc/classes/TestPascalDisks.src/M000065.html +28 -0
  296. data/doc/classes/TestPascalDisks.src/M000066.html +24 -0
  297. data/doc/classes/TestPascalDisks.src/M000067.html +27 -0
  298. data/doc/classes/TestPascalDisks.src/M000068.html +28 -0
  299. data/doc/classes/TestPascalDisks.src/M000069.html +24 -0
  300. data/doc/classes/TestPascalDisks.src/M000070.html +27 -0
  301. data/doc/classes/TestProDOSDisks.html +246 -0
  302. data/doc/classes/TestProDOSDisks.src/M000260.html +28 -0
  303. data/doc/classes/TestProDOSDisks.src/M000261.html +28 -0
  304. data/doc/classes/TestProDOSDisks.src/M000262.html +41 -0
  305. data/doc/classes/TestProDOSDisks.src/M000263.html +28 -0
  306. data/doc/classes/TestProDOSDisks.src/M000264.html +28 -0
  307. data/doc/classes/TestProDOSDisks.src/M000265.html +28 -0
  308. data/doc/classes/TestProDOSDisks.src/M000266.html +41 -0
  309. data/doc/classes/TestProDOSDisks.src/M000267.html +28 -0
  310. data/doc/classes/TextFile.html +109 -26
  311. data/doc/classes/TextFile.src/{M000019.html → M000286.html} +1 -1
  312. data/doc/classes/{DOSFile.src/M000028.html → TextFile.src/M000287.html} +4 -3
  313. data/doc/classes/TextFile.src/{M000031.html → M000288.html} +1 -1
  314. data/doc/classes/TextFile.src/{M000020.html → M000289.html} +3 -3
  315. data/doc/classes/TextFile.src/{M000024.html → M000290.html} +1 -1
  316. data/doc/classes/TextFile.src/M000291.html +18 -0
  317. data/doc/classes/TextFile.src/{M000036.html → M000292.html} +1 -1
  318. data/doc/classes/TextFile.src/{M000037.html → M000293.html} +3 -3
  319. data/doc/classes/TextFile.src/M000294.html +18 -0
  320. data/doc/created.rid +1 -1
  321. data/doc/dot/f_0.dot +14 -1
  322. data/doc/files/bin/dskexplorer_rb.html +2 -12
  323. data/doc/files/bin/dskexplorer_rb.src/M000007.html +2 -4
  324. data/doc/files/bin/dskexplorer_rb.src/M000008.html +1 -1
  325. data/doc/files/bin/dskexplorer_rb.src/M000009.html +1 -1
  326. data/doc/files/bin/dskexplorer_rb.src/M000010.html +7 -3
  327. data/doc/files/bin/dskexplorer_rb.src/M000011.html +10 -6
  328. data/doc/files/bin/dskexplorer_rb.src/M000012.html +9 -12
  329. data/doc/files/bin/dskexplorer_rb.src/M000013.html +7 -4
  330. data/doc/files/bin/dsktool_rb.html +93 -41
  331. data/doc/files/bin/romdump_rb.html +184 -0
  332. data/doc/files/dsktool_web/dskexplorer_rb.html +107 -0
  333. data/doc/files/dsktool_web/index_rb.html +107 -0
  334. data/doc/files/lib/D65_rb.html +1 -7
  335. data/doc/files/lib/DOSDisk_rb.html +1 -8
  336. data/doc/files/lib/DOSFile_rb.html +3 -12
  337. data/doc/files/{test/test_dos_disks_rb.html → lib/DSKFile_rb.html} +5 -6
  338. data/doc/files/lib/DSK_rb.html +5 -7
  339. data/doc/files/lib/DumpUtilities_rb.html +101 -0
  340. data/doc/files/lib/HGR_rb.html +115 -0
  341. data/doc/files/lib/NADOLDisk_rb.html +1 -8
  342. data/doc/files/lib/NADOLFile_rb.html +3 -9
  343. data/doc/files/lib/PascalDisk_rb.html +108 -0
  344. data/doc/files/lib/PascalFile_rb.html +109 -0
  345. data/doc/files/lib/ProDOSDisk_rb.html +108 -0
  346. data/doc/files/lib/ProDOSFile_rb.html +108 -0
  347. data/doc/files/lib/rdoc_patch_rb.html +1 -7
  348. data/doc/files/test/backup/D65_rb.html +108 -0
  349. data/doc/files/test/backup/DOSDisk_rb.html +108 -0
  350. data/doc/files/test/backup/DOSFile_rb.html +110 -0
  351. data/doc/files/test/backup/DSKFile_rb.html +108 -0
  352. data/doc/files/test/backup/DSK_rb.html +116 -0
  353. data/doc/files/test/backup/DumpUtilities_rb.html +101 -0
  354. data/doc/files/test/backup/HGR_rb.html +115 -0
  355. data/doc/files/test/backup/NADOLDisk_rb.html +108 -0
  356. data/doc/files/test/backup/NADOLFile_rb.html +111 -0
  357. data/doc/files/test/backup/PascalDisk_rb.html +108 -0
  358. data/doc/files/test/backup/PascalFile_rb.html +109 -0
  359. data/doc/files/test/backup/ProDOSDisk_rb.html +108 -0
  360. data/doc/files/test/backup/ProDOSFile_rb.html +108 -0
  361. data/doc/files/test/backup/comp_rb.html +101 -0
  362. data/doc/files/test/backup/compress_dos_dsk_rb.html +114 -0
  363. data/doc/files/test/backup/extract_nadol_startup_rb.html +134 -0
  364. data/doc/files/test/backup/hgr_scanlines_rb.html +101 -0
  365. data/doc/files/test/backup/rdoc_patch_rb.html +108 -0
  366. data/doc/files/test/backup/tc_disassembly_rb.html +116 -0
  367. data/doc/files/test/backup/tc_dos_disks_rb.html +115 -0
  368. data/doc/files/test/backup/tc_nadol_disks_rb.html +115 -0
  369. data/doc/files/test/backup/tc_pascal_disks_rb.html +115 -0
  370. data/doc/files/test/backup/tc_prodos_disks_rb.html +115 -0
  371. data/doc/files/test/backup/ts_test_all_rb.html +112 -0
  372. data/doc/files/test/comp_rb.html +101 -0
  373. data/doc/files/test/compress_dos_dsk_rb.html +114 -0
  374. data/doc/files/test/extract_nadol_startup_rb.html +134 -0
  375. data/doc/files/test/hgr_scanlines_rb.html +101 -0
  376. data/doc/files/test/tc_disassembly_rb.html +1 -8
  377. data/doc/files/test/tc_dos_disks_rb.html +1 -8
  378. data/doc/files/test/tc_nadol_disks_rb.html +1 -8
  379. data/doc/files/test/tc_pascal_disks_rb.html +115 -0
  380. data/doc/files/test/tc_prodos_disks_rb.html +115 -0
  381. data/doc/files/test/ts_test_all_rb.html +3 -6
  382. data/doc/fr_class_index.html +12 -0
  383. data/doc/fr_file_index.html +40 -0
  384. data/doc/fr_method_index.html +281 -59
  385. data/lib/D65.rb +6 -6
  386. data/lib/DOSDisk.rb +248 -18
  387. data/lib/DOSFile.rb +75 -104
  388. data/lib/DSK.rb +198 -44
  389. data/lib/DSKFile.rb +141 -0
  390. data/lib/DumpUtilities.rb +30 -0
  391. data/lib/HGR.rb +136 -0
  392. data/lib/NADOLDisk.rb +199 -42
  393. data/lib/NADOLFile.rb +73 -35
  394. data/lib/PascalDisk.rb +121 -0
  395. data/lib/PascalFile.rb +62 -0
  396. data/lib/ProDOSDisk.rb +197 -0
  397. data/lib/ProDOSFile.rb +162 -0
  398. data/lib/a2_symbols.yaml +2 -2
  399. data/lib/dos33_blank.dsk.gz +0 -0
  400. data/lib/nadol_blank.po.gz +0 -0
  401. data/test/ADTPRO-1.0.1.DSK +0 -0
  402. data/test/ADTPRO-1.0.1.PO +0 -0
  403. data/test/Algebra Mentor (19xx)(John C. Miller)(Disk 1 of 7 Side A)(Student Disk 1).dsk.gz +0 -0
  404. data/test/Apple Works V5.0 (1993)(Beagle Bros)(Disks 5 of 6).dsk.gz +0 -0
  405. data/test/Geos (1988)(Berkeley Softworks)(Disk 1 of 4 Side A).dsk.gz +0 -0
  406. data/test/Zoom Grafix (1982)(Phoenix Software)[cr].dsk.gz +0 -0
  407. data/test/adventure_teacher_4.dsk.gz +0 -0
  408. data/test/camps.dsk.gz +0 -0
  409. data/test/dosmaster.po +0 -0
  410. data/test/hgr_scanlines.rb +194 -0
  411. data/test/nadol1.po +0 -0
  412. data/test/nadol_blank.po.gz +0 -0
  413. data/test/operation_frog1.dsk.gz +0 -0
  414. data/test/tc_dos_disks.rb +89 -14
  415. data/test/tc_nadol_disks.rb +47 -5
  416. data/test/tc_pascal_disks.rb +47 -0
  417. data/test/tc_prodos_disks.rb +78 -0
  418. data/test/test1.dsk +0 -0
  419. data/test/ts_test_all.rb +2 -0
  420. data/test/white_01b.dsk +0 -0
  421. data/test/white_03b.dsk +0 -0
  422. data/test/white_20a.dsk +0 -0
  423. metadata +400 -368
  424. data/doc/classes/AppleSoftFile.src/M000011.html +0 -18
  425. data/doc/classes/AppleSoftFile.src/M000012.html +0 -18
  426. data/doc/classes/AppleSoftFile.src/M000020.html +0 -18
  427. data/doc/classes/AppleSoftFile.src/M000021.html +0 -18
  428. data/doc/classes/AppleSoftFile.src/M000026.html +0 -18
  429. data/doc/classes/AppleSoftFile.src/M000027.html +0 -18
  430. data/doc/classes/AppleSoftFile.src/M000032.html +0 -18
  431. data/doc/classes/AppleSoftFile.src/M000033.html +0 -18
  432. data/doc/classes/AppleSoftFile.src/M000034.html +0 -18
  433. data/doc/classes/AppleSoftFile.src/M000035.html +0 -18
  434. data/doc/classes/AppleSoftFile.src/M000038.html +0 -18
  435. data/doc/classes/AppleSoftFile.src/M000039.html +0 -18
  436. data/doc/classes/AppleSoftFile.src/M000040.html +0 -18
  437. data/doc/classes/BinaryFile.src/M000022.html +0 -19
  438. data/doc/classes/BinaryFile.src/M000024.html +0 -18
  439. data/doc/classes/BinaryFile.src/M000026.html +0 -19
  440. data/doc/classes/BinaryFile.src/M000029.html +0 -18
  441. data/doc/classes/BinaryFile.src/M000031.html +0 -19
  442. data/doc/classes/BinaryFile.src/M000039.html +0 -18
  443. data/doc/classes/BinaryFile.src/M000041.html +0 -19
  444. data/doc/classes/BinaryFile.src/M000045.html +0 -18
  445. data/doc/classes/BinaryFile.src/M000047.html +0 -19
  446. data/doc/classes/BinaryFile.src/M000052.html +0 -18
  447. data/doc/classes/BinaryFile.src/M000053.html +0 -18
  448. data/doc/classes/BinaryFile.src/M000054.html +0 -18
  449. data/doc/classes/BinaryFile.src/M000056.html +0 -19
  450. data/doc/classes/BinaryFile.src/M000059.html +0 -18
  451. data/doc/classes/BinaryFile.src/M000060.html +0 -18
  452. data/doc/classes/BinaryFile.src/M000061.html +0 -19
  453. data/doc/classes/CatalogServlet.src/M000015.html +0 -20
  454. data/doc/classes/CatalogServlet.src/M000024.html +0 -20
  455. data/doc/classes/CatalogServlet.src/M000027.html +0 -20
  456. data/doc/classes/D65.src/M000002.html +0 -18
  457. data/doc/classes/D65.src/M000004.html +0 -64
  458. data/doc/classes/D65.src/M000005.html +0 -18
  459. data/doc/classes/D65.src/M000007.html +0 -18
  460. data/doc/classes/D65.src/M000008.html +0 -18
  461. data/doc/classes/D65.src/M000010.html +0 -18
  462. data/doc/classes/D65.src/M000018.html +0 -18
  463. data/doc/classes/D65.src/M000019.html +0 -64
  464. data/doc/classes/D65.src/M000024.html +0 -18
  465. data/doc/classes/D65.src/M000025.html +0 -64
  466. data/doc/classes/D65.src/M000030.html +0 -18
  467. data/doc/classes/D65.src/M000031.html +0 -18
  468. data/doc/classes/D65.src/M000035.html +0 -18
  469. data/doc/classes/D65.src/M000036.html +0 -64
  470. data/doc/classes/DOSDisk.src/M000007.html +0 -20
  471. data/doc/classes/DOSDisk.src/M000008.html +0 -77
  472. data/doc/classes/DOSDisk.src/M000010.html +0 -20
  473. data/doc/classes/DOSDisk.src/M000011.html +0 -20
  474. data/doc/classes/DOSDisk.src/M000013.html +0 -20
  475. data/doc/classes/DOSDisk.src/M000014.html +0 -20
  476. data/doc/classes/DOSDisk.src/M000015.html +0 -20
  477. data/doc/classes/DOSDisk.src/M000023.html +0 -20
  478. data/doc/classes/DOSDisk.src/M000024.html +0 -19
  479. data/doc/classes/DOSDisk.src/M000025.html +0 -76
  480. data/doc/classes/DOSDisk.src/M000029.html +0 -20
  481. data/doc/classes/DOSDisk.src/M000031.html +0 -76
  482. data/doc/classes/DOSDisk.src/M000035.html +0 -20
  483. data/doc/classes/DOSDisk.src/M000036.html +0 -20
  484. data/doc/classes/DOSDisk.src/M000037.html +0 -20
  485. data/doc/classes/DOSDisk.src/M000038.html +0 -19
  486. data/doc/classes/DOSDisk.src/M000039.html +0 -76
  487. data/doc/classes/DOSDisk.src/M000041.html +0 -20
  488. data/doc/classes/DOSDisk.src/M000042.html +0 -19
  489. data/doc/classes/DOSFile.src/M000026.html +0 -22
  490. data/doc/classes/DOSFile.src/M000027.html +0 -22
  491. data/doc/classes/DOSFile.src/M000032.html +0 -22
  492. data/doc/classes/DOSFile.src/M000033.html +0 -17
  493. data/doc/classes/DOSFile.src/M000034.html +0 -18
  494. data/doc/classes/DOSFile.src/M000042.html +0 -22
  495. data/doc/classes/DOSFile.src/M000044.html +0 -18
  496. data/doc/classes/DOSFile.src/M000048.html +0 -22
  497. data/doc/classes/DOSFile.src/M000050.html +0 -18
  498. data/doc/classes/DOSFile.src/M000051.html +0 -31
  499. data/doc/classes/DOSFile.src/M000057.html +0 -22
  500. data/doc/classes/DOSFile.src/M000058.html +0 -22
  501. data/doc/classes/DOSFile.src/M000059.html +0 -22
  502. data/doc/classes/DOSFile.src/M000060.html +0 -18
  503. data/doc/classes/DOSFile.src/M000061.html +0 -18
  504. data/doc/classes/DOSFile.src/M000062.html +0 -31
  505. data/doc/classes/DOSFile.src/M000064.html +0 -22
  506. data/doc/classes/DOSFile.src/M000065.html +0 -18
  507. data/doc/classes/DOSFile.src/M000066.html +0 -18
  508. data/doc/classes/DOSFile.src/M000067.html +0 -31
  509. data/doc/classes/DSK.src/M000009.html +0 -22
  510. data/doc/classes/DSK.src/M000010.html +0 -27
  511. data/doc/classes/DSK.src/M000011.html +0 -19
  512. data/doc/classes/DSK.src/M000013.html +0 -22
  513. data/doc/classes/DSK.src/M000014.html +0 -22
  514. data/doc/classes/DSK.src/M000016.html +0 -22
  515. data/doc/classes/DSK.src/M000017.html +0 -22
  516. data/doc/classes/DSK.src/M000018.html +0 -22
  517. data/doc/classes/DSK.src/M000019.html +0 -22
  518. data/doc/classes/DSK.src/M000020.html +0 -34
  519. data/doc/classes/DSK.src/M000021.html +0 -19
  520. data/doc/classes/DSK.src/M000023.html +0 -40
  521. data/doc/classes/DSK.src/M000028.html +0 -22
  522. data/doc/classes/DSK.src/M000029.html +0 -22
  523. data/doc/classes/DSK.src/M000030.html +0 -34
  524. data/doc/classes/DSK.src/M000031.html +0 -19
  525. data/doc/classes/DSK.src/M000032.html +0 -18
  526. data/doc/classes/DSK.src/M000034.html +0 -22
  527. data/doc/classes/DSK.src/M000036.html +0 -34
  528. data/doc/classes/DSK.src/M000037.html +0 -19
  529. data/doc/classes/DSK.src/M000038.html +0 -18
  530. data/doc/classes/DSK.src/M000039.html +0 -18
  531. data/doc/classes/DSK.src/M000040.html +0 -18
  532. data/doc/classes/DSK.src/M000041.html +0 -18
  533. data/doc/classes/DSK.src/M000042.html +0 -22
  534. data/doc/classes/DSK.src/M000044.html +0 -22
  535. data/doc/classes/DSK.src/M000045.html +0 -18
  536. data/doc/classes/DSK.src/M000046.html +0 -22
  537. data/doc/classes/DSK.src/M000048.html +0 -22
  538. data/doc/classes/DSK.src/M000049.html +0 -40
  539. data/doc/classes/DSK.src/M000050.html +0 -19
  540. data/doc/classes/DSK.src/M000051.html +0 -18
  541. data/doc/classes/DirectoryServlet.src/M000017.html +0 -20
  542. data/doc/classes/DirectoryServlet.src/M000026.html +0 -20
  543. data/doc/classes/DirectoryServlet.src/M000030.html +0 -20
  544. data/doc/classes/IntegerBasicFile.src/M000005.html +0 -18
  545. data/doc/classes/IntegerBasicFile.src/M000006.html +0 -18
  546. data/doc/classes/IntegerBasicFile.src/M000012.html +0 -18
  547. data/doc/classes/IntegerBasicFile.src/M000018.html +0 -18
  548. data/doc/classes/IntegerBasicFile.src/M000019.html +0 -18
  549. data/doc/classes/IntegerBasicFile.src/M000020.html +0 -18
  550. data/doc/classes/IntegerBasicFile.src/M000021.html +0 -18
  551. data/doc/classes/IntegerBasicFile.src/M000022.html +0 -18
  552. data/doc/classes/IntegerBasicFile.src/M000023.html +0 -18
  553. data/doc/classes/IntegerBasicFile.src/M000024.html +0 -18
  554. data/doc/classes/IntegerBasicFile.src/M000025.html +0 -18
  555. data/doc/classes/IntegerBasicFile.src/M000026.html +0 -18
  556. data/doc/classes/NADOLDisk.src/M000018.html +0 -20
  557. data/doc/classes/NADOLDisk.src/M000020.html +0 -50
  558. data/doc/classes/NADOLDisk.src/M000021.html +0 -20
  559. data/doc/classes/NADOLDisk.src/M000023.html +0 -50
  560. data/doc/classes/NADOLFile.src/M000030.html +0 -31
  561. data/doc/classes/NADOLFile.src/M000034.html +0 -31
  562. data/doc/classes/NADOLTokenisedFile.src/M000062.html +0 -28
  563. data/doc/classes/NADOLTokenisedFile.src/M000063.html +0 -28
  564. data/doc/classes/RDoc.src/M000033.html +0 -40
  565. data/doc/classes/RDoc.src/M000038.html +0 -40
  566. data/doc/classes/RDoc.src/M000055.html +0 -40
  567. data/doc/classes/RDoc.src/M000066.html +0 -40
  568. data/doc/classes/RDoc.src/M000068.html +0 -40
  569. data/doc/classes/RDoc.src/M000069.html +0 -40
  570. data/doc/classes/RDoc.src/M000074.html +0 -40
  571. data/doc/classes/SCAsmFile.src/M000028.html +0 -36
  572. data/doc/classes/SCAsmFile.src/M000035.html +0 -18
  573. data/doc/classes/SCAsmFile.src/M000038.html +0 -36
  574. data/doc/classes/SCAsmFile.src/M000041.html +0 -18
  575. data/doc/classes/SCAsmFile.src/M000042.html +0 -18
  576. data/doc/classes/SCAsmFile.src/M000043.html +0 -18
  577. data/doc/classes/SCAsmFile.src/M000044.html +0 -36
  578. data/doc/classes/SCAsmFile.src/M000049.html +0 -18
  579. data/doc/classes/SCAsmFile.src/M000050.html +0 -18
  580. data/doc/classes/SCAsmFile.src/M000051.html +0 -18
  581. data/doc/classes/SCAsmFile.src/M000052.html +0 -18
  582. data/doc/classes/SCAsmFile.src/M000055.html +0 -18
  583. data/doc/classes/SCAsmFile.src/M000056.html +0 -18
  584. data/doc/classes/SCAsmFile.src/M000057.html +0 -18
  585. data/doc/classes/ShowFileServlet.src/M000026.html +0 -21
  586. data/doc/classes/ShowFileServlet.src/M000038.html +0 -22
  587. data/doc/classes/ShowFileServlet.src/M000039.html +0 -22
  588. data/doc/classes/ShowFileServlet.src/M000044.html +0 -22
  589. data/doc/classes/TestDOSDisks.src/M000002.html +0 -19
  590. data/doc/classes/TestDOSDisks.src/M000003.html +0 -25
  591. data/doc/classes/TestDOSDisks.src/M000006.html +0 -24
  592. data/doc/classes/TestDOSDisks.src/M000007.html +0 -19
  593. data/doc/classes/TestDOSDisks.src/M000013.html +0 -19
  594. data/doc/classes/TestDisassembly.src/M000005.html +0 -19
  595. data/doc/classes/TestDisassembly.src/M000006.html +0 -19
  596. data/doc/classes/TestDisassembly.src/M000009.html +0 -19
  597. data/doc/classes/TestDisassembly.src/M000016.html +0 -19
  598. data/doc/classes/TestDisassembly.src/M000022.html +0 -19
  599. data/doc/classes/TestDisassembly.src/M000025.html +0 -19
  600. data/doc/classes/TestDisassembly.src/M000028.html +0 -19
  601. data/doc/classes/TestNADOLDisks.src/M000055.html +0 -19
  602. data/doc/classes/TestNADOLDisks.src/M000056.html +0 -19
  603. data/doc/classes/TestNADOLDisks.src/M000057.html +0 -19
  604. data/doc/classes/TestNADOLDisks.src/M000058.html +0 -34
  605. data/doc/classes/TestNADOLDisks.src/M000062.html +0 -19
  606. data/doc/classes/TestNADOLDisks.src/M000063.html +0 -34
  607. data/doc/classes/TextFile.src/M000025.html +0 -18
  608. data/doc/classes/TextFile.src/M000026.html +0 -18
  609. data/doc/classes/TextFile.src/M000029.html +0 -18
  610. data/doc/classes/TextFile.src/M000030.html +0 -18
  611. data/doc/classes/TextFile.src/M000035.html +0 -18
  612. data/doc/classes/TextFile.src/M000045.html +0 -18
  613. data/doc/classes/TextFile.src/M000046.html +0 -18
  614. data/doc/classes/TextFile.src/M000047.html +0 -20
  615. data/doc/classes/TextFile.src/M000052.html +0 -18
  616. data/doc/classes/TextFile.src/M000053.html +0 -18
  617. data/doc/classes/TextFile.src/M000054.html +0 -20
  618. data/doc/classes/TextFile.src/M000063.html +0 -18
  619. data/doc/classes/TextFile.src/M000064.html +0 -18
  620. data/doc/classes/TextFile.src/M000065.html +0 -18
  621. data/doc/classes/TextFile.src/M000066.html +0 -18
  622. data/doc/classes/TextFile.src/M000067.html +0 -18
  623. data/doc/classes/TextFile.src/M000068.html +0 -20
  624. data/doc/classes/TextFile.src/M000071.html +0 -18
  625. data/doc/classes/TextFile.src/M000072.html +0 -18
  626. data/doc/classes/TextFile.src/M000073.html +0 -20
  627. data/doc/dot/f_0.png +0 -0
  628. data/doc/dot/f_1.dot +0 -14
  629. data/doc/dot/f_1.png +0 -0
  630. data/doc/dot/f_10.dot +0 -32
  631. data/doc/dot/f_10.png +0 -0
  632. data/doc/dot/f_11.dot +0 -32
  633. data/doc/dot/f_11.png +0 -0
  634. data/doc/dot/f_12.dot +0 -14
  635. data/doc/dot/f_12.png +0 -0
  636. data/doc/dot/f_2.dot +0 -23
  637. data/doc/dot/f_2.png +0 -0
  638. data/doc/dot/f_3.dot +0 -32
  639. data/doc/dot/f_3.png +0 -0
  640. data/doc/dot/f_4.dot +0 -88
  641. data/doc/dot/f_4.png +0 -0
  642. data/doc/dot/f_5.dot +0 -23
  643. data/doc/dot/f_5.png +0 -0
  644. data/doc/dot/f_6.dot +0 -32
  645. data/doc/dot/f_6.png +0 -0
  646. data/doc/dot/f_7.dot +0 -49
  647. data/doc/dot/f_7.png +0 -0
  648. data/doc/dot/f_8.dot +0 -30
  649. data/doc/dot/f_8.png +0 -0
  650. data/doc/dot/f_9.dot +0 -32
  651. data/doc/dot/f_9.png +0 -0
  652. data/doc/dot/m_0_0.dot +0 -30
  653. data/doc/dot/m_0_0.png +0 -0
  654. data/doc/dot/m_6_0.dot +0 -30
  655. data/doc/dot/m_6_0.png +0 -0
  656. data/doc/dot/m_8_0.dot +0 -30
  657. data/doc/dot/m_8_0.png +0 -0
  658. data/doc/files/bin/dskserver_rb.html +0 -247
  659. data/doc/files/bin/dskserver_rb.src/M000001.html +0 -22
  660. data/doc/files/bin/dskserver_rb.src/M000002.html +0 -19
  661. data/doc/files/bin/dskserver_rb.src/M000003.html +0 -62
  662. data/doc/files/bin/dskserver_rb.src/M000004.html +0 -39
  663. data/doc/files/bin/dskserver_rb.src/M000005.html +0 -26
@@ -58,6 +58,10 @@
58
58
  <a href="../files/lib/DOSDisk_rb.html">
59
59
  lib/DOSDisk.rb
60
60
  </a>
61
+ <br />
62
+ <a href="../files/test/backup/DOSDisk_rb.html">
63
+ test/backup/DOSDisk.rb
64
+ </a>
61
65
  <br />
62
66
  </td>
63
67
  </tr>
@@ -79,13 +83,6 @@
79
83
 
80
84
 
81
85
  <div id="contextContent">
82
- <div id="diagram">
83
- <map id="map" name="map">
84
- <area shape="RECT" coords="13,101,88,149" href="DOSDisk.html" alt="DOSDisk">
85
- <area shape="RECT" coords="15,5,87,53" href="DSK.html" alt="DSK">
86
- </map>
87
- <img src="../dot/f_3.png" usemap="#map" border=0 alt="TopLevel">
88
- </div>
89
86
 
90
87
  <div id="description">
91
88
  <pre>
@@ -186,9 +183,25 @@ TRACK/SECTOR LIST FORMAT (from Beneath Apple DOS p 4-6)
186
183
  <h3 class="section-bar">Methods</h3>
187
184
 
188
185
  <div class="name-list">
189
- <a href="#M000041">dump_catalog</a>&nbsp;&nbsp;
190
- <a href="#M000042">new</a>&nbsp;&nbsp;
191
- <a href="#M000043">read_vtoc</a>&nbsp;&nbsp;
186
+ <a href="#M000145">add_file</a>&nbsp;&nbsp;
187
+ <a href="#M000137">add_file</a>&nbsp;&nbsp;
188
+ <a href="#M000135">delete_file</a>&nbsp;&nbsp;
189
+ <a href="#M000138">dump_catalog</a>&nbsp;&nbsp;
190
+ <a href="#M000127">dump_catalog</a>&nbsp;&nbsp;
191
+ <a href="#M000139">file_system</a>&nbsp;&nbsp;
192
+ <a href="#M000128">file_system</a>&nbsp;&nbsp;
193
+ <a href="#M000132">find_catalog_slot</a>&nbsp;&nbsp;
194
+ <a href="#M000143">find_catalog_slot</a>&nbsp;&nbsp;
195
+ <a href="#M000144">free_sector_list</a>&nbsp;&nbsp;
196
+ <a href="#M000133">free_sector_list</a>&nbsp;&nbsp;
197
+ <a href="#M000134">get_track_sector_list</a>&nbsp;&nbsp;
198
+ <a href="#M000141">make_file</a>&nbsp;&nbsp;
199
+ <a href="#M000130">make_file</a>&nbsp;&nbsp;
200
+ <a href="#M000129">new</a>&nbsp;&nbsp;
201
+ <a href="#M000140">new</a>&nbsp;&nbsp;
202
+ <a href="#M000131">read_vtoc</a>&nbsp;&nbsp;
203
+ <a href="#M000142">read_vtoc</a>&nbsp;&nbsp;
204
+ <a href="#M000136">set_sector</a>&nbsp;&nbsp;
192
205
  </div>
193
206
  </div>
194
207
 
@@ -210,13 +223,27 @@ TRACK/SECTOR LIST FORMAT (from Beneath Apple DOS p 4-6)
210
223
  <div id="methods">
211
224
  <h3 class="section-bar">Public Class methods</h3>
212
225
 
213
- <div id="method-M000042" class="method-detail">
214
- <a name="M000042"></a>
226
+ <div id="method-M000129" class="method-detail">
227
+ <a name="M000129"></a>
215
228
 
216
229
  <div class="method-heading">
217
- <a href="DOSDisk.src/M000042.html" target="Code" class="method-signature"
218
- onclick="popupCode('DOSDisk.src/M000042.html');return false;">
219
- <span class="method-name">new</span><span class="method-args">(file_bytes)</span>
230
+ <a href="DOSDisk.src/M000129.html" target="Code" class="method-signature"
231
+ onclick="popupCode('DOSDisk.src/M000129.html');return false;">
232
+ <span class="method-name">new</span><span class="method-args">(file_bytes,sector_order)</span>
233
+ </a>
234
+ </div>
235
+
236
+ <div class="method-description">
237
+ </div>
238
+ </div>
239
+
240
+ <div id="method-M000140" class="method-detail">
241
+ <a name="M000140"></a>
242
+
243
+ <div class="method-heading">
244
+ <a href="DOSDisk.src/M000140.html" target="Code" class="method-signature"
245
+ onclick="popupCode('DOSDisk.src/M000140.html');return false;">
246
+ <span class="method-name">new</span><span class="method-args">(file_bytes,sector_order)</span>
220
247
  </a>
221
248
  </div>
222
249
 
@@ -226,12 +253,54 @@ TRACK/SECTOR LIST FORMAT (from Beneath Apple DOS p 4-6)
226
253
 
227
254
  <h3 class="section-bar">Public Instance methods</h3>
228
255
 
229
- <div id="method-M000041" class="method-detail">
230
- <a name="M000041"></a>
256
+ <div id="method-M000145" class="method-detail">
257
+ <a name="M000145"></a>
258
+
259
+ <div class="method-heading">
260
+ <a href="DOSDisk.src/M000145.html" target="Code" class="method-signature"
261
+ onclick="popupCode('DOSDisk.src/M000145.html');return false;">
262
+ <span class="method-name">add_file</span><span class="method-args">(file)</span>
263
+ </a>
264
+ </div>
265
+
266
+ <div class="method-description">
267
+ </div>
268
+ </div>
269
+
270
+ <div id="method-M000137" class="method-detail">
271
+ <a name="M000137"></a>
231
272
 
232
273
  <div class="method-heading">
233
- <a href="DOSDisk.src/M000041.html" target="Code" class="method-signature"
234
- onclick="popupCode('DOSDisk.src/M000041.html');return false;">
274
+ <a href="DOSDisk.src/M000137.html" target="Code" class="method-signature"
275
+ onclick="popupCode('DOSDisk.src/M000137.html');return false;">
276
+ <span class="method-name">add_file</span><span class="method-args">(file)</span>
277
+ </a>
278
+ </div>
279
+
280
+ <div class="method-description">
281
+ </div>
282
+ </div>
283
+
284
+ <div id="method-M000135" class="method-detail">
285
+ <a name="M000135"></a>
286
+
287
+ <div class="method-heading">
288
+ <a href="DOSDisk.src/M000135.html" target="Code" class="method-signature"
289
+ onclick="popupCode('DOSDisk.src/M000135.html');return false;">
290
+ <span class="method-name">delete_file</span><span class="method-args">(filename)</span>
291
+ </a>
292
+ </div>
293
+
294
+ <div class="method-description">
295
+ </div>
296
+ </div>
297
+
298
+ <div id="method-M000138" class="method-detail">
299
+ <a name="M000138"></a>
300
+
301
+ <div class="method-heading">
302
+ <a href="DOSDisk.src/M000138.html" target="Code" class="method-signature"
303
+ onclick="popupCode('DOSDisk.src/M000138.html');return false;">
235
304
  <span class="method-name">dump_catalog</span><span class="method-args">()</span>
236
305
  </a>
237
306
  </div>
@@ -240,12 +309,180 @@ TRACK/SECTOR LIST FORMAT (from Beneath Apple DOS p 4-6)
240
309
  </div>
241
310
  </div>
242
311
 
243
- <div id="method-M000043" class="method-detail">
244
- <a name="M000043"></a>
312
+ <div id="method-M000127" class="method-detail">
313
+ <a name="M000127"></a>
314
+
315
+ <div class="method-heading">
316
+ <a href="DOSDisk.src/M000127.html" target="Code" class="method-signature"
317
+ onclick="popupCode('DOSDisk.src/M000127.html');return false;">
318
+ <span class="method-name">dump_catalog</span><span class="method-args">()</span>
319
+ </a>
320
+ </div>
321
+
322
+ <div class="method-description">
323
+ </div>
324
+ </div>
325
+
326
+ <div id="method-M000139" class="method-detail">
327
+ <a name="M000139"></a>
328
+
329
+ <div class="method-heading">
330
+ <a href="DOSDisk.src/M000139.html" target="Code" class="method-signature"
331
+ onclick="popupCode('DOSDisk.src/M000139.html');return false;">
332
+ <span class="method-name">file_system</span><span class="method-args">()</span>
333
+ </a>
334
+ </div>
335
+
336
+ <div class="method-description">
337
+ </div>
338
+ </div>
339
+
340
+ <div id="method-M000128" class="method-detail">
341
+ <a name="M000128"></a>
342
+
343
+ <div class="method-heading">
344
+ <a href="DOSDisk.src/M000128.html" target="Code" class="method-signature"
345
+ onclick="popupCode('DOSDisk.src/M000128.html');return false;">
346
+ <span class="method-name">file_system</span><span class="method-args">()</span>
347
+ </a>
348
+ </div>
349
+
350
+ <div class="method-description">
351
+ </div>
352
+ </div>
353
+
354
+ <div id="method-M000132" class="method-detail">
355
+ <a name="M000132"></a>
356
+
357
+ <div class="method-heading">
358
+ <a href="DOSDisk.src/M000132.html" target="Code" class="method-signature"
359
+ onclick="popupCode('DOSDisk.src/M000132.html');return false;">
360
+ <span class="method-name">find_catalog_slot</span><span class="method-args">(filename)</span>
361
+ </a>
362
+ </div>
363
+
364
+ <div class="method-description">
365
+ <p>
366
+ iterate through the CATALOG to find either the named file or (if nil is
367
+ passed in) an empty slot
368
+ </p>
369
+ </div>
370
+ </div>
371
+
372
+ <div id="method-M000143" class="method-detail">
373
+ <a name="M000143"></a>
374
+
375
+ <div class="method-heading">
376
+ <a href="DOSDisk.src/M000143.html" target="Code" class="method-signature"
377
+ onclick="popupCode('DOSDisk.src/M000143.html');return false;">
378
+ <span class="method-name">find_catalog_slot</span><span class="method-args">(filename)</span>
379
+ </a>
380
+ </div>
381
+
382
+ <div class="method-description">
383
+ <p>
384
+ iterate through the CATALOG to find either the named file or (if nil is
385
+ passed in) an empty slot
386
+ </p>
387
+ </div>
388
+ </div>
389
+
390
+ <div id="method-M000144" class="method-detail">
391
+ <a name="M000144"></a>
392
+
393
+ <div class="method-heading">
394
+ <a href="DOSDisk.src/M000144.html" target="Code" class="method-signature"
395
+ onclick="popupCode('DOSDisk.src/M000144.html');return false;">
396
+ <span class="method-name">free_sector_list</span><span class="method-args">()</span>
397
+ </a>
398
+ </div>
399
+
400
+ <div class="method-description">
401
+ <p>
402
+ iterate through the sector usage bitmap, return a list of [track,sector]
403
+ for sectors marked available
404
+ </p>
405
+ </div>
406
+ </div>
407
+
408
+ <div id="method-M000133" class="method-detail">
409
+ <a name="M000133"></a>
410
+
411
+ <div class="method-heading">
412
+ <a href="DOSDisk.src/M000133.html" target="Code" class="method-signature"
413
+ onclick="popupCode('DOSDisk.src/M000133.html');return false;">
414
+ <span class="method-name">free_sector_list</span><span class="method-args">()</span>
415
+ </a>
416
+ </div>
417
+
418
+ <div class="method-description">
419
+ <p>
420
+ iterate through the sector usage bitmap, return a list of [track,sector]
421
+ for sectors marked available
422
+ </p>
423
+ </div>
424
+ </div>
425
+
426
+ <div id="method-M000134" class="method-detail">
427
+ <a name="M000134"></a>
245
428
 
246
429
  <div class="method-heading">
247
- <a href="DOSDisk.src/M000043.html" target="Code" class="method-signature"
248
- onclick="popupCode('DOSDisk.src/M000043.html');return false;">
430
+ <a href="DOSDisk.src/M000134.html" target="Code" class="method-signature"
431
+ onclick="popupCode('DOSDisk.src/M000134.html');return false;">
432
+ <span class="method-name">get_track_sector_list</span><span class="method-args">(ts_list_track_no,ts_list_sector_no)</span>
433
+ </a>
434
+ </div>
435
+
436
+ <div class="method-description">
437
+ <p>
438
+ given a track and sector, treat it as a track/sector list and return an
439
+ array containing track/sector pairs
440
+ </p>
441
+ </div>
442
+ </div>
443
+
444
+ <div id="method-M000141" class="method-detail">
445
+ <a name="M000141"></a>
446
+
447
+ <div class="method-heading">
448
+ <a href="DOSDisk.src/M000141.html" target="Code" class="method-signature"
449
+ onclick="popupCode('DOSDisk.src/M000141.html');return false;">
450
+ <span class="method-name">make_file</span><span class="method-args">(filename,contents,file_options={})</span>
451
+ </a>
452
+ </div>
453
+
454
+ <div class="method-description">
455
+ <p>
456
+ default file type is <a href="TextFile.html">TextFile</a> Tokenisation not
457
+ currently implemented
458
+ </p>
459
+ </div>
460
+ </div>
461
+
462
+ <div id="method-M000130" class="method-detail">
463
+ <a name="M000130"></a>
464
+
465
+ <div class="method-heading">
466
+ <a href="DOSDisk.src/M000130.html" target="Code" class="method-signature"
467
+ onclick="popupCode('DOSDisk.src/M000130.html');return false;">
468
+ <span class="method-name">make_file</span><span class="method-args">(filename,contents,file_options={})</span>
469
+ </a>
470
+ </div>
471
+
472
+ <div class="method-description">
473
+ <p>
474
+ default file type is <a href="TextFile.html">TextFile</a> Tokenisation not
475
+ currently implemented
476
+ </p>
477
+ </div>
478
+ </div>
479
+
480
+ <div id="method-M000131" class="method-detail">
481
+ <a name="M000131"></a>
482
+
483
+ <div class="method-heading">
484
+ <a href="DOSDisk.src/M000131.html" target="Code" class="method-signature"
485
+ onclick="popupCode('DOSDisk.src/M000131.html');return false;">
249
486
  <span class="method-name">read_vtoc</span><span class="method-args">()</span>
250
487
  </a>
251
488
  </div>
@@ -257,6 +494,37 @@ reads the VTOC, and populate the &quot;files&quot; array with files
257
494
  </div>
258
495
  </div>
259
496
 
497
+ <div id="method-M000142" class="method-detail">
498
+ <a name="M000142"></a>
499
+
500
+ <div class="method-heading">
501
+ <a href="DOSDisk.src/M000142.html" target="Code" class="method-signature"
502
+ onclick="popupCode('DOSDisk.src/M000142.html');return false;">
503
+ <span class="method-name">read_vtoc</span><span class="method-args">()</span>
504
+ </a>
505
+ </div>
506
+
507
+ <div class="method-description">
508
+ <p>
509
+ reads the VTOC, and populate the &quot;files&quot; array with files
510
+ </p>
511
+ </div>
512
+ </div>
513
+
514
+ <div id="method-M000136" class="method-detail">
515
+ <a name="M000136"></a>
516
+
517
+ <div class="method-heading">
518
+ <a href="DOSDisk.src/M000136.html" target="Code" class="method-signature"
519
+ onclick="popupCode('DOSDisk.src/M000136.html');return false;">
520
+ <span class="method-name">set_sector</span><span class="method-args">(track,sector,contents)</span>
521
+ </a>
522
+ </div>
523
+
524
+ <div class="method-description">
525
+ </div>
526
+ </div>
527
+
260
528
 
261
529
  </div>
262
530
 
@@ -0,0 +1,23 @@
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>dump_catalog (DOSDisk)</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/DOSDisk.rb, line 87</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dump_catalog</span>
15
+ <span class="ruby-identifier">s</span>=<span class="ruby-value str">&quot;&quot;</span>
16
+ <span class="ruby-identifier">files</span>.<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">file_name</span><span class="ruby-operator">|</span>
17
+ <span class="ruby-identifier">file</span>=<span class="ruby-identifier">files</span>[<span class="ruby-identifier">file_name</span>]
18
+ <span class="ruby-identifier">s</span><span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;#{file.locked ? '*':' '}#{file.file_type} #{sprintf('%04d',file.contents.length)} #{file.filename}\n&quot;</span>
19
+ }
20
+ <span class="ruby-identifier">s</span>
21
+ <span class="ruby-keyword kw">end</span></pre>
22
+ </body>
23
+ </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_system (DOSDisk)</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/DOSDisk.rb, line 96</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">file_system</span>
15
+ <span class="ruby-identifier">:dos</span>
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -10,9 +10,9 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/DOSDisk.rb, line 94</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">file_bytes</span>)
15
- <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">file_bytes</span>)
13
+ <pre><span class="ruby-comment cmt"># File lib/DOSDisk.rb, line 101</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">file_bytes</span>,<span class="ruby-identifier">sector_order</span>)
15
+ <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">file_bytes</span>,<span class="ruby-identifier">sector_order</span>)
16
16
  <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">read_vtoc</span>
17
17
  <span class="ruby-keyword kw">end</span></pre>
18
18
  </body>
@@ -0,0 +1,37 @@
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_file (DOSDisk)</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/DOSDisk.rb, line 108</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">make_file</span>(<span class="ruby-identifier">filename</span>,<span class="ruby-identifier">contents</span>,<span class="ruby-identifier">file_options</span>={})
15
+ <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Tokenisation not currently supported for DOS files&quot;</span> <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">file_options</span>[<span class="ruby-identifier">:tokenise</span>])
16
+ <span class="ruby-identifier">file_type</span> = <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">file_options</span>[<span class="ruby-identifier">:filetype</span>]
17
+ <span class="ruby-keyword kw">when</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">then</span> <span class="ruby-value">0x00</span>
18
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'T'</span> <span class="ruby-keyword kw">then</span> <span class="ruby-value">0x00</span>
19
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'I'</span> <span class="ruby-keyword kw">then</span> <span class="ruby-value">0x01</span>
20
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'A'</span> <span class="ruby-keyword kw">then</span> <span class="ruby-value">0x02</span>
21
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'B'</span> <span class="ruby-keyword kw">then</span> <span class="ruby-value">0x04</span>
22
+ <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">file_options</span>[<span class="ruby-identifier">:filetype</span>].<span class="ruby-identifier">tr</span>(<span class="ruby-value str">&quot;$&quot;</span>,<span class="ruby-value str">&quot;&quot;</span>).<span class="ruby-identifier">hex</span>
23
+ <span class="ruby-keyword kw">end</span>
24
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">file_type</span><span class="ruby-operator">==</span><span class="ruby-value">4</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span>(<span class="ruby-identifier">file_options</span>[<span class="ruby-identifier">:base</span>].<span class="ruby-identifier">nil?</span>) <span class="ruby-keyword kw">then</span>
25
+ <span class="ruby-identifier">base</span>=<span class="ruby-identifier">file_options</span>[<span class="ruby-identifier">:base</span>].<span class="ruby-identifier">tr</span>(<span class="ruby-value str">&quot;$&quot;</span>,<span class="ruby-value str">&quot;&quot;</span>).<span class="ruby-identifier">hex</span>
26
+ <span class="ruby-identifier">s</span>=<span class="ruby-value str">&quot;\0\0\0\0&quot;</span>
27
+ <span class="ruby-identifier">s</span>[<span class="ruby-value">0</span>]=<span class="ruby-identifier">base</span><span class="ruby-operator">%</span><span class="ruby-value">256</span>
28
+ <span class="ruby-identifier">s</span>[<span class="ruby-value">1</span>]=<span class="ruby-identifier">base</span><span class="ruby-operator">/</span><span class="ruby-value">256</span>
29
+ <span class="ruby-identifier">s</span>[<span class="ruby-value">2</span>]=<span class="ruby-identifier">contents</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">%</span><span class="ruby-value">256</span>
30
+ <span class="ruby-identifier">s</span>[<span class="ruby-value">3</span>]=<span class="ruby-identifier">contents</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">/</span><span class="ruby-value">256</span>
31
+ <span class="ruby-identifier">contents</span>=<span class="ruby-identifier">s</span><span class="ruby-operator">+</span><span class="ruby-identifier">contents</span>
32
+ <span class="ruby-keyword kw">end</span>
33
+ <span class="ruby-identifier">new_file</span>=<span class="ruby-constant">DOSFile</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">filename</span>,<span class="ruby-identifier">contents</span>,<span class="ruby-keyword kw">false</span>,<span class="ruby-identifier">file_type</span>)
34
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">new_file</span>
35
+ <span class="ruby-keyword kw">end</span></pre>
36
+ </body>
37
+ </html>
@@ -10,11 +10,13 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/DOSDisk.rb, line 100</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/DOSDisk.rb, line 133</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read_vtoc</span>
15
+ <span class="ruby-ivar">@files</span>={}
15
16
  <span class="ruby-identifier">vtoc_sector</span>=<span class="ruby-identifier">get_sector</span>(<span class="ruby-value">17</span>,<span class="ruby-value">0</span>)
16
17
  <span class="ruby-identifier">catalog_sector</span>=<span class="ruby-identifier">get_sector</span>(<span class="ruby-identifier">vtoc_sector</span>[<span class="ruby-value">01</span>],<span class="ruby-identifier">vtoc_sector</span>[<span class="ruby-value">02</span>])
17
18
  <span class="ruby-identifier">done</span>=<span class="ruby-keyword kw">false</span>
19
+ <span class="ruby-identifier">visited_sectors</span>={}
18
20
  <span class="ruby-keyword kw">while</span> <span class="ruby-operator">!</span><span class="ruby-identifier">done</span>
19
21
  <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">catalog_sector</span>.<span class="ruby-identifier">nil?</span>
20
22
  (<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">6</span>).<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">file_number</span><span class="ruby-operator">|</span>
@@ -23,7 +25,8 @@
23
25
  <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">file_descriptive_entry</span>[<span class="ruby-value">0</span>]<span class="ruby-operator">==</span><span class="ruby-value">0x</span><span class="ruby-constant">FF</span>) <span class="ruby-comment cmt"># skip deleted files</span>
24
26
  <span class="ruby-identifier">filename</span>=<span class="ruby-value str">&quot;&quot;</span>
25
27
  <span class="ruby-identifier">file_descriptive_entry</span>[<span class="ruby-value">3</span><span class="ruby-operator">..</span><span class="ruby-value">32</span>].<span class="ruby-identifier">to_s</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">filename</span><span class="ruby-operator">+=</span>(<span class="ruby-identifier">b</span>.<span class="ruby-operator">%</span><span class="ruby-value">128</span>).<span class="ruby-identifier">chr</span>}
26
- <span class="ruby-identifier">filename</span>.<span class="ruby-identifier">sub!</span>(<span class="ruby-regexp re">/ *$/</span>,<span class="ruby-value str">&quot;&quot;</span>) <span class="ruby-comment cmt">#strip off trailing spaces</span>
28
+ <span class="ruby-identifier">filename</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/ *$/</span>,<span class="ruby-value str">&quot;&quot;</span>) <span class="ruby-comment cmt">#strip off trailing spaces</span>
29
+ <span class="ruby-identifier">filename</span>.<span class="ruby-identifier">tr!</span>(<span class="ruby-value str">&quot;\x00-\x1f&quot;</span>,<span class="ruby-value str">&quot;\x40-\x5f&quot;</span>) <span class="ruby-comment cmt">#convert non-printable chars to corresponding uppercase letter</span>
27
30
  <span class="ruby-identifier">locked</span>=(<span class="ruby-identifier">file_descriptive_entry</span>[<span class="ruby-value">2</span>]<span class="ruby-operator">&gt;=</span><span class="ruby-value">0x80</span>)
28
31
  <span class="ruby-identifier">sector_count</span>=<span class="ruby-identifier">file_descriptive_entry</span>[<span class="ruby-value">0x21</span>]<span class="ruby-operator">+</span><span class="ruby-identifier">file_descriptive_entry</span>[<span class="ruby-value">0x22</span>]<span class="ruby-operator">*</span><span class="ruby-value">256</span>
29
32
 
@@ -49,24 +52,30 @@
49
52
  <span class="ruby-keyword kw">end</span>
50
53
  <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">contents</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">&gt;</span><span class="ruby-value">0</span> <span class="ruby-keyword kw">then</span>
51
54
  <span class="ruby-ivar">@files</span>[<span class="ruby-identifier">filename</span>]= <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">file_type_code</span>
52
- <span class="ruby-keyword kw">when</span> <span class="ruby-value">0x00</span> <span class="ruby-keyword kw">then</span> <span class="ruby-constant">TextFile</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">filename</span>,<span class="ruby-identifier">locked</span>,<span class="ruby-identifier">sector_count</span>,<span class="ruby-identifier">contents</span>)
53
- <span class="ruby-keyword kw">when</span> <span class="ruby-value">0x01</span> <span class="ruby-keyword kw">then</span> <span class="ruby-constant">SCAsmFile</span>.<span class="ruby-identifier">can_be_scasm_file?</span>(<span class="ruby-identifier">contents</span>)<span class="ruby-operator">?</span> <span class="ruby-constant">SCAsmFile</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">filename</span>,<span class="ruby-identifier">locked</span>,<span class="ruby-identifier">sector_count</span>,<span class="ruby-identifier">contents</span>)<span class="ruby-operator">:</span> <span class="ruby-constant">IntegerBasicFile</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">filename</span>,<span class="ruby-identifier">locked</span>,<span class="ruby-identifier">sector_count</span>,<span class="ruby-identifier">contents</span>)
54
- <span class="ruby-keyword kw">when</span> <span class="ruby-value">0x02</span> <span class="ruby-keyword kw">then</span> <span class="ruby-constant">AppleSoftFile</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">filename</span>,<span class="ruby-identifier">locked</span>,<span class="ruby-identifier">sector_count</span>,<span class="ruby-identifier">contents</span>)
55
- <span class="ruby-keyword kw">when</span> <span class="ruby-value">0x04</span> <span class="ruby-keyword kw">then</span> <span class="ruby-constant">BinaryFile</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">filename</span>,<span class="ruby-identifier">locked</span>,<span class="ruby-identifier">sector_count</span>,<span class="ruby-identifier">contents</span>)
55
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value">0x00</span> <span class="ruby-keyword kw">then</span> <span class="ruby-constant">TextFile</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">filename</span>,<span class="ruby-identifier">contents</span>,<span class="ruby-identifier">locked</span>)
56
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value">0x01</span> <span class="ruby-keyword kw">then</span> <span class="ruby-constant">SCAsmFile</span>.<span class="ruby-identifier">can_be_scasm_file?</span>(<span class="ruby-identifier">contents</span>)<span class="ruby-operator">?</span> <span class="ruby-constant">SCAsmFile</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">filename</span>,<span class="ruby-identifier">contents</span>,<span class="ruby-identifier">locked</span>)<span class="ruby-operator">:</span> <span class="ruby-constant">IntegerBasicFile</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">filename</span>,<span class="ruby-identifier">contents</span>,<span class="ruby-identifier">locked</span>)
57
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value">0x02</span> <span class="ruby-keyword kw">then</span> <span class="ruby-constant">AppleSoftFile</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">filename</span>,<span class="ruby-identifier">contents</span>,<span class="ruby-identifier">locked</span>)
58
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value">0x04</span> <span class="ruby-keyword kw">then</span> <span class="ruby-constant">BinaryFile</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">filename</span>,<span class="ruby-identifier">contents</span>,<span class="ruby-identifier">locked</span>)
56
59
  <span class="ruby-comment cmt"># when 0x08 then &quot;S&quot; #S type file</span>
57
60
  <span class="ruby-comment cmt"># when 0x10 then &quot;R&quot; #RELOCATABLE object module file</span>
58
61
  <span class="ruby-comment cmt"># when 0x20 then &quot;a&quot; #??</span>
59
62
  <span class="ruby-comment cmt"># when 0x40 then &quot;b&quot; #??</span>
60
- <span class="ruby-keyword kw">else</span> <span class="ruby-constant">DOSFile</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">filename</span>,<span class="ruby-identifier">locked</span>,<span class="ruby-identifier">sector_count</span>,<span class="ruby-identifier">contents</span>,<span class="ruby-identifier">sprintf</span>(<span class="ruby-value str">&quot;$%02X&quot;</span>,<span class="ruby-identifier">file_type_code</span>))
63
+ <span class="ruby-keyword kw">else</span> <span class="ruby-constant">DOSFile</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">filename</span>,<span class="ruby-identifier">contents</span>,<span class="ruby-identifier">locked</span>,<span class="ruby-identifier">file_type_code</span>)
61
64
  <span class="ruby-keyword kw">end</span>
62
65
  <span class="ruby-keyword kw">end</span>
63
66
  <span class="ruby-keyword kw">end</span>
64
67
  }
65
68
  <span class="ruby-identifier">next_track</span>=<span class="ruby-identifier">catalog_sector</span>[<span class="ruby-value">1</span>]
66
- <span class="ruby-identifier">next_sector</span>=<span class="ruby-identifier">catalog_sector</span>[<span class="ruby-value">2</span>]
69
+ <span class="ruby-identifier">next_sector</span>=<span class="ruby-identifier">catalog_sector</span>[<span class="ruby-value">2</span>]<span class="ruby-operator">%</span><span class="ruby-value">0x10</span>
67
70
  <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">next_track</span><span class="ruby-operator">==</span><span class="ruby-value">0</span>) <span class="ruby-operator">&amp;&amp;</span>( <span class="ruby-identifier">next_sector</span><span class="ruby-operator">==</span><span class="ruby-value">0</span>) <span class="ruby-keyword kw">then</span>
68
71
  <span class="ruby-identifier">done</span>=<span class="ruby-keyword kw">true</span>
69
72
  <span class="ruby-keyword kw">else</span>
73
+ <span class="ruby-comment cmt">#check we haven't got into an endless loop</span>
74
+ <span class="ruby-identifier">s</span>=<span class="ruby-node">&quot;#{next_track}/#{next_sector}&quot;</span>
75
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-operator">!</span><span class="ruby-identifier">visited_sectors</span>[<span class="ruby-identifier">s</span>].<span class="ruby-identifier">nil?</span>) <span class="ruby-keyword kw">then</span>
76
+ <span class="ruby-identifier">done</span>=<span class="ruby-keyword kw">true</span>
77
+ <span class="ruby-keyword kw">end</span>
78
+ <span class="ruby-identifier">visited_sectors</span>[<span class="ruby-identifier">s</span>]=<span class="ruby-keyword kw">true</span>
70
79
  <span class="ruby-identifier">catalog_sector</span>=<span class="ruby-identifier">get_sector</span>(<span class="ruby-identifier">next_track</span>,<span class="ruby-identifier">next_sector</span>)
71
80
  <span class="ruby-keyword kw">end</span>
72
81
  <span class="ruby-keyword kw">end</span>
@@ -0,0 +1,37 @@
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>find_catalog_slot (DOSDisk)</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/DOSDisk.rb, line 204</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">find_catalog_slot</span>(<span class="ruby-identifier">filename</span>)
15
+ <span class="ruby-identifier">vtoc_sector</span>=<span class="ruby-identifier">get_sector</span>(<span class="ruby-value">17</span>,<span class="ruby-value">0</span>)
16
+ <span class="ruby-identifier">catalog_filename</span>=<span class="ruby-constant">DOSFile</span>.<span class="ruby-identifier">catalog_filename</span>(<span class="ruby-identifier">filename</span>.<span class="ruby-identifier">upcase</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">filename</span>.<span class="ruby-identifier">nil?</span>
17
+ <span class="ruby-identifier">catalog_track_no</span>=<span class="ruby-identifier">vtoc_sector</span>[<span class="ruby-value">01</span>]
18
+ <span class="ruby-identifier">catalog_sector_no</span>=<span class="ruby-identifier">vtoc_sector</span>[<span class="ruby-value">02</span>]
19
+
20
+ <span class="ruby-keyword kw">while</span> (<span class="ruby-identifier">catalog_track_no</span><span class="ruby-operator">+</span><span class="ruby-identifier">catalog_sector_no</span><span class="ruby-operator">&gt;</span><span class="ruby-value">0</span>) <span class="ruby-keyword kw">do</span>
21
+ <span class="ruby-identifier">catalog</span>=<span class="ruby-identifier">get_sector</span>(<span class="ruby-identifier">catalog_track_no</span>,<span class="ruby-identifier">catalog_sector_no</span>)
22
+ (<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">7</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">slot_no</span><span class="ruby-operator">|</span>
23
+ <span class="ruby-identifier">slot_start</span>=<span class="ruby-identifier">slot_no</span><span class="ruby-operator">*</span><span class="ruby-value">0x23</span><span class="ruby-operator">+</span><span class="ruby-value">0x0</span><span class="ruby-constant">B</span>
24
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">filename</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-identifier">catalog</span>[<span class="ruby-identifier">slot_start</span>]<span class="ruby-operator">==</span><span class="ruby-value">0x00</span>)<span class="ruby-operator">||</span> (<span class="ruby-identifier">catalog</span>[<span class="ruby-identifier">slot_start</span>]<span class="ruby-operator">==</span><span class="ruby-value">0x</span><span class="ruby-constant">FF</span>) <span class="ruby-keyword kw">then</span>
25
+ <span class="ruby-keyword kw">return</span> <span class="ruby-constant">DSKTrackSector</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">catalog_track_no</span>,<span class="ruby-identifier">catalog_sector_no</span>,<span class="ruby-identifier">slot_start</span>)
26
+ <span class="ruby-keyword kw">end</span>
27
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-operator">!</span><span class="ruby-identifier">filename</span>.<span class="ruby-identifier">nil?</span>) <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-identifier">catalog</span>[<span class="ruby-identifier">slot_start</span><span class="ruby-operator">+</span><span class="ruby-value">0x03</span><span class="ruby-operator">..</span><span class="ruby-identifier">slot_start</span><span class="ruby-operator">+</span><span class="ruby-value">0x20</span>]<span class="ruby-operator">==</span><span class="ruby-identifier">catalog_filename</span>) <span class="ruby-keyword kw">then</span>
28
+ <span class="ruby-keyword kw">return</span> <span class="ruby-constant">DSKTrackSector</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">catalog_track_no</span>,<span class="ruby-identifier">catalog_sector_no</span>,<span class="ruby-identifier">slot_start</span>)
29
+ <span class="ruby-keyword kw">end</span>
30
+ <span class="ruby-keyword kw">end</span>
31
+ <span class="ruby-identifier">catalog_track_no</span>=<span class="ruby-identifier">catalog</span>[<span class="ruby-value">01</span>]
32
+ <span class="ruby-identifier">catalog_sector_no</span>=<span class="ruby-identifier">catalog</span>[<span class="ruby-value">02</span>]
33
+ <span class="ruby-keyword kw">end</span>
34
+ <span class="ruby-keyword kw">nil</span>
35
+ <span class="ruby-keyword kw">end</span></pre>
36
+ </body>
37
+ </html>