dsktool 0.4.1 → 0.4.2

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 (395) hide show
  1. data/bin/dskexplorer.rb +1 -1
  2. data/bin/dsktool.rb +5 -4
  3. data/lib/DSK.rb +2 -2
  4. data/test/dos_write_test.dsk +0 -0
  5. data/test/nadol2.po +0 -0
  6. data/test/tc_prodos_disks.rb +3 -3
  7. metadata +4 -431
  8. data/doc/classes/AppleSoftFile.html +0 -254
  9. data/doc/classes/AppleSoftFile.src/M000113.html +0 -18
  10. data/doc/classes/AppleSoftFile.src/M000114.html +0 -18
  11. data/doc/classes/AppleSoftFile.src/M000115.html +0 -18
  12. data/doc/classes/AppleSoftFile.src/M000116.html +0 -18
  13. data/doc/classes/AppleSoftFile.src/M000117.html +0 -18
  14. data/doc/classes/AppleSoftFile.src/M000118.html +0 -18
  15. data/doc/classes/AppleSoftFile.src/M000119.html +0 -18
  16. data/doc/classes/AppleSoftFile.src/M000120.html +0 -18
  17. data/doc/classes/BinaryFile.html +0 -338
  18. data/doc/classes/BinaryFile.src/M000218.html +0 -18
  19. data/doc/classes/BinaryFile.src/M000219.html +0 -18
  20. data/doc/classes/BinaryFile.src/M000220.html +0 -18
  21. data/doc/classes/BinaryFile.src/M000221.html +0 -19
  22. data/doc/classes/BinaryFile.src/M000222.html +0 -19
  23. data/doc/classes/BinaryFile.src/M000223.html +0 -19
  24. data/doc/classes/BinaryFile.src/M000224.html +0 -18
  25. data/doc/classes/BinaryFile.src/M000225.html +0 -18
  26. data/doc/classes/BinaryFile.src/M000226.html +0 -18
  27. data/doc/classes/BinaryFile.src/M000227.html +0 -18
  28. data/doc/classes/BinaryFile.src/M000228.html +0 -19
  29. data/doc/classes/BinaryFile.src/M000229.html +0 -19
  30. data/doc/classes/BinaryFile.src/M000230.html +0 -19
  31. data/doc/classes/BinaryFile.src/M000231.html +0 -18
  32. data/doc/classes/CatalogServlet.html +0 -137
  33. data/doc/classes/CatalogServlet.src/M000064.html +0 -20
  34. data/doc/classes/D65.html +0 -222
  35. data/doc/classes/D65.src/M000099.html +0 -18
  36. data/doc/classes/D65.src/M000100.html +0 -64
  37. data/doc/classes/D65.src/M000101.html +0 -18
  38. data/doc/classes/D65.src/M000102.html +0 -64
  39. data/doc/classes/DOSDisk.html +0 -540
  40. data/doc/classes/DOSDisk.src/M000127.html +0 -23
  41. data/doc/classes/DOSDisk.src/M000128.html +0 -18
  42. data/doc/classes/DOSDisk.src/M000129.html +0 -19
  43. data/doc/classes/DOSDisk.src/M000130.html +0 -37
  44. data/doc/classes/DOSDisk.src/M000131.html +0 -85
  45. data/doc/classes/DOSDisk.src/M000132.html +0 -37
  46. data/doc/classes/DOSDisk.src/M000133.html +0 -34
  47. data/doc/classes/DOSDisk.src/M000134.html +0 -27
  48. data/doc/classes/DOSDisk.src/M000135.html +0 -43
  49. data/doc/classes/DOSDisk.src/M000136.html +0 -31
  50. data/doc/classes/DOSDisk.src/M000137.html +0 -95
  51. data/doc/classes/DOSDisk.src/M000138.html +0 -23
  52. data/doc/classes/DOSDisk.src/M000139.html +0 -18
  53. data/doc/classes/DOSDisk.src/M000140.html +0 -19
  54. data/doc/classes/DOSDisk.src/M000141.html +0 -22
  55. data/doc/classes/DOSDisk.src/M000142.html +0 -85
  56. data/doc/classes/DOSDisk.src/M000143.html +0 -37
  57. data/doc/classes/DOSDisk.src/M000144.html +0 -34
  58. data/doc/classes/DOSDisk.src/M000145.html +0 -92
  59. data/doc/classes/DOSFile.html +0 -336
  60. data/doc/classes/DOSFile.src/M000251.html +0 -22
  61. data/doc/classes/DOSFile.src/M000252.html +0 -18
  62. data/doc/classes/DOSFile.src/M000253.html +0 -18
  63. data/doc/classes/DOSFile.src/M000254.html +0 -28
  64. data/doc/classes/DOSFile.src/M000255.html +0 -18
  65. data/doc/classes/DOSFile.src/M000256.html +0 -22
  66. data/doc/classes/DOSFile.src/M000257.html +0 -18
  67. data/doc/classes/DOSFile.src/M000258.html +0 -18
  68. data/doc/classes/DOSFile.src/M000259.html +0 -28
  69. data/doc/classes/DSK.html +0 -1006
  70. data/doc/classes/DSK.src/M000163.html +0 -19
  71. data/doc/classes/DSK.src/M000164.html +0 -18
  72. data/doc/classes/DSK.src/M000165.html +0 -18
  73. data/doc/classes/DSK.src/M000166.html +0 -18
  74. data/doc/classes/DSK.src/M000167.html +0 -18
  75. data/doc/classes/DSK.src/M000168.html +0 -18
  76. data/doc/classes/DSK.src/M000169.html +0 -25
  77. data/doc/classes/DSK.src/M000170.html +0 -20
  78. data/doc/classes/DSK.src/M000171.html +0 -22
  79. data/doc/classes/DSK.src/M000172.html +0 -22
  80. data/doc/classes/DSK.src/M000173.html +0 -26
  81. data/doc/classes/DSK.src/M000174.html +0 -25
  82. data/doc/classes/DSK.src/M000175.html +0 -30
  83. data/doc/classes/DSK.src/M000176.html +0 -65
  84. data/doc/classes/DSK.src/M000177.html +0 -22
  85. data/doc/classes/DSK.src/M000178.html +0 -23
  86. data/doc/classes/DSK.src/M000179.html +0 -24
  87. data/doc/classes/DSK.src/M000180.html +0 -21
  88. data/doc/classes/DSK.src/M000181.html +0 -18
  89. data/doc/classes/DSK.src/M000182.html +0 -24
  90. data/doc/classes/DSK.src/M000183.html +0 -24
  91. data/doc/classes/DSK.src/M000184.html +0 -24
  92. data/doc/classes/DSK.src/M000185.html +0 -19
  93. data/doc/classes/DSK.src/M000186.html +0 -18
  94. data/doc/classes/DSK.src/M000187.html +0 -18
  95. data/doc/classes/DSK.src/M000188.html +0 -18
  96. data/doc/classes/DSK.src/M000189.html +0 -18
  97. data/doc/classes/DSK.src/M000190.html +0 -18
  98. data/doc/classes/DSK.src/M000191.html +0 -25
  99. data/doc/classes/DSK.src/M000192.html +0 -20
  100. data/doc/classes/DSK.src/M000193.html +0 -22
  101. data/doc/classes/DSK.src/M000194.html +0 -22
  102. data/doc/classes/DSK.src/M000195.html +0 -26
  103. data/doc/classes/DSK.src/M000196.html +0 -20
  104. data/doc/classes/DSK.src/M000197.html +0 -21
  105. data/doc/classes/DSK.src/M000198.html +0 -27
  106. data/doc/classes/DSK.src/M000199.html +0 -65
  107. data/doc/classes/DSK.src/M000200.html +0 -22
  108. data/doc/classes/DSK.src/M000201.html +0 -23
  109. data/doc/classes/DSK.src/M000202.html +0 -24
  110. data/doc/classes/DSK.src/M000203.html +0 -21
  111. data/doc/classes/DSK.src/M000204.html +0 -18
  112. data/doc/classes/DSK.src/M000205.html +0 -24
  113. data/doc/classes/DSK.src/M000206.html +0 -24
  114. data/doc/classes/DSK.src/M000207.html +0 -24
  115. data/doc/classes/DSKFile.html +0 -472
  116. data/doc/classes/DSKFile.src/M000147.html +0 -19
  117. data/doc/classes/DSKFile.src/M000148.html +0 -18
  118. data/doc/classes/DSKFile.src/M000149.html +0 -25
  119. data/doc/classes/DSKFile.src/M000150.html +0 -18
  120. data/doc/classes/DSKFile.src/M000151.html +0 -18
  121. data/doc/classes/DSKFile.src/M000152.html +0 -18
  122. data/doc/classes/DSKFile.src/M000153.html +0 -18
  123. data/doc/classes/DSKFile.src/M000154.html +0 -50
  124. data/doc/classes/DSKFile.src/M000155.html +0 -19
  125. data/doc/classes/DSKFile.src/M000156.html +0 -18
  126. data/doc/classes/DSKFile.src/M000157.html +0 -25
  127. data/doc/classes/DSKFile.src/M000158.html +0 -18
  128. data/doc/classes/DSKFile.src/M000159.html +0 -18
  129. data/doc/classes/DSKFile.src/M000160.html +0 -18
  130. data/doc/classes/DSKFile.src/M000161.html +0 -18
  131. data/doc/classes/DSKFile.src/M000162.html +0 -50
  132. data/doc/classes/DSKTrackSector.html +0 -256
  133. data/doc/classes/DSKTrackSector.src/M000093.html +0 -20
  134. data/doc/classes/DSKTrackSector.src/M000094.html +0 -18
  135. data/doc/classes/DSKTrackSector.src/M000095.html +0 -21
  136. data/doc/classes/DSKTrackSector.src/M000096.html +0 -20
  137. data/doc/classes/DSKTrackSector.src/M000097.html +0 -18
  138. data/doc/classes/DSKTrackSector.src/M000098.html +0 -21
  139. data/doc/classes/DirectoryServlet.html +0 -137
  140. data/doc/classes/DirectoryServlet.src/M000086.html +0 -20
  141. data/doc/classes/DumpUtilities.html +0 -186
  142. data/doc/classes/DumpUtilities.src/M000109.html +0 -33
  143. data/doc/classes/DumpUtilities.src/M000110.html +0 -23
  144. data/doc/classes/DumpUtilities.src/M000111.html +0 -33
  145. data/doc/classes/DumpUtilities.src/M000112.html +0 -23
  146. data/doc/classes/HGR.html +0 -324
  147. data/doc/classes/HGR.src/M000247.html +0 -29
  148. data/doc/classes/HGR.src/M000248.html +0 -56
  149. data/doc/classes/HGR.src/M000249.html +0 -29
  150. data/doc/classes/HGR.src/M000250.html +0 -56
  151. data/doc/classes/IntegerBasicFile.html +0 -378
  152. data/doc/classes/IntegerBasicFile.src/M000056.html +0 -18
  153. data/doc/classes/IntegerBasicFile.src/M000057.html +0 -18
  154. data/doc/classes/IntegerBasicFile.src/M000058.html +0 -18
  155. data/doc/classes/IntegerBasicFile.src/M000059.html +0 -18
  156. data/doc/classes/IntegerBasicFile.src/M000060.html +0 -18
  157. data/doc/classes/IntegerBasicFile.src/M000061.html +0 -18
  158. data/doc/classes/IntegerBasicFile.src/M000062.html +0 -18
  159. data/doc/classes/IntegerBasicFile.src/M000063.html +0 -18
  160. data/doc/classes/NADOLBinaryFile.html +0 -224
  161. data/doc/classes/NADOLBinaryFile.src/M000103.html +0 -19
  162. data/doc/classes/NADOLBinaryFile.src/M000104.html +0 -18
  163. data/doc/classes/NADOLBinaryFile.src/M000105.html +0 -18
  164. data/doc/classes/NADOLBinaryFile.src/M000106.html +0 -19
  165. data/doc/classes/NADOLBinaryFile.src/M000107.html +0 -18
  166. data/doc/classes/NADOLBinaryFile.src/M000108.html +0 -18
  167. data/doc/classes/NADOLDisk.html +0 -512
  168. data/doc/classes/NADOLDisk.src/M000034.html +0 -23
  169. data/doc/classes/NADOLDisk.src/M000035.html +0 -19
  170. data/doc/classes/NADOLDisk.src/M000036.html +0 -18
  171. data/doc/classes/NADOLDisk.src/M000037.html +0 -29
  172. data/doc/classes/NADOLDisk.src/M000038.html +0 -34
  173. data/doc/classes/NADOLDisk.src/M000039.html +0 -32
  174. data/doc/classes/NADOLDisk.src/M000040.html +0 -22
  175. data/doc/classes/NADOLDisk.src/M000041.html +0 -38
  176. data/doc/classes/NADOLDisk.src/M000042.html +0 -27
  177. data/doc/classes/NADOLDisk.src/M000043.html +0 -53
  178. data/doc/classes/NADOLDisk.src/M000044.html +0 -46
  179. data/doc/classes/NADOLDisk.src/M000045.html +0 -23
  180. data/doc/classes/NADOLDisk.src/M000046.html +0 -19
  181. data/doc/classes/NADOLDisk.src/M000047.html +0 -18
  182. data/doc/classes/NADOLDisk.src/M000048.html +0 -29
  183. data/doc/classes/NADOLDisk.src/M000049.html +0 -34
  184. data/doc/classes/NADOLDisk.src/M000050.html +0 -32
  185. data/doc/classes/NADOLDisk.src/M000051.html +0 -22
  186. data/doc/classes/NADOLDisk.src/M000052.html +0 -38
  187. data/doc/classes/NADOLDisk.src/M000053.html +0 -27
  188. data/doc/classes/NADOLDisk.src/M000054.html +0 -53
  189. data/doc/classes/NADOLDisk.src/M000055.html +0 -46
  190. data/doc/classes/NADOLFile.html +0 -232
  191. data/doc/classes/NADOLFile.src/M000087.html +0 -18
  192. data/doc/classes/NADOLFile.src/M000088.html +0 -18
  193. data/doc/classes/NADOLFile.src/M000089.html +0 -28
  194. data/doc/classes/NADOLFile.src/M000090.html +0 -18
  195. data/doc/classes/NADOLFile.src/M000091.html +0 -18
  196. data/doc/classes/NADOLFile.src/M000092.html +0 -28
  197. data/doc/classes/NADOLTokenisedFile.html +0 -296
  198. data/doc/classes/NADOLTokenisedFile.src/M000276.html +0 -28
  199. data/doc/classes/NADOLTokenisedFile.src/M000277.html +0 -49
  200. data/doc/classes/NADOLTokenisedFile.src/M000278.html +0 -18
  201. data/doc/classes/NADOLTokenisedFile.src/M000279.html +0 -18
  202. data/doc/classes/NADOLTokenisedFile.src/M000280.html +0 -28
  203. data/doc/classes/NADOLTokenisedFile.src/M000281.html +0 -49
  204. data/doc/classes/NADOLTokenisedFile.src/M000282.html +0 -18
  205. data/doc/classes/NADOLTokenisedFile.src/M000283.html +0 -18
  206. data/doc/classes/PNG.html +0 -163
  207. data/doc/classes/PNG.src/M000284.html +0 -26
  208. data/doc/classes/PNG.src/M000285.html +0 -26
  209. data/doc/classes/PascalDisk.html +0 -274
  210. data/doc/classes/PascalDisk.src/M000268.html +0 -23
  211. data/doc/classes/PascalDisk.src/M000269.html +0 -19
  212. data/doc/classes/PascalDisk.src/M000270.html +0 -18
  213. data/doc/classes/PascalDisk.src/M000271.html +0 -60
  214. data/doc/classes/PascalDisk.src/M000272.html +0 -23
  215. data/doc/classes/PascalDisk.src/M000273.html +0 -19
  216. data/doc/classes/PascalDisk.src/M000274.html +0 -18
  217. data/doc/classes/PascalDisk.src/M000275.html +0 -60
  218. data/doc/classes/PascalFile.html +0 -322
  219. data/doc/classes/PascalFile.src/M000237.html +0 -21
  220. data/doc/classes/PascalFile.src/M000238.html +0 -20
  221. data/doc/classes/PascalFile.src/M000239.html +0 -18
  222. data/doc/classes/PascalFile.src/M000240.html +0 -19
  223. data/doc/classes/PascalFile.src/M000241.html +0 -18
  224. data/doc/classes/PascalFile.src/M000242.html +0 -21
  225. data/doc/classes/PascalFile.src/M000243.html +0 -20
  226. data/doc/classes/PascalFile.src/M000244.html +0 -18
  227. data/doc/classes/PascalFile.src/M000245.html +0 -19
  228. data/doc/classes/PascalFile.src/M000246.html +0 -18
  229. data/doc/classes/ProDOSDisk.html +0 -414
  230. data/doc/classes/ProDOSDisk.src/M000073.html +0 -18
  231. data/doc/classes/ProDOSDisk.src/M000074.html +0 -23
  232. data/doc/classes/ProDOSDisk.src/M000075.html +0 -19
  233. data/doc/classes/ProDOSDisk.src/M000076.html +0 -18
  234. data/doc/classes/ProDOSDisk.src/M000077.html +0 -36
  235. data/doc/classes/ProDOSDisk.src/M000078.html +0 -98
  236. data/doc/classes/ProDOSDisk.src/M000079.html +0 -18
  237. data/doc/classes/ProDOSDisk.src/M000080.html +0 -23
  238. data/doc/classes/ProDOSDisk.src/M000081.html +0 -19
  239. data/doc/classes/ProDOSDisk.src/M000082.html +0 -18
  240. data/doc/classes/ProDOSDisk.src/M000083.html +0 -36
  241. data/doc/classes/ProDOSDisk.src/M000084.html +0 -98
  242. data/doc/classes/ProDOSFile.html +0 -282
  243. data/doc/classes/ProDOSFile.src/M000121.html +0 -23
  244. data/doc/classes/ProDOSFile.src/M000122.html +0 -18
  245. data/doc/classes/ProDOSFile.src/M000123.html +0 -30
  246. data/doc/classes/ProDOSFile.src/M000124.html +0 -23
  247. data/doc/classes/ProDOSFile.src/M000125.html +0 -18
  248. data/doc/classes/ProDOSFile.src/M000126.html +0 -30
  249. data/doc/classes/RDoc.html +0 -158
  250. data/doc/classes/RDoc.src/M000295.html +0 -40
  251. data/doc/classes/RDoc.src/M000296.html +0 -40
  252. data/doc/classes/SCAsmFile.html +0 -312
  253. data/doc/classes/SCAsmFile.src/M000208.html +0 -18
  254. data/doc/classes/SCAsmFile.src/M000209.html +0 -18
  255. data/doc/classes/SCAsmFile.src/M000210.html +0 -18
  256. data/doc/classes/SCAsmFile.src/M000211.html +0 -18
  257. data/doc/classes/SCAsmFile.src/M000212.html +0 -39
  258. data/doc/classes/SCAsmFile.src/M000213.html +0 -18
  259. data/doc/classes/SCAsmFile.src/M000214.html +0 -18
  260. data/doc/classes/SCAsmFile.src/M000215.html +0 -18
  261. data/doc/classes/SCAsmFile.src/M000216.html +0 -18
  262. data/doc/classes/SCAsmFile.src/M000217.html +0 -39
  263. data/doc/classes/ShowFileServlet.html +0 -137
  264. data/doc/classes/ShowFileServlet.src/M000146.html +0 -22
  265. data/doc/classes/ShowPNGServlet.html +0 -137
  266. data/doc/classes/ShowPNGServlet.src/M000232.html +0 -26
  267. data/doc/classes/ShowSectorServlet.html +0 -137
  268. data/doc/classes/ShowSectorServlet.src/M000085.html +0 -22
  269. data/doc/classes/TestDOSDisks.html +0 -426
  270. data/doc/classes/TestDOSDisks.src/M000014.html +0 -24
  271. data/doc/classes/TestDOSDisks.src/M000015.html +0 -19
  272. data/doc/classes/TestDOSDisks.src/M000016.html +0 -45
  273. data/doc/classes/TestDOSDisks.src/M000017.html +0 -22
  274. data/doc/classes/TestDOSDisks.src/M000018.html +0 -20
  275. data/doc/classes/TestDOSDisks.src/M000019.html +0 -19
  276. data/doc/classes/TestDOSDisks.src/M000020.html +0 -25
  277. data/doc/classes/TestDOSDisks.src/M000021.html +0 -47
  278. data/doc/classes/TestDOSDisks.src/M000022.html +0 -28
  279. data/doc/classes/TestDOSDisks.src/M000023.html +0 -28
  280. data/doc/classes/TestDOSDisks.src/M000024.html +0 -26
  281. data/doc/classes/TestDOSDisks.src/M000025.html +0 -19
  282. data/doc/classes/TestDOSDisks.src/M000026.html +0 -62
  283. data/doc/classes/TestDOSDisks.src/M000027.html +0 -22
  284. data/doc/classes/TestDOSDisks.src/M000028.html +0 -20
  285. data/doc/classes/TestDOSDisks.src/M000029.html +0 -19
  286. data/doc/classes/TestDOSDisks.src/M000030.html +0 -25
  287. data/doc/classes/TestDOSDisks.src/M000031.html +0 -47
  288. data/doc/classes/TestDOSDisks.src/M000032.html +0 -28
  289. data/doc/classes/TestDOSDisks.src/M000033.html +0 -28
  290. data/doc/classes/TestDisassembly.html +0 -156
  291. data/doc/classes/TestDisassembly.src/M000071.html +0 -19
  292. data/doc/classes/TestDisassembly.src/M000072.html +0 -19
  293. data/doc/classes/TestNADOLDisks.html +0 -186
  294. data/doc/classes/TestNADOLDisks.src/M000233.html +0 -22
  295. data/doc/classes/TestNADOLDisks.src/M000234.html +0 -73
  296. data/doc/classes/TestNADOLDisks.src/M000235.html +0 -22
  297. data/doc/classes/TestNADOLDisks.src/M000236.html +0 -73
  298. data/doc/classes/TestPascalDisks.html +0 -216
  299. data/doc/classes/TestPascalDisks.src/M000065.html +0 -28
  300. data/doc/classes/TestPascalDisks.src/M000066.html +0 -24
  301. data/doc/classes/TestPascalDisks.src/M000067.html +0 -27
  302. data/doc/classes/TestPascalDisks.src/M000068.html +0 -28
  303. data/doc/classes/TestPascalDisks.src/M000069.html +0 -24
  304. data/doc/classes/TestPascalDisks.src/M000070.html +0 -27
  305. data/doc/classes/TestProDOSDisks.html +0 -246
  306. data/doc/classes/TestProDOSDisks.src/M000260.html +0 -28
  307. data/doc/classes/TestProDOSDisks.src/M000261.html +0 -28
  308. data/doc/classes/TestProDOSDisks.src/M000262.html +0 -41
  309. data/doc/classes/TestProDOSDisks.src/M000263.html +0 -28
  310. data/doc/classes/TestProDOSDisks.src/M000264.html +0 -28
  311. data/doc/classes/TestProDOSDisks.src/M000265.html +0 -28
  312. data/doc/classes/TestProDOSDisks.src/M000266.html +0 -41
  313. data/doc/classes/TestProDOSDisks.src/M000267.html +0 -28
  314. data/doc/classes/TextFile.html +0 -263
  315. data/doc/classes/TextFile.src/M000286.html +0 -18
  316. data/doc/classes/TextFile.src/M000287.html +0 -18
  317. data/doc/classes/TextFile.src/M000288.html +0 -18
  318. data/doc/classes/TextFile.src/M000289.html +0 -20
  319. data/doc/classes/TextFile.src/M000290.html +0 -18
  320. data/doc/classes/TextFile.src/M000291.html +0 -18
  321. data/doc/classes/TextFile.src/M000292.html +0 -18
  322. data/doc/classes/TextFile.src/M000293.html +0 -20
  323. data/doc/classes/TextFile.src/M000294.html +0 -18
  324. data/doc/created.rid +0 -1
  325. data/doc/files/bin/dskexplorer_rb.html +0 -354
  326. data/doc/files/bin/dskexplorer_rb.src/M000001.html +0 -21
  327. data/doc/files/bin/dskexplorer_rb.src/M000002.html +0 -21
  328. data/doc/files/bin/dskexplorer_rb.src/M000003.html +0 -22
  329. data/doc/files/bin/dskexplorer_rb.src/M000004.html +0 -20
  330. data/doc/files/bin/dskexplorer_rb.src/M000005.html +0 -20
  331. data/doc/files/bin/dskexplorer_rb.src/M000006.html +0 -22
  332. data/doc/files/bin/dskexplorer_rb.src/M000007.html +0 -16
  333. data/doc/files/bin/dskexplorer_rb.src/M000008.html +0 -20
  334. data/doc/files/bin/dskexplorer_rb.src/M000009.html +0 -43
  335. data/doc/files/bin/dskexplorer_rb.src/M000010.html +0 -59
  336. data/doc/files/bin/dskexplorer_rb.src/M000011.html +0 -53
  337. data/doc/files/bin/dskexplorer_rb.src/M000012.html +0 -58
  338. data/doc/files/bin/dskexplorer_rb.src/M000013.html +0 -37
  339. data/doc/files/bin/dsktool_rb.html +0 -267
  340. data/doc/files/bin/romdump_rb.html +0 -184
  341. data/doc/files/dsktool_web/dskexplorer_rb.html +0 -107
  342. data/doc/files/dsktool_web/index_rb.html +0 -107
  343. data/doc/files/lib/D65_rb.html +0 -108
  344. data/doc/files/lib/DOSDisk_rb.html +0 -108
  345. data/doc/files/lib/DOSFile_rb.html +0 -110
  346. data/doc/files/lib/DSKFile_rb.html +0 -108
  347. data/doc/files/lib/DSK_rb.html +0 -116
  348. data/doc/files/lib/DumpUtilities_rb.html +0 -101
  349. data/doc/files/lib/HGR_rb.html +0 -115
  350. data/doc/files/lib/NADOLDisk_rb.html +0 -108
  351. data/doc/files/lib/NADOLFile_rb.html +0 -111
  352. data/doc/files/lib/PascalDisk_rb.html +0 -108
  353. data/doc/files/lib/PascalFile_rb.html +0 -109
  354. data/doc/files/lib/ProDOSDisk_rb.html +0 -108
  355. data/doc/files/lib/ProDOSFile_rb.html +0 -108
  356. data/doc/files/lib/rdoc_patch_rb.html +0 -108
  357. data/doc/files/test/backup/D65_rb.html +0 -108
  358. data/doc/files/test/backup/DOSDisk_rb.html +0 -108
  359. data/doc/files/test/backup/DOSFile_rb.html +0 -110
  360. data/doc/files/test/backup/DSKFile_rb.html +0 -108
  361. data/doc/files/test/backup/DSK_rb.html +0 -116
  362. data/doc/files/test/backup/DumpUtilities_rb.html +0 -101
  363. data/doc/files/test/backup/HGR_rb.html +0 -115
  364. data/doc/files/test/backup/NADOLDisk_rb.html +0 -108
  365. data/doc/files/test/backup/NADOLFile_rb.html +0 -111
  366. data/doc/files/test/backup/PascalDisk_rb.html +0 -108
  367. data/doc/files/test/backup/PascalFile_rb.html +0 -109
  368. data/doc/files/test/backup/ProDOSDisk_rb.html +0 -108
  369. data/doc/files/test/backup/ProDOSFile_rb.html +0 -108
  370. data/doc/files/test/backup/comp_rb.html +0 -101
  371. data/doc/files/test/backup/compress_dos_dsk_rb.html +0 -114
  372. data/doc/files/test/backup/extract_nadol_startup_rb.html +0 -134
  373. data/doc/files/test/backup/hgr_scanlines_rb.html +0 -101
  374. data/doc/files/test/backup/rdoc_patch_rb.html +0 -108
  375. data/doc/files/test/backup/tc_disassembly_rb.html +0 -116
  376. data/doc/files/test/backup/tc_dos_disks_rb.html +0 -115
  377. data/doc/files/test/backup/tc_nadol_disks_rb.html +0 -115
  378. data/doc/files/test/backup/tc_pascal_disks_rb.html +0 -115
  379. data/doc/files/test/backup/tc_prodos_disks_rb.html +0 -115
  380. data/doc/files/test/backup/ts_test_all_rb.html +0 -112
  381. data/doc/files/test/comp_rb.html +0 -101
  382. data/doc/files/test/compress_dos_dsk_rb.html +0 -114
  383. data/doc/files/test/extract_nadol_startup_rb.html +0 -134
  384. data/doc/files/test/hgr_scanlines_rb.html +0 -101
  385. data/doc/files/test/tc_disassembly_rb.html +0 -116
  386. data/doc/files/test/tc_dos_disks_rb.html +0 -115
  387. data/doc/files/test/tc_nadol_disks_rb.html +0 -115
  388. data/doc/files/test/tc_pascal_disks_rb.html +0 -115
  389. data/doc/files/test/tc_prodos_disks_rb.html +0 -115
  390. data/doc/files/test/ts_test_all_rb.html +0 -112
  391. data/doc/fr_class_index.html +0 -59
  392. data/doc/fr_file_index.html +0 -79
  393. data/doc/fr_method_index.html +0 -322
  394. data/doc/index.html +0 -24
  395. data/doc/rdoc-style.css +0 -208
@@ -1,23 +0,0 @@
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>
@@ -1,18 +0,0 @@
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>
@@ -1,19 +0,0 @@
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>new (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 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
- <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">read_vtoc</span>
17
- <span class="ruby-keyword kw">end</span></pre>
18
- </body>
19
- </html>
@@ -1,37 +0,0 @@
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>
@@ -1,85 +0,0 @@
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>read_vtoc (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 133</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read_vtoc</span>
15
- <span class="ruby-ivar">@files</span>={}
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>)
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>])
18
- <span class="ruby-identifier">done</span>=<span class="ruby-keyword kw">false</span>
19
- <span class="ruby-identifier">visited_sectors</span>={}
20
- <span class="ruby-keyword kw">while</span> <span class="ruby-operator">!</span><span class="ruby-identifier">done</span>
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>
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
- <span class="ruby-identifier">file_descriptive_entry_start</span>=<span class="ruby-value">11</span><span class="ruby-operator">+</span><span class="ruby-identifier">file_number</span><span class="ruby-operator">*</span><span class="ruby-value">35</span>
24
- <span class="ruby-identifier">file_descriptive_entry</span>=<span class="ruby-identifier">catalog_sector</span>[<span class="ruby-identifier">file_descriptive_entry_start</span><span class="ruby-operator">..</span><span class="ruby-identifier">file_descriptive_entry_start</span><span class="ruby-operator">+</span><span class="ruby-value">35</span>]
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>
26
- <span class="ruby-identifier">filename</span>=<span class="ruby-value str">&quot;&quot;</span>
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>}
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>
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>)
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>
32
-
33
- <span class="ruby-identifier">file_type_code</span>=<span class="ruby-identifier">file_descriptive_entry</span>[<span class="ruby-value">2</span>]<span class="ruby-operator">%</span><span class="ruby-value">0x80</span>
34
-
35
-
36
- <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">sector_count</span><span class="ruby-operator">&gt;</span><span class="ruby-value">0</span>) <span class="ruby-keyword kw">then</span>
37
- <span class="ruby-identifier">contents</span>=<span class="ruby-value str">&quot;&quot;</span>
38
- <span class="ruby-identifier">ts_list_track_no</span>=<span class="ruby-identifier">file_descriptive_entry</span>[<span class="ruby-value">0</span>]
39
- <span class="ruby-identifier">ts_list_sector_no</span>=<span class="ruby-identifier">file_descriptive_entry</span>[<span class="ruby-value">1</span>]
40
- <span class="ruby-keyword kw">while</span> (<span class="ruby-identifier">ts_list_track_no</span><span class="ruby-operator">&gt;</span><span class="ruby-value">0</span>) <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-identifier">ts_list_track_no</span><span class="ruby-operator">&lt;=</span><span class="ruby-value">0</span><span class="ruby-constant">X22</span>) <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-identifier">ts_list_sector_no</span><span class="ruby-operator">&lt;=</span><span class="ruby-value">0x0f</span>)
41
- <span class="ruby-identifier">ts_list_sector</span>=<span class="ruby-identifier">get_sector</span>(<span class="ruby-identifier">ts_list_track_no</span>,<span class="ruby-identifier">ts_list_sector_no</span>)
42
- <span class="ruby-identifier">ts_list_track_no</span>=<span class="ruby-identifier">ts_list_sector</span>[<span class="ruby-value">1</span>]
43
- <span class="ruby-identifier">ts_list_sector_no</span>=<span class="ruby-identifier">ts_list_sector</span>[<span class="ruby-value">2</span>]
44
-
45
- <span class="ruby-value">0x0</span><span class="ruby-constant">C</span>.<span class="ruby-identifier">step</span>(<span class="ruby-value">0xff</span>,<span class="ruby-value">2</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
46
- <span class="ruby-identifier">data_track_no</span>=<span class="ruby-identifier">ts_list_sector</span>[<span class="ruby-identifier">i</span>]
47
- <span class="ruby-identifier">data_sector_no</span>=<span class="ruby-identifier">ts_list_sector</span>[<span class="ruby-identifier">i</span><span class="ruby-operator">+</span><span class="ruby-value">1</span>]
48
- <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">data_track_no</span><span class="ruby-operator">&gt;</span><span class="ruby-value">0</span>) <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-identifier">data_track_no</span><span class="ruby-operator">&lt;=</span><span class="ruby-value">0</span><span class="ruby-constant">X22</span>) <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-identifier">data_sector_no</span><span class="ruby-operator">&lt;=</span><span class="ruby-value">0x0f</span>) <span class="ruby-keyword kw">then</span>
49
- <span class="ruby-identifier">contents</span><span class="ruby-operator">+=</span><span class="ruby-identifier">get_sector</span>(<span class="ruby-identifier">data_track_no</span>,<span class="ruby-identifier">data_sector_no</span>)
50
- <span class="ruby-keyword kw">end</span>
51
- }
52
- <span class="ruby-keyword kw">end</span>
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>
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>
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>)
59
- <span class="ruby-comment cmt"># when 0x08 then &quot;S&quot; #S type file</span>
60
- <span class="ruby-comment cmt"># when 0x10 then &quot;R&quot; #RELOCATABLE object module file</span>
61
- <span class="ruby-comment cmt"># when 0x20 then &quot;a&quot; #??</span>
62
- <span class="ruby-comment cmt"># when 0x40 then &quot;b&quot; #??</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>)
64
- <span class="ruby-keyword kw">end</span>
65
- <span class="ruby-keyword kw">end</span>
66
- <span class="ruby-keyword kw">end</span>
67
- }
68
- <span class="ruby-identifier">next_track</span>=<span class="ruby-identifier">catalog_sector</span>[<span class="ruby-value">1</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>
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>
71
- <span class="ruby-identifier">done</span>=<span class="ruby-keyword kw">true</span>
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>
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>)
80
- <span class="ruby-keyword kw">end</span>
81
- <span class="ruby-keyword kw">end</span>
82
-
83
- <span class="ruby-keyword kw">end</span></pre>
84
- </body>
85
- </html>
@@ -1,37 +0,0 @@
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>
@@ -1,34 +0,0 @@
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>free_sector_list (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 229</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">free_sector_list</span>
15
- <span class="ruby-identifier">end_of_sector_usage_bitmap</span>=(<span class="ruby-identifier">track_count</span><span class="ruby-operator">*</span><span class="ruby-value">4</span><span class="ruby-operator">+</span><span class="ruby-value">0x38</span>)<span class="ruby-operator">-</span><span class="ruby-value">1</span>
16
- <span class="ruby-identifier">sector_usage_bitmap</span>=<span class="ruby-identifier">get_sector</span>(<span class="ruby-value">0x11</span>,<span class="ruby-value">0</span>)[<span class="ruby-value">0x38</span><span class="ruby-operator">..</span><span class="ruby-identifier">end_of_sector_usage_bitmap</span>]
17
- <span class="ruby-identifier">free_sectors</span>=[]
18
- <span class="ruby-comment cmt">#skip track 0 - even if sectors there are unused, we can't include them in a catalog or track/sector list</span>
19
- (<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-identifier">track_count</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">track</span><span class="ruby-operator">|</span>
20
- <span class="ruby-identifier">track_bitmap_lo</span>=<span class="ruby-identifier">sector_usage_bitmap</span>[<span class="ruby-identifier">track</span><span class="ruby-operator">*</span><span class="ruby-value">4</span><span class="ruby-operator">+</span><span class="ruby-value">1</span>]
21
- <span class="ruby-identifier">track_bitmap_hi</span>=<span class="ruby-identifier">sector_usage_bitmap</span>[<span class="ruby-identifier">track</span><span class="ruby-operator">*</span><span class="ruby-value">4</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">sector</span><span class="ruby-operator">|</span>
23
- <span class="ruby-keyword kw">if</span> ((<span class="ruby-identifier">track_bitmap_lo</span> <span class="ruby-operator">&amp;</span> (<span class="ruby-value">2</span><span class="ruby-operator">**</span>(<span class="ruby-identifier">sector</span>)))<span class="ruby-operator">!=</span><span class="ruby-value">0</span>) <span class="ruby-keyword kw">then</span>
24
- <span class="ruby-identifier">free_sectors</span><span class="ruby-operator">&lt;&lt;</span><span class="ruby-constant">DSKTrackSector</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">track</span>,<span class="ruby-identifier">sector</span>)
25
- <span class="ruby-keyword kw">end</span>
26
- <span class="ruby-keyword kw">if</span> ((<span class="ruby-identifier">track_bitmap_hi</span> <span class="ruby-operator">&amp;</span> (<span class="ruby-value">2</span><span class="ruby-operator">**</span>(<span class="ruby-identifier">sector</span>)))<span class="ruby-operator">!=</span><span class="ruby-value">0</span>) <span class="ruby-keyword kw">then</span>
27
- <span class="ruby-identifier">free_sectors</span><span class="ruby-operator">&lt;&lt;</span><span class="ruby-constant">DSKTrackSector</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">track</span>,<span class="ruby-identifier">sector</span><span class="ruby-operator">+</span><span class="ruby-value">8</span>)
28
- <span class="ruby-keyword kw">end</span>
29
- <span class="ruby-keyword kw">end</span>
30
- <span class="ruby-keyword kw">end</span>
31
- <span class="ruby-identifier">free_sectors</span>.<span class="ruby-identifier">sort</span>
32
- <span class="ruby-keyword kw">end</span></pre>
33
- </body>
34
- </html>
@@ -1,27 +0,0 @@
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_sector_list (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 251</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_track_sector_list</span>(<span class="ruby-identifier">ts_list_track_no</span>,<span class="ruby-identifier">ts_list_sector_no</span>)
15
- <span class="ruby-identifier">ts_list_sector</span>=<span class="ruby-identifier">get_sector</span>(<span class="ruby-identifier">ts_list_track_no</span>,<span class="ruby-identifier">ts_list_sector_no</span>)
16
- <span class="ruby-identifier">ts_list</span>=[]
17
- <span class="ruby-keyword kw">for</span> <span class="ruby-identifier">entry_number</span> <span class="ruby-keyword kw">in</span> <span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">121</span>
18
- <span class="ruby-identifier">data_track_no</span>=<span class="ruby-identifier">ts_list_sector</span>[<span class="ruby-identifier">entry_number</span><span class="ruby-operator">*</span><span class="ruby-value">2</span><span class="ruby-operator">+</span><span class="ruby-value">0x0</span><span class="ruby-constant">C</span>]
19
- <span class="ruby-identifier">data_sector_no</span>=<span class="ruby-identifier">ts_list_sector</span>[<span class="ruby-identifier">entry_number</span><span class="ruby-operator">*</span><span class="ruby-value">2</span><span class="ruby-operator">+</span><span class="ruby-value">0x0</span><span class="ruby-constant">D</span>]
20
- <span class="ruby-keyword kw">if</span>( (<span class="ruby-identifier">data_track_no!</span>=<span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">data_sector_no!</span>=<span class="ruby-value">0</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">data_track_no</span><span class="ruby-operator">&lt;</span><span class="ruby-identifier">track_count</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">data_sector_no</span><span class="ruby-operator">&lt;=</span><span class="ruby-value">0x0f</span>) <span class="ruby-keyword kw">then</span>
21
- <span class="ruby-identifier">ts_list</span><span class="ruby-operator">&lt;&lt;</span><span class="ruby-constant">DSKTrackSector</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">data_track_no</span>,<span class="ruby-identifier">data_sector_no</span>)
22
- <span class="ruby-keyword kw">end</span>
23
- <span class="ruby-keyword kw">end</span>
24
- <span class="ruby-identifier">ts_list</span>
25
- <span class="ruby-keyword kw">end</span></pre>
26
- </body>
27
- </html>
@@ -1,43 +0,0 @@
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>delete_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 264</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">delete_file</span>(<span class="ruby-identifier">filename</span>)
15
- <span class="ruby-identifier">this_files_catalog_slot</span>=<span class="ruby-identifier">find_catalog_slot</span>(<span class="ruby-identifier">filename</span>)
16
- <span class="ruby-comment cmt">#if file not in catalog, do nothing</span>
17
- <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">this_files_catalog_slot</span>.<span class="ruby-identifier">nil?</span>
18
- <span class="ruby-identifier">file_descriptive_entry</span>=<span class="ruby-identifier">get_sector</span>(<span class="ruby-identifier">this_files_catalog_slot</span>.<span class="ruby-identifier">track_no</span>,<span class="ruby-identifier">this_files_catalog_slot</span>.<span class="ruby-identifier">sector_no</span>)[<span class="ruby-identifier">this_files_catalog_slot</span>.<span class="ruby-identifier">offset</span><span class="ruby-operator">..</span><span class="ruby-identifier">this_files_catalog_slot</span>.<span class="ruby-identifier">offset</span><span class="ruby-operator">+</span><span class="ruby-value">0x22</span>]
19
-
20
- <span class="ruby-comment cmt">#mark sector as free in sector usage list</span>
21
- <span class="ruby-identifier">sector_usage_bitmap_sector</span>=<span class="ruby-identifier">get_sector</span>(<span class="ruby-value">0x11</span>,<span class="ruby-value">0</span>)
22
- <span class="ruby-identifier">sectors_to_mark_available</span>=<span class="ruby-identifier">get_track_sector_list</span>(<span class="ruby-identifier">file_descriptive_entry</span>[<span class="ruby-value">0x00</span>],<span class="ruby-identifier">file_descriptive_entry</span>[<span class="ruby-value">0x01</span>])
23
- <span class="ruby-identifier">sectors_to_mark_available</span><span class="ruby-operator">&lt;&lt;</span><span class="ruby-constant">DSKTrackSector</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">file_descriptive_entry</span>[<span class="ruby-value">0x01</span>],<span class="ruby-identifier">file_descriptive_entry</span>[<span class="ruby-value">0x00</span>])
24
-
25
- <span class="ruby-identifier">sectors_to_mark_available</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ts</span><span class="ruby-operator">|</span>
26
- <span class="ruby-identifier">offset_of_byte_containing_this_sector</span>=<span class="ruby-value">0x38</span><span class="ruby-operator">+</span>(<span class="ruby-identifier">ts</span>.<span class="ruby-identifier">track_no</span><span class="ruby-operator">*</span><span class="ruby-value">4</span>)
27
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">ts</span>.<span class="ruby-identifier">sector_no</span><span class="ruby-operator">&lt;</span><span class="ruby-value">8</span> <span class="ruby-keyword kw">then</span>
28
- <span class="ruby-identifier">offset_of_byte_containing_this_sector</span><span class="ruby-operator">+=</span><span class="ruby-value">1</span>
29
- <span class="ruby-keyword kw">end</span>
30
- <span class="ruby-identifier">byte_containing_this_sector</span>=<span class="ruby-identifier">sector_usage_bitmap_sector</span>[<span class="ruby-identifier">offset_of_byte_containing_this_sector</span>]
31
- <span class="ruby-identifier">byte_containing_this_sector</span>=<span class="ruby-identifier">byte_containing_this_sector</span><span class="ruby-operator">|</span>(<span class="ruby-value">2</span><span class="ruby-operator">**</span>(<span class="ruby-identifier">ts</span>.<span class="ruby-identifier">sector_no</span><span class="ruby-operator">%</span><span class="ruby-value">8</span>))
32
- <span class="ruby-identifier">sector_usage_bitmap_sector</span>[<span class="ruby-identifier">offset_of_byte_containing_this_sector</span>]=<span class="ruby-identifier">byte_containing_this_sector</span>
33
- <span class="ruby-keyword kw">end</span>
34
- <span class="ruby-identifier">set_sector</span>(<span class="ruby-value">0x11</span>,<span class="ruby-value">0</span>,<span class="ruby-identifier">sector_usage_bitmap_sector</span>)
35
-
36
- <span class="ruby-comment cmt">#mark slot as available in catalog</span>
37
- <span class="ruby-identifier">catalog_sector</span>=<span class="ruby-identifier">get_sector</span>(<span class="ruby-identifier">this_files_catalog_slot</span>.<span class="ruby-identifier">track_no</span>,<span class="ruby-identifier">this_files_catalog_slot</span>.<span class="ruby-identifier">sector_no</span>)
38
- <span class="ruby-identifier">catalog_sector</span>[<span class="ruby-identifier">this_files_catalog_slot</span>.<span class="ruby-identifier">offset</span><span class="ruby-operator">+</span><span class="ruby-value">0x20</span>]=<span class="ruby-identifier">catalog_sector</span>[<span class="ruby-identifier">this_files_catalog_slot</span>.<span class="ruby-identifier">offset</span>] <span class="ruby-comment cmt">#save the current &quot;first track no&quot; in last byte of filename</span>
39
- <span class="ruby-identifier">catalog_sector</span>[<span class="ruby-identifier">this_files_catalog_slot</span>.<span class="ruby-identifier">offset</span>]=<span class="ruby-value">0x</span><span class="ruby-constant">FF</span>
40
- <span class="ruby-identifier">set_sector</span>(<span class="ruby-identifier">this_files_catalog_slot</span>.<span class="ruby-identifier">track_no</span>,<span class="ruby-identifier">this_files_catalog_slot</span>.<span class="ruby-identifier">sector_no</span>,<span class="ruby-identifier">catalog_sector</span>)
41
- <span class="ruby-keyword kw">end</span></pre>
42
- </body>
43
- </html>
@@ -1,31 +0,0 @@
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_sector (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 294</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set_sector</span>(<span class="ruby-identifier">track</span>,<span class="ruby-identifier">sector</span>,<span class="ruby-identifier">contents</span>)
15
- <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">track</span>,<span class="ruby-identifier">sector</span>,<span class="ruby-identifier">contents</span>)
16
-
17
- <span class="ruby-comment cmt">#now mark sector as used in sector usage list </span>
18
- <span class="ruby-keyword kw">if</span> ((<span class="ruby-identifier">track!</span>=<span class="ruby-value">0x11</span>) <span class="ruby-operator">||</span> (<span class="ruby-identifier">sector!</span>=<span class="ruby-value">00</span>)) <span class="ruby-keyword kw">then</span> <span class="ruby-comment cmt">#don't bother marking the VTOC sectors used</span>
19
- <span class="ruby-identifier">sector_usage_bitmap_sector</span>=<span class="ruby-identifier">get_sector</span>(<span class="ruby-value">0x11</span>,<span class="ruby-value">0</span>)
20
- <span class="ruby-identifier">offset_of_byte_containing_this_sector</span>=<span class="ruby-value">0x38</span><span class="ruby-operator">+</span>(<span class="ruby-identifier">track</span><span class="ruby-operator">*</span><span class="ruby-value">4</span>)
21
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">sector</span><span class="ruby-operator">&lt;</span><span class="ruby-value">8</span> <span class="ruby-keyword kw">then</span>
22
- <span class="ruby-identifier">offset_of_byte_containing_this_sector</span><span class="ruby-operator">+=</span><span class="ruby-value">1</span>
23
- <span class="ruby-keyword kw">end</span>
24
- <span class="ruby-identifier">byte_containing_this_sector</span>=<span class="ruby-identifier">sector_usage_bitmap_sector</span>[<span class="ruby-identifier">offset_of_byte_containing_this_sector</span>]
25
- <span class="ruby-identifier">byte_containing_this_sector</span>=<span class="ruby-identifier">byte_containing_this_sector</span><span class="ruby-operator">&amp;</span>(<span class="ruby-value">0xff</span><span class="ruby-operator">-</span>(<span class="ruby-value">2</span><span class="ruby-operator">**</span>(<span class="ruby-identifier">sector</span><span class="ruby-operator">%</span><span class="ruby-value">8</span>)))
26
- <span class="ruby-identifier">sector_usage_bitmap_sector</span>[<span class="ruby-identifier">offset_of_byte_containing_this_sector</span>]=<span class="ruby-identifier">byte_containing_this_sector</span>
27
- <span class="ruby-identifier">set_sector</span>(<span class="ruby-value">0x11</span>,<span class="ruby-value">0</span>,<span class="ruby-identifier">sector_usage_bitmap_sector</span>)
28
- <span class="ruby-keyword kw">end</span>
29
- <span class="ruby-keyword kw">end</span></pre>
30
- </body>
31
- </html>
@@ -1,95 +0,0 @@
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>add_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 312</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_file</span>(<span class="ruby-identifier">file</span>)
15
- <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;only DOSFiles may be added to DOS format disks!&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">file</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">DOSFile</span>)
16
-
17
- <span class="ruby-comment cmt">#if this file exists, delete it first</span>
18
- <span class="ruby-identifier">delete_file</span>(<span class="ruby-identifier">file</span>.<span class="ruby-identifier">filename</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">files</span>[<span class="ruby-identifier">file</span>.<span class="ruby-identifier">filename</span>].<span class="ruby-identifier">nil?</span>
19
- <span class="ruby-identifier">catalog_slot</span>=<span class="ruby-identifier">find_catalog_slot</span>(<span class="ruby-keyword kw">nil</span>)
20
- <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;CATALOG IS FULL!&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">catalog_slot</span>.<span class="ruby-identifier">nil?</span>
21
- <span class="ruby-identifier">free_sectors</span>=<span class="ruby-identifier">free_sector_list</span>
22
- <span class="ruby-identifier">sectors_needed</span>=<span class="ruby-value">1</span><span class="ruby-operator">+</span><span class="ruby-identifier">file</span>.<span class="ruby-identifier">length_in_sectors</span>
23
- <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;not enough free space - #{sectors_needed} sectors needed, #{free_sector_list.length} available &quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">sectors_needed</span><span class="ruby-operator">&lt;=</span><span class="ruby-identifier">free_sectors</span>.<span class="ruby-identifier">length</span>
24
-
25
- <span class="ruby-comment cmt">#TODO - allow files of more than 122 sectors</span>
26
- <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;only files up to 122 sectors currently supported &quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">sectors_needed</span><span class="ruby-operator">&gt;</span><span class="ruby-value">122</span>
27
-
28
- <span class="ruby-comment cmt">#TRACK/SECTOR LIST FORMAT (from Beneath Apple DOS p 4-6)</span>
29
- <span class="ruby-comment cmt"># 00 Not used</span>
30
- <span class="ruby-comment cmt"># 01 Track number of next T/S list of one is needed or zero if no more t/s list</span>
31
- <span class="ruby-comment cmt"># 02 Sector number of next T/S list (if one is present)</span>
32
- <span class="ruby-comment cmt"># 03-04 Not used</span>
33
- <span class="ruby-comment cmt"># 05-06 Sector offset in file of the first sector described by this list</span>
34
- <span class="ruby-comment cmt"># 07-oB Not used</span>
35
- <span class="ruby-comment cmt"># 0C-0D Track and sector of first data sector or zeros</span>
36
- <span class="ruby-comment cmt"># 0E-0F Track and sector of second data sector or zeros</span>
37
- <span class="ruby-comment cmt"># 10-FF Up to 120 more track and sector pairs</span>
38
- <span class="ruby-identifier">track_sector_list</span>=<span class="ruby-value str">&quot;\0&quot;</span><span class="ruby-operator">*</span><span class="ruby-value">256</span>
39
- <span class="ruby-identifier">track_sector_list_sector</span>=<span class="ruby-identifier">free_sectors</span>[<span class="ruby-value">0</span>]
40
-
41
- (<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-identifier">sectors_needed</span><span class="ruby-operator">-</span><span class="ruby-value">2</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">sector_in_file</span><span class="ruby-operator">|</span>
42
- <span class="ruby-identifier">sector_to_use</span>=<span class="ruby-identifier">free_sectors</span>[<span class="ruby-identifier">sector_in_file</span><span class="ruby-operator">+</span><span class="ruby-value">1</span>]
43
- <span class="ruby-identifier">track_sector_list</span>[(<span class="ruby-identifier">sector_in_file</span><span class="ruby-operator">*</span><span class="ruby-value">2</span>)<span class="ruby-operator">+</span><span class="ruby-value">0x0</span><span class="ruby-constant">C</span>]=<span class="ruby-identifier">sector_to_use</span>.<span class="ruby-identifier">track_no</span>
44
- <span class="ruby-identifier">track_sector_list</span>[(<span class="ruby-identifier">sector_in_file</span><span class="ruby-operator">*</span><span class="ruby-value">2</span>)<span class="ruby-operator">+</span><span class="ruby-value">0</span><span class="ruby-constant">X0D</span>]=<span class="ruby-identifier">sector_to_use</span>.<span class="ruby-identifier">sector_no</span>
45
- <span class="ruby-identifier">sector_contents</span>=<span class="ruby-identifier">file</span>.<span class="ruby-identifier">contents</span>[(<span class="ruby-identifier">sector_in_file</span><span class="ruby-operator">*</span><span class="ruby-value">256</span>)<span class="ruby-operator">..</span>(<span class="ruby-identifier">sector_in_file</span><span class="ruby-operator">*</span><span class="ruby-value">256</span>)<span class="ruby-operator">+</span><span class="ruby-value">255</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">&quot;&quot;</span>
46
- <span class="ruby-identifier">set_sector</span>(<span class="ruby-identifier">sector_to_use</span>.<span class="ruby-identifier">track_no</span>,<span class="ruby-identifier">sector_to_use</span>.<span class="ruby-identifier">sector_no</span>,<span class="ruby-identifier">sector_contents</span>)
47
- <span class="ruby-keyword kw">end</span>
48
- <span class="ruby-comment cmt">#write the track/sector list</span>
49
- <span class="ruby-identifier">set_sector</span>(<span class="ruby-identifier">track_sector_list_sector</span>.<span class="ruby-identifier">track_no</span>,<span class="ruby-identifier">track_sector_list_sector</span>.<span class="ruby-identifier">sector_no</span>,<span class="ruby-identifier">track_sector_list</span>)
50
-
51
- <span class="ruby-comment cmt">#update the catalog file descriptive entry</span>
52
- <span class="ruby-comment cmt">#FILE DESCRIPTIVE ENTRY (from Beneath Apple DOS p 4-6)</span>
53
- <span class="ruby-comment cmt"># 00 Track of first track/sector list sector, if this is a deleted file this contains FF</span>
54
- <span class="ruby-comment cmt"># and the original track number is copied to the last byte of the file name (BYTE 20)</span>
55
- <span class="ruby-comment cmt"># If this byte contains a 00, the entry is assumed to never have been used and is</span>
56
- <span class="ruby-comment cmt"># available for use. (This means track 0 can never be used for data even if the DOS image</span>
57
- <span class="ruby-comment cmt"># is 'wiped' from the disk)</span>
58
- <span class="ruby-comment cmt">#</span>
59
- <span class="ruby-comment cmt"># 01 Sector of first track/sector list sector</span>
60
- <span class="ruby-comment cmt"># 02 File type and flags:</span>
61
- <span class="ruby-comment cmt"># 80+file type - file is locked</span>
62
- <span class="ruby-comment cmt"># 00+file type - file is not locked</span>
63
- <span class="ruby-comment cmt">#</span>
64
- <span class="ruby-comment cmt"># 00 - TEXT file</span>
65
- <span class="ruby-comment cmt"># 01 - INTEGER BASIC file</span>
66
- <span class="ruby-comment cmt"># 02 - APPLESOFT BASIC file</span>
67
- <span class="ruby-comment cmt"># 04 - BINARY file</span>
68
- <span class="ruby-comment cmt"># 08 - S type file</span>
69
- <span class="ruby-comment cmt"># 10 - RELOCATABLE object module file</span>
70
- <span class="ruby-comment cmt"># 20 - a type file</span>
71
- <span class="ruby-comment cmt"># 40 - b type file</span>
72
- <span class="ruby-comment cmt">#</span>
73
- <span class="ruby-comment cmt"># 03-20 File Name (30 characters)</span>
74
- <span class="ruby-comment cmt"># 21-22 Length of file in sectors (LO/HI format)</span>
75
-
76
- <span class="ruby-identifier">catalog_sector</span>=<span class="ruby-identifier">get_sector</span>(<span class="ruby-identifier">catalog_slot</span>.<span class="ruby-identifier">track_no</span>,<span class="ruby-identifier">catalog_slot</span>.<span class="ruby-identifier">sector_no</span>)
77
- <span class="ruby-identifier">file_descriptive_entry</span>=<span class="ruby-value str">&quot;\0&quot;</span><span class="ruby-operator">*</span><span class="ruby-value">0x23</span>
78
- <span class="ruby-identifier">file_descriptive_entry</span>[<span class="ruby-value">0</span>]=<span class="ruby-identifier">track_sector_list_sector</span>.<span class="ruby-identifier">track_no</span>
79
- <span class="ruby-identifier">file_descriptive_entry</span>[<span class="ruby-value">1</span>]=<span class="ruby-identifier">track_sector_list_sector</span>.<span class="ruby-identifier">sector_no</span>
80
- <span class="ruby-identifier">file_descriptive_entry</span>[<span class="ruby-value">2</span>]=<span class="ruby-identifier">file</span>.<span class="ruby-identifier">file_type_byte</span>
81
- <span class="ruby-identifier">file_descriptive_entry</span>[<span class="ruby-value">3</span><span class="ruby-operator">..</span><span class="ruby-value">0x20</span>]=<span class="ruby-identifier">file</span>.<span class="ruby-identifier">catalog_filename</span>
82
- <span class="ruby-identifier">file_descriptive_entry</span>[<span class="ruby-value">0x21</span>]=(<span class="ruby-identifier">sectors_needed</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>)<span class="ruby-operator">%</span><span class="ruby-value">256</span>
83
- <span class="ruby-identifier">file_descriptive_entry</span>[<span class="ruby-value">0x22</span>]=(<span class="ruby-identifier">sectors_needed</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>)<span class="ruby-operator">/</span><span class="ruby-value">256</span>
84
-
85
- <span class="ruby-identifier">catalog_sector</span>[<span class="ruby-identifier">catalog_slot</span>.<span class="ruby-identifier">offset</span><span class="ruby-operator">..</span><span class="ruby-identifier">catalog_slot</span>.<span class="ruby-identifier">offset</span><span class="ruby-operator">+</span><span class="ruby-value">0x22</span>]=<span class="ruby-identifier">file_descriptive_entry</span>
86
-
87
- <span class="ruby-identifier">set_sector</span>(<span class="ruby-identifier">catalog_slot</span>.<span class="ruby-identifier">track_no</span>,<span class="ruby-identifier">catalog_slot</span>.<span class="ruby-identifier">sector_no</span>,<span class="ruby-identifier">catalog_sector</span>)
88
-
89
- <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;catalog not updated correctly!&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">find_catalog_slot</span>(<span class="ruby-identifier">file</span>.<span class="ruby-identifier">filename</span>).<span class="ruby-identifier">nil?</span>
90
- <span class="ruby-comment cmt">#reread the catalog to populate the files list</span>
91
- <span class="ruby-identifier">read_vtoc</span>
92
-
93
- <span class="ruby-keyword kw">end</span></pre>
94
- </body>
95
- </html>