dsktool 0.4.2 → 0.5.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 (417) hide show
  1. data/bin/dskexplorer.rb +1 -1
  2. data/bin/dskexplorer.rb~ +365 -0
  3. data/bin/dsktool.rb +7 -3
  4. data/bin/dsktool.rb~ +173 -0
  5. data/doc/classes/AppleSoftFile.html +199 -0
  6. data/doc/classes/AppleSoftFile.src/M000005.html +18 -0
  7. data/doc/classes/AppleSoftFile.src/M000006.html +18 -0
  8. data/doc/classes/AppleSoftFile.src/M000008.html +18 -0
  9. data/doc/classes/AppleSoftFile.src/M000009.html +18 -0
  10. data/doc/classes/AppleSoftFile.src/M000010.html +18 -0
  11. data/doc/classes/AppleSoftFile.src/M000055.html +18 -0
  12. data/doc/classes/AppleSoftFile.src/M000056.html +18 -0
  13. data/doc/classes/AppleSoftFile.src/M000057.html +18 -0
  14. data/doc/classes/AppleSoftFile.src/M000058.html +18 -0
  15. data/doc/classes/BinaryFile.html +241 -0
  16. data/doc/classes/BinaryFile.src/M000015.html +18 -0
  17. data/doc/classes/BinaryFile.src/M000020.html +18 -0
  18. data/doc/classes/BinaryFile.src/M000021.html +18 -0
  19. data/doc/classes/BinaryFile.src/M000022.html +19 -0
  20. data/doc/classes/BinaryFile.src/M000107.html +18 -0
  21. data/doc/classes/BinaryFile.src/M000108.html +18 -0
  22. data/doc/classes/BinaryFile.src/M000109.html +18 -0
  23. data/doc/classes/BinaryFile.src/M000110.html +19 -0
  24. data/doc/classes/BinaryFile.src/M000111.html +19 -0
  25. data/doc/classes/BinaryFile.src/M000112.html +19 -0
  26. data/doc/classes/BinaryFile.src/M000113.html +18 -0
  27. data/doc/classes/CPMDisk.html +331 -0
  28. data/doc/classes/CPMDisk.src/M000024.html +21 -0
  29. data/doc/classes/CPMDisk.src/M000025.html +23 -0
  30. data/doc/classes/CPMDisk.src/M000026.html +23 -0
  31. data/doc/classes/CPMDisk.src/M000027.html +19 -0
  32. data/doc/classes/CPMDisk.src/M000028.html +18 -0
  33. data/doc/classes/CPMDisk.src/M000029.html +18 -0
  34. data/doc/classes/CPMDisk.src/M000030.html +31 -0
  35. data/doc/classes/CPMDisk.src/M000031.html +51 -0
  36. data/doc/classes/CPMDisk.src/M000032.html +53 -0
  37. data/doc/classes/CPMFile.html +252 -0
  38. data/doc/classes/CPMFile.src/M000064.html +22 -0
  39. data/doc/classes/CPMFile.src/M000065.html +20 -0
  40. data/doc/classes/CPMFile.src/M000066.html +22 -0
  41. data/doc/classes/CPMFile.src/M000067.html +18 -0
  42. data/doc/classes/CPMFile.src/M000068.html +18 -0
  43. data/doc/classes/CPMFile.src/M000069.html +18 -0
  44. data/doc/classes/CPMFile.src/M000070.html +18 -0
  45. data/doc/classes/CatalogServlet.html +148 -0
  46. data/doc/classes/CatalogServlet.src/M000035.html +20 -0
  47. data/doc/classes/CatalogServlet.src/M000036.html +20 -0
  48. data/doc/classes/D65.html +180 -0
  49. data/doc/classes/D65.src/M000002.html +18 -0
  50. data/doc/classes/D65.src/M000003.html +18 -0
  51. data/doc/classes/D65.src/M000004.html +64 -0
  52. data/doc/classes/D65.src/M000005.html +18 -0
  53. data/doc/classes/D65.src/M000006.html +18 -0
  54. data/doc/classes/D65.src/M000007.html +18 -0
  55. data/doc/classes/D65.src/M000008.html +18 -0
  56. data/doc/classes/D65.src/M000048.html +18 -0
  57. data/doc/classes/D65.src/M000049.html +64 -0
  58. data/doc/classes/DOSDisk.html +425 -0
  59. data/doc/classes/DOSDisk.src/M000007.html +20 -0
  60. data/doc/classes/DOSDisk.src/M000008.html +77 -0
  61. data/doc/classes/DOSDisk.src/M000010.html +20 -0
  62. data/doc/classes/DOSDisk.src/M000011.html +20 -0
  63. data/doc/classes/DOSDisk.src/M000012.html +19 -0
  64. data/doc/classes/DOSDisk.src/M000013.html +20 -0
  65. data/doc/classes/DOSDisk.src/M000053.html +23 -0
  66. data/doc/classes/DOSDisk.src/M000054.html +19 -0
  67. data/doc/classes/DOSDisk.src/M000055.html +21 -0
  68. data/doc/classes/DOSDisk.src/M000056.html +37 -0
  69. data/doc/classes/DOSDisk.src/M000057.html +85 -0
  70. data/doc/classes/DOSDisk.src/M000058.html +37 -0
  71. data/doc/classes/DOSDisk.src/M000059.html +34 -0
  72. data/doc/classes/DOSDisk.src/M000060.html +27 -0
  73. data/doc/classes/DOSDisk.src/M000061.html +43 -0
  74. data/doc/classes/DOSDisk.src/M000062.html +31 -0
  75. data/doc/classes/DOSDisk.src/M000063.html +95 -0
  76. data/doc/classes/DOSDisk.src/M000064.html +85 -0
  77. data/doc/classes/DOSDisk.src/M000065.html +37 -0
  78. data/doc/classes/DOSDisk.src/M000066.html +34 -0
  79. data/doc/classes/DOSDisk.src/M000067.html +27 -0
  80. data/doc/classes/DOSDisk.src/M000068.html +43 -0
  81. data/doc/classes/DOSDisk.src/M000069.html +31 -0
  82. data/doc/classes/DOSDisk.src/M000070.html +95 -0
  83. data/doc/classes/DOSFile.html +253 -0
  84. data/doc/classes/DOSFile.src/M000016.html +22 -0
  85. data/doc/classes/DOSFile.src/M000017.html +17 -0
  86. data/doc/classes/DOSFile.src/M000018.html +18 -0
  87. data/doc/classes/DOSFile.src/M000021.html +22 -0
  88. data/doc/classes/DOSFile.src/M000022.html +22 -0
  89. data/doc/classes/DOSFile.src/M000023.html +22 -0
  90. data/doc/classes/DOSFile.src/M000024.html +17 -0
  91. data/doc/classes/DOSFile.src/M000025.html +18 -0
  92. data/doc/classes/DOSFile.src/M000116.html +22 -0
  93. data/doc/classes/DOSFile.src/M000117.html +18 -0
  94. data/doc/classes/DOSFile.src/M000118.html +18 -0
  95. data/doc/classes/DOSFile.src/M000119.html +28 -0
  96. data/doc/classes/DOSFile.src/M000120.html +18 -0
  97. data/doc/classes/DSK.html +633 -0
  98. data/doc/classes/DSK.src/M000009.html +22 -0
  99. data/doc/classes/DSK.src/M000010.html +27 -0
  100. data/doc/classes/DSK.src/M000011.html +19 -0
  101. data/doc/classes/DSK.src/M000012.html +18 -0
  102. data/doc/classes/DSK.src/M000013.html +22 -0
  103. data/doc/classes/DSK.src/M000014.html +22 -0
  104. data/doc/classes/DSK.src/M000015.html +22 -0
  105. data/doc/classes/DSK.src/M000016.html +22 -0
  106. data/doc/classes/DSK.src/M000017.html +22 -0
  107. data/doc/classes/DSK.src/M000018.html +22 -0
  108. data/doc/classes/DSK.src/M000019.html +22 -0
  109. data/doc/classes/DSK.src/M000020.html +34 -0
  110. data/doc/classes/DSK.src/M000079.html +19 -0
  111. data/doc/classes/DSK.src/M000080.html +19 -0
  112. data/doc/classes/DSK.src/M000081.html +18 -0
  113. data/doc/classes/DSK.src/M000082.html +18 -0
  114. data/doc/classes/DSK.src/M000083.html +18 -0
  115. data/doc/classes/DSK.src/M000084.html +18 -0
  116. data/doc/classes/DSK.src/M000085.html +18 -0
  117. data/doc/classes/DSK.src/M000086.html +25 -0
  118. data/doc/classes/DSK.src/M000087.html +19 -0
  119. data/doc/classes/DSK.src/M000088.html +20 -0
  120. data/doc/classes/DSK.src/M000089.html +35 -0
  121. data/doc/classes/DSK.src/M000090.html +22 -0
  122. data/doc/classes/DSK.src/M000091.html +22 -0
  123. data/doc/classes/DSK.src/M000092.html +27 -0
  124. data/doc/classes/DSK.src/M000093.html +25 -0
  125. data/doc/classes/DSK.src/M000094.html +33 -0
  126. data/doc/classes/DSK.src/M000095.html +66 -0
  127. data/doc/classes/DSK.src/M000096.html +33 -0
  128. data/doc/classes/DSK.src/M000097.html +22 -0
  129. data/doc/classes/DSK.src/M000098.html +23 -0
  130. data/doc/classes/DSK.src/M000099.html +24 -0
  131. data/doc/classes/DSK.src/M000100.html +21 -0
  132. data/doc/classes/DSK.src/M000101.html +18 -0
  133. data/doc/classes/DSK.src/M000102.html +24 -0
  134. data/doc/classes/DSK.src/M000103.html +24 -0
  135. data/doc/classes/DSK.src/M000104.html +24 -0
  136. data/doc/classes/DSKFile.html +328 -0
  137. data/doc/classes/DSKFile.src/M000071.html +19 -0
  138. data/doc/classes/DSKFile.src/M000072.html +18 -0
  139. data/doc/classes/DSKFile.src/M000073.html +23 -0
  140. data/doc/classes/DSKFile.src/M000074.html +25 -0
  141. data/doc/classes/DSKFile.src/M000075.html +18 -0
  142. data/doc/classes/DSKFile.src/M000076.html +18 -0
  143. data/doc/classes/DSKFile.src/M000077.html +18 -0
  144. data/doc/classes/DSKFile.src/M000078.html +18 -0
  145. data/doc/classes/DSKFile.src/M000079.html +50 -0
  146. data/doc/classes/DSKTrackSector.html +199 -0
  147. data/doc/classes/DSKTrackSector.src/M000045.html +20 -0
  148. data/doc/classes/DSKTrackSector.src/M000046.html +18 -0
  149. data/doc/classes/DSKTrackSector.src/M000047.html +21 -0
  150. data/doc/classes/DSKTrackSector.src/M000049.html +20 -0
  151. data/doc/classes/DSKTrackSector.src/M000050.html +18 -0
  152. data/doc/classes/DSKTrackSector.src/M000051.html +21 -0
  153. data/doc/classes/DirectoryServlet.html +148 -0
  154. data/doc/classes/DirectoryServlet.src/M000041.html +20 -0
  155. data/doc/classes/DirectoryServlet.src/M000044.html +20 -0
  156. data/doc/classes/DumpUtilities.html +158 -0
  157. data/doc/classes/DumpUtilities.src/M000050.html +33 -0
  158. data/doc/classes/DumpUtilities.src/M000051.html +23 -0
  159. data/doc/classes/HGR.html +232 -0
  160. data/doc/classes/HGR.src/M000114.html +29 -0
  161. data/doc/classes/HGR.src/M000115.html +56 -0
  162. data/doc/classes/IntegerBasicFile.html +293 -0
  163. data/doc/classes/IntegerBasicFile.src/M000001.html +18 -0
  164. data/doc/classes/IntegerBasicFile.src/M000004.html +18 -0
  165. data/doc/classes/IntegerBasicFile.src/M000005.html +18 -0
  166. data/doc/classes/IntegerBasicFile.src/M000036.html +18 -0
  167. data/doc/classes/IntegerBasicFile.src/M000037.html +18 -0
  168. data/doc/classes/IntegerBasicFile.src/M000038.html +18 -0
  169. data/doc/classes/IntegerBasicFile.src/M000039.html +18 -0
  170. data/doc/classes/MBASICFile.html +202 -0
  171. data/doc/classes/MBASICFile.src/M000033.html +22 -0
  172. data/doc/classes/MBASICFile.src/M000034.html +30 -0
  173. data/doc/classes/MBASICFile.src/M000035.html +94 -0
  174. data/doc/classes/NADOLBinaryFile.html +184 -0
  175. data/doc/classes/NADOLBinaryFile.src/M000052.html +19 -0
  176. data/doc/classes/NADOLBinaryFile.src/M000053.html +18 -0
  177. data/doc/classes/NADOLBinaryFile.src/M000054.html +18 -0
  178. data/doc/classes/NADOLDisk.html +324 -0
  179. data/doc/classes/NADOLDisk.src/M000014.html +23 -0
  180. data/doc/classes/NADOLDisk.src/M000015.html +19 -0
  181. data/doc/classes/NADOLDisk.src/M000016.html +18 -0
  182. data/doc/classes/NADOLDisk.src/M000017.html +29 -0
  183. data/doc/classes/NADOLDisk.src/M000018.html +34 -0
  184. data/doc/classes/NADOLDisk.src/M000019.html +32 -0
  185. data/doc/classes/NADOLDisk.src/M000020.html +22 -0
  186. data/doc/classes/NADOLDisk.src/M000021.html +38 -0
  187. data/doc/classes/NADOLDisk.src/M000022.html +27 -0
  188. data/doc/classes/NADOLDisk.src/M000023.html +53 -0
  189. data/doc/classes/NADOLDisk.src/M000024.html +46 -0
  190. data/doc/classes/NADOLFile.html +189 -0
  191. data/doc/classes/NADOLFile.src/M000042.html +18 -0
  192. data/doc/classes/NADOLFile.src/M000043.html +18 -0
  193. data/doc/classes/NADOLFile.src/M000044.html +28 -0
  194. data/doc/classes/NADOLTokenisedFile.html +231 -0
  195. data/doc/classes/NADOLTokenisedFile.src/M000124.html +28 -0
  196. data/doc/classes/NADOLTokenisedFile.src/M000125.html +49 -0
  197. data/doc/classes/NADOLTokenisedFile.src/M000126.html +18 -0
  198. data/doc/classes/NADOLTokenisedFile.src/M000127.html +18 -0
  199. data/doc/classes/Nibbles.html +231 -0
  200. data/doc/classes/Nibbles.src/M000110.html +18 -0
  201. data/doc/classes/Nibbles.src/M000111.html +20 -0
  202. data/doc/classes/Nibbles.src/M000112.html +18 -0
  203. data/doc/classes/Nibbles.src/M000113.html +101 -0
  204. data/doc/classes/PNG.html +151 -0
  205. data/doc/classes/PNG.src/M000123.html +26 -0
  206. data/doc/classes/SCAsmFile.html +242 -0
  207. data/doc/classes/SCAsmFile.src/M000102.html +18 -0
  208. data/doc/classes/SCAsmFile.src/M000103.html +18 -0
  209. data/doc/classes/SCAsmFile.src/M000104.html +18 -0
  210. data/doc/classes/SCAsmFile.src/M000105.html +18 -0
  211. data/doc/classes/SCAsmFile.src/M000106.html +39 -0
  212. data/doc/classes/ShowFileServlet.html +148 -0
  213. data/doc/classes/ShowFileServlet.src/M000052.html +22 -0
  214. data/doc/classes/ShowFileServlet.src/M000059.html +22 -0
  215. data/doc/classes/ShowPNGServlet.html +148 -0
  216. data/doc/classes/ShowPNGServlet.src/M000101.html +26 -0
  217. data/doc/classes/ShowPNGServlet.src/M000105.html +26 -0
  218. data/doc/classes/ShowSectorServlet.html +148 -0
  219. data/doc/classes/ShowSectorServlet.src/M000040.html +22 -0
  220. data/doc/classes/ShowSectorServlet.src/M000043.html +22 -0
  221. data/doc/classes/TestCPMDisks.html +159 -0
  222. data/doc/classes/TestCPMDisks.src/M000037.html +19 -0
  223. data/doc/classes/TestCPMDisks.src/M000038.html +57 -0
  224. data/doc/classes/TestDOSDisks.html +279 -0
  225. data/doc/classes/TestDOSDisks.src/M000001.html +19 -0
  226. data/doc/classes/TestDOSDisks.src/M000002.html +19 -0
  227. data/doc/classes/TestDOSDisks.src/M000003.html +25 -0
  228. data/doc/classes/TestDOSDisks.src/M000014.html +26 -0
  229. data/doc/classes/TestDOSDisks.src/M000015.html +19 -0
  230. data/doc/classes/TestDOSDisks.src/M000016.html +62 -0
  231. data/doc/classes/TestDOSDisks.src/M000017.html +22 -0
  232. data/doc/classes/TestDOSDisks.src/M000018.html +20 -0
  233. data/doc/classes/TestDOSDisks.src/M000019.html +19 -0
  234. data/doc/classes/TestDOSDisks.src/M000020.html +25 -0
  235. data/doc/classes/TestDOSDisks.src/M000021.html +47 -0
  236. data/doc/classes/TestDOSDisks.src/M000022.html +28 -0
  237. data/doc/classes/TestDOSDisks.src/M000023.html +28 -0
  238. data/doc/classes/TestDOSDisks.src/M000025.html +26 -0
  239. data/doc/classes/TestDOSDisks.src/M000026.html +19 -0
  240. data/doc/classes/TestDOSDisks.src/M000027.html +62 -0
  241. data/doc/classes/TestDOSDisks.src/M000028.html +22 -0
  242. data/doc/classes/TestDOSDisks.src/M000029.html +20 -0
  243. data/doc/classes/TestDOSDisks.src/M000030.html +19 -0
  244. data/doc/classes/TestDOSDisks.src/M000031.html +25 -0
  245. data/doc/classes/TestDOSDisks.src/M000032.html +47 -0
  246. data/doc/classes/TestDOSDisks.src/M000033.html +28 -0
  247. data/doc/classes/TestDOSDisks.src/M000034.html +28 -0
  248. data/doc/classes/TestDisassembly.html +144 -0
  249. data/doc/classes/TestDisassembly.src/M000005.html +19 -0
  250. data/doc/classes/TestDisassembly.src/M000006.html +19 -0
  251. data/doc/classes/TestDisassembly.src/M000039.html +19 -0
  252. data/doc/classes/TestModifiedDOSDisks.html +193 -0
  253. data/doc/classes/TestModifiedDOSDisks.src/M000045.html +24 -0
  254. data/doc/classes/TestModifiedDOSDisks.src/M000046.html +27 -0
  255. data/doc/classes/TestModifiedDOSDisks.src/M000047.html +24 -0
  256. data/doc/classes/TestModifiedDOSDisks.src/M000048.html +27 -0
  257. data/doc/classes/TestNADOLDisks.html +193 -0
  258. data/doc/classes/TestNADOLDisks.src/M000106.html +22 -0
  259. data/doc/classes/TestNADOLDisks.src/M000107.html +72 -0
  260. data/doc/classes/TestNADOLDisks.src/M000108.html +22 -0
  261. data/doc/classes/TestNADOLDisks.src/M000109.html +72 -0
  262. data/doc/classes/TestNADOLDisks.src/M000121.html +22 -0
  263. data/doc/classes/TestNADOLDisks.src/M000122.html +73 -0
  264. data/doc/classes/TestPascalDisks.html +174 -0
  265. data/doc/classes/TestPascalDisks.src/M000040.html +28 -0
  266. data/doc/classes/TestPascalDisks.src/M000041.html +24 -0
  267. data/doc/classes/TestPascalDisks.src/M000042.html +27 -0
  268. data/doc/classes/TestProDOSDisks.html +253 -0
  269. data/doc/classes/TestProDOSDisks.src/M000114.html +28 -0
  270. data/doc/classes/TestProDOSDisks.src/M000115.html +28 -0
  271. data/doc/classes/TestProDOSDisks.src/M000116.html +41 -0
  272. data/doc/classes/TestProDOSDisks.src/M000117.html +28 -0
  273. data/doc/classes/TestProDOSDisks.src/M000118.html +28 -0
  274. data/doc/classes/TestProDOSDisks.src/M000119.html +28 -0
  275. data/doc/classes/TestProDOSDisks.src/M000120.html +41 -0
  276. data/doc/classes/TestProDOSDisks.src/M000121.html +28 -0
  277. data/doc/classes/TextFile.html +196 -0
  278. data/doc/classes/TextFile.src/M000019.html +18 -0
  279. data/doc/classes/TextFile.src/M000020.html +20 -0
  280. data/doc/classes/TextFile.src/M000024.html +18 -0
  281. data/doc/classes/TextFile.src/M000025.html +18 -0
  282. data/doc/classes/TextFile.src/M000026.html +18 -0
  283. data/doc/classes/TextFile.src/M000027.html +20 -0
  284. data/doc/classes/TextFile.src/M000128.html +18 -0
  285. data/doc/classes/TextFile.src/M000129.html +18 -0
  286. data/doc/classes/TextFile.src/M000130.html +18 -0
  287. data/doc/classes/TextFile.src/M000131.html +20 -0
  288. data/doc/created.rid +1 -0
  289. data/doc/dot/f_0.dot +14 -84
  290. data/doc/dot/f_0.png +0 -0
  291. data/doc/dot/f_1.dot +32 -0
  292. data/doc/dot/f_1.png +0 -0
  293. data/doc/dot/f_10.dot +32 -0
  294. data/doc/dot/f_10.png +0 -0
  295. data/doc/dot/f_11.dot +14 -0
  296. data/doc/dot/f_11.png +0 -0
  297. data/doc/dot/f_12.dot +84 -0
  298. data/doc/dot/f_12.png +0 -0
  299. data/doc/dot/f_15.dot +32 -0
  300. data/doc/dot/f_15.png +0 -0
  301. data/doc/dot/f_18.dot +32 -0
  302. data/doc/dot/f_18.png +0 -0
  303. data/doc/dot/f_2.dot +32 -0
  304. data/doc/dot/f_2.png +0 -0
  305. data/doc/dot/f_20.dot +32 -0
  306. data/doc/dot/f_20.png +0 -0
  307. data/doc/dot/f_3.dot +32 -0
  308. data/doc/dot/f_3.png +0 -0
  309. data/doc/dot/f_4.dot +32 -0
  310. data/doc/dot/f_4.png +0 -0
  311. data/doc/dot/f_5.dot +32 -0
  312. data/doc/dot/f_5.png +0 -0
  313. data/doc/dot/f_6.dot +32 -0
  314. data/doc/dot/f_6.png +0 -0
  315. data/doc/dot/f_7.dot +23 -0
  316. data/doc/dot/f_7.png +0 -0
  317. data/doc/dot/f_8.dot +23 -0
  318. data/doc/dot/f_8.png +0 -0
  319. data/doc/dot/f_9.dot +45 -0
  320. data/doc/dot/f_9.png +0 -0
  321. data/doc/files/bin/dskexplorer_rb.html +365 -0
  322. data/doc/files/bin/dskexplorer_rb.src/M000001.html +21 -0
  323. data/doc/files/bin/dskexplorer_rb.src/M000002.html +21 -0
  324. data/doc/files/bin/dskexplorer_rb.src/M000003.html +22 -0
  325. data/doc/files/bin/dskexplorer_rb.src/M000004.html +20 -0
  326. data/doc/files/bin/dskexplorer_rb.src/M000005.html +20 -0
  327. data/doc/files/bin/dskexplorer_rb.src/M000006.html +22 -0
  328. data/doc/files/bin/dskexplorer_rb.src/M000007.html +16 -0
  329. data/doc/files/bin/dskexplorer_rb.src/M000008.html +20 -0
  330. data/doc/files/bin/dskexplorer_rb.src/M000009.html +43 -0
  331. data/doc/files/bin/dskexplorer_rb.src/M000010.html +59 -0
  332. data/doc/files/bin/dskexplorer_rb.src/M000011.html +53 -0
  333. data/doc/files/bin/dskexplorer_rb.src/M000012.html +58 -0
  334. data/doc/files/bin/dskexplorer_rb.src/M000013.html +37 -0
  335. data/doc/files/bin/dsktool_rb.html +276 -0
  336. data/doc/files/bin/romdump_rb.html +189 -0
  337. data/doc/files/dsktool_web/dskexplorer_rb.html +112 -0
  338. data/doc/files/dsktool_web/dskexplorer_web_rb.html +112 -0
  339. data/doc/files/dsktool_web/index_rb.html +112 -0
  340. data/doc/files/lib/CPMDisk_rb.html +115 -0
  341. data/doc/files/lib/CPMFile_rb.html +117 -0
  342. data/doc/files/lib/D65_rb.html +114 -0
  343. data/doc/files/lib/DOSDisk_rb.html +115 -0
  344. data/doc/files/lib/DOSFile_rb.html +122 -0
  345. data/doc/files/lib/DSKFile_rb.html +114 -0
  346. data/doc/files/lib/DSK_rb.html +127 -0
  347. data/doc/files/lib/DumpUtilities_rb.html +107 -0
  348. data/doc/files/lib/HGR_rb.html +122 -0
  349. data/doc/files/lib/NADOLDisk_rb.html +115 -0
  350. data/doc/files/lib/NADOLFile_rb.html +120 -0
  351. data/doc/files/lib/Nibbles_rb.html +114 -0
  352. data/doc/files/test/tc_cpm_disks_rb.html +122 -0
  353. data/doc/files/test/tc_disassembly_rb.html +116 -0
  354. data/doc/files/test/tc_dos_disks_rb.html +122 -0
  355. data/doc/files/test/tc_modified_dos_disks_rb.html +122 -0
  356. data/doc/files/test/tc_nadol_disks_rb.html +122 -0
  357. data/doc/files/test/tc_prodos_disks_rb.html +122 -0
  358. data/doc/files/test/test_dos_disks_rb.html +109 -0
  359. data/doc/files/test/ts_test_all_rb.html +119 -0
  360. data/doc/files/test_bak/hgr_scanlines_rb.html +106 -0
  361. data/doc/files/test_bak/tc_disassembly_rb.html +123 -0
  362. data/doc/files/test_bak/tc_dos_disks_rb.html +122 -0
  363. data/doc/files/test_bak/tc_modified_dos_disks_rb.html +122 -0
  364. data/doc/files/test_bak/tc_nadol_disks_rb.html +122 -0
  365. data/doc/files/test_bak/tc_pascal_disks_rb.html +122 -0
  366. data/doc/files/test_bak/tc_prodos_disks_rb.html +122 -0
  367. data/doc/files/test_bak/ts_test_all_rb.html +118 -0
  368. data/doc/fr_class_index.html +46 -0
  369. data/doc/fr_file_index.html +47 -0
  370. data/doc/fr_method_index.html +147 -0
  371. data/doc/index.html +24 -0
  372. data/doc/rdoc-style.css +208 -0
  373. data/lib/CPMDisk.rb +194 -0
  374. data/lib/CPMFile.rb +344 -0
  375. data/lib/DOSDisk.rb +16 -12
  376. data/lib/DOSDisk.rb~ +201 -0
  377. data/lib/DOSFile.rb~ +402 -0
  378. data/lib/DSK.rb +99 -49
  379. data/lib/DSK.rb~ +226 -0
  380. data/lib/DSKFile.rb +9 -0
  381. data/lib/DSKFile.rb~ +137 -0
  382. data/lib/HGR.rb~ +157 -0
  383. data/lib/NADOLDisk.rb~ +104 -0
  384. data/lib/NADOLFile.rb~ +225 -0
  385. data/lib/Nibbles.rb +210 -0
  386. data/lib/PascalDisk.rb~ +120 -0
  387. data/lib/PascalFile.rb~ +62 -0
  388. data/lib/ProDOSDisk.rb~ +197 -0
  389. data/lib/ProDOSFile.rb~ +160 -0
  390. data/test/1.txt +267 -0
  391. data/test/CPM1.DSK +0 -0
  392. data/test/CPM1.PO +0 -0
  393. data/test/PIC.ZO +0 -0
  394. data/test/STARCPM.DSK +0 -0
  395. data/test/SWRDTH1.NIB +1 -0
  396. data/test/blah.png +0 -0
  397. data/test/blah2.png +0 -0
  398. data/test/blank.nib +1 -0
  399. data/test/build_hgr_table.rb +28 -0
  400. data/test/build_hgr_table.rb~ +28 -0
  401. data/test/cpm_write_test.dsk +0 -0
  402. data/test/ed.txt +0 -0
  403. data/test/p.html +15030 -0
  404. data/test/pic.rb +19 -0
  405. data/test/pic.rb~ +18 -0
  406. data/test/sword.dsk +0 -0
  407. data/test/tc_cpm_disks.rb +59 -0
  408. data/test/tc_dos_disks.rb~ +107 -0
  409. data/test/tc_modified_dos_disks.rb +33 -0
  410. data/test/tc_nadol_disks.rb +0 -1
  411. data/test/tc_nadol_disks.rb~ +42 -0
  412. data/test/tc_pascal_disks.rb~ +48 -0
  413. data/test/tc_prodos_disks.rb~ +78 -0
  414. data/test/ts_test_all.rb +6 -4
  415. data/test/ts_test_all.rb~ +7 -0
  416. data/test/x.txt +16 -0
  417. metadata +485 -35
@@ -0,0 +1,22 @@
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>test_free_sector_list (TestDOSDisks)</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 test.bak/tc_dos_disks.rb, line 75</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_free_sector_list</span>
15
+ <span class="ruby-identifier">dskname</span>=<span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-keyword kw">__FILE__</span>)<span class="ruby-operator">+</span><span class="ruby-value str">&quot;//white_11a.dsk&quot;</span>
16
+ <span class="ruby-identifier">dsk</span>=<span class="ruby-constant">DSK</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">dskname</span>)
17
+ <span class="ruby-identifier">assert_equal</span>(<span class="ruby-identifier">:dos</span>,<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">file_system</span>,<span class="ruby-node">&quot;#{dskname} should be DOS 3.3 format&quot;</span>)
18
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">files</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">&gt;</span><span class="ruby-value">0</span>,<span class="ruby-node">&quot;#{dskname} should have at least one file&quot;</span>)
19
+ <span class="ruby-identifier">assert</span>(<span class="ruby-operator">!</span><span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">free_sector_list</span>.<span class="ruby-identifier">nil?</span>,<span class="ruby-value str">&quot;should have at least 1 free sector&quot;</span>)
20
+ <span class="ruby-keyword kw">end</span></pre>
21
+ </body>
22
+ </html>
@@ -0,0 +1,20 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>test_dump_sector (TestDOSDisks)</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 test.bak/tc_dos_disks.rb, line 82</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_dump_sector</span>
15
+ <span class="ruby-identifier">dskname</span>=<span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-keyword kw">__FILE__</span>)<span class="ruby-operator">+</span><span class="ruby-value str">&quot;//AAL_1.DSK&quot;</span>
16
+ <span class="ruby-identifier">dsk</span>=<span class="ruby-constant">DSK</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">dskname</span>)
17
+ <span class="ruby-identifier">assert_equal</span>(<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">dump_sector</span>(<span class="ruby-value">0</span>,<span class="ruby-value">0</span>).<span class="ruby-identifier">length</span>,<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">dump_sector</span>(<span class="ruby-value">0</span>,<span class="ruby-value">2</span>).<span class="ruby-identifier">length</span>,<span class="ruby-value str">&quot;sector dumps should be consistent length&quot;</span>)
18
+ <span class="ruby-keyword kw">end</span></pre>
19
+ </body>
20
+ </html>
@@ -0,0 +1,19 @@
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>test_empty_dsk (TestDOSDisks)</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 test.bak/tc_dos_disks.rb, line 88</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_empty_dsk</span>
15
+ <span class="ruby-identifier">dsk</span>=<span class="ruby-constant">DSK</span>.<span class="ruby-identifier">new</span>()
16
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">file_system!</span>=<span class="ruby-identifier">:dos</span>,<span class="ruby-value str">&quot;empty DSK should not be DOS 3.3 format&quot;</span>)
17
+ <span class="ruby-keyword kw">end</span></pre>
18
+ </body>
19
+ </html>
@@ -0,0 +1,25 @@
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>test_open_url_to_compressed_dsk (TestDOSDisks)</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 test.bak/tc_dos_disks.rb, line 93</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_open_url_to_compressed_dsk</span>
15
+ <span class="ruby-identifier">dskname</span>=<span class="ruby-value str">&quot;http://www.apple2.org.za/mirrors/ftp.apple.asimov.net/images/games/adventure/vaults_of_zurich.dsk.gz&quot;</span>
16
+ <span class="ruby-identifier">dsk</span>=<span class="ruby-constant">DSK</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">dskname</span>)
17
+ <span class="ruby-identifier">assert_equal</span>(<span class="ruby-identifier">:dos</span>,<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">file_system</span>,<span class="ruby-node">&quot;#{dskname} should be DOS 3.3 format&quot;</span>)
18
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">files</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">&gt;</span><span class="ruby-value">0</span>,<span class="ruby-node">&quot;#{dskname} should have at least one file&quot;</span>)
19
+
20
+ <span class="ruby-identifier">hello_file</span>=<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">files</span>[<span class="ruby-value str">&quot;HELLO&quot;</span>]
21
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">hello_file!</span>=<span class="ruby-keyword kw">nil</span>,<span class="ruby-node">&quot;#{dskname} should have a file called HELLO&quot;</span>)
22
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">hello_file</span>.<span class="ruby-identifier">instance_of?</span>(<span class="ruby-constant">AppleSoftFile</span>),<span class="ruby-value str">&quot;HELLO should be an AppleSoft file&quot;</span>)
23
+ <span class="ruby-keyword kw">end</span></pre>
24
+ </body>
25
+ </html>
@@ -0,0 +1,47 @@
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>test_simple_dos_dsk (TestDOSDisks)</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 test.bak/tc_dos_disks.rb, line 104</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_simple_dos_dsk</span>
15
+ <span class="ruby-identifier">dskname</span>=<span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-keyword kw">__FILE__</span>)<span class="ruby-operator">+</span><span class="ruby-value str">&quot;//dos33_with_adt.dsk&quot;</span>
16
+ <span class="ruby-identifier">dsk</span>=<span class="ruby-constant">DSK</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">dskname</span>)
17
+ <span class="ruby-identifier">assert_equal</span>(<span class="ruby-identifier">:dos</span>,<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">file_system</span>,<span class="ruby-node">&quot;#{dskname} should be DOS 3.3 format&quot;</span>)
18
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">files</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">&gt;</span><span class="ruby-value">0</span>,<span class="ruby-node">&quot;#{dskname} should have at least one file&quot;</span>)
19
+
20
+ <span class="ruby-identifier">assert</span>(<span class="ruby-operator">!</span><span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">find_catalog_slot</span>(<span class="ruby-value str">&quot;HELLO&quot;</span>).<span class="ruby-identifier">nil?</span>,<span class="ruby-value str">&quot;should find catalog slot for HELLO&quot;</span>)
21
+
22
+ <span class="ruby-identifier">hello_file</span>=<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">files</span>[<span class="ruby-value str">&quot;HELLO&quot;</span>]
23
+
24
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">hello_file!</span>=<span class="ruby-keyword kw">nil</span>,<span class="ruby-node">&quot;#{dskname} should have a file called HELLO&quot;</span>)
25
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">hello_file</span>.<span class="ruby-identifier">instance_of?</span>(<span class="ruby-constant">AppleSoftFile</span>),<span class="ruby-value str">&quot;HELLO should be an AppleSoft file&quot;</span>)
26
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">hello_file</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">&gt;</span><span class="ruby-value">0</span>,<span class="ruby-value str">&quot;HELLO should have non-zero length&quot;</span>)
27
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">hello_file</span>.<span class="ruby-identifier">to_s</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">5</span>]<span class="ruby-operator">==</span><span class="ruby-value str">&quot;10 REM&quot;</span>,<span class="ruby-value str">&quot;HELLO should start '10 REM'&quot;</span>)
28
+
29
+ <span class="ruby-identifier">binary_file</span>=<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">files</span>[<span class="ruby-value str">&quot;MUFFIN&quot;</span>]
30
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">binary_file!</span>=<span class="ruby-keyword kw">nil</span>,<span class="ruby-node">&quot;#{dskname} should have a file called MUFFIN&quot;</span>)
31
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">binary_file</span>.<span class="ruby-identifier">instance_of?</span>(<span class="ruby-constant">BinaryFile</span>),<span class="ruby-value str">&quot;HELLO should be an Binary file&quot;</span>)
32
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">binary_file</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">&gt;</span><span class="ruby-value">0</span>,<span class="ruby-value str">&quot;MUFFIN should have non-zero length&quot;</span>)
33
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">binary_file</span>.<span class="ruby-identifier">disassembly</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">&gt;</span><span class="ruby-value">0</span>,<span class="ruby-value str">&quot;MUFFIN disassembly should have non-zero length&quot;</span>)
34
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">binary_file</span>.<span class="ruby-identifier">disassembly</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">4</span>]<span class="ruby-operator">==</span><span class="ruby-value str">&quot;0803:&quot;</span>,<span class="ruby-value str">&quot;MUFFIN disassembly should start at $803&quot;</span>)
35
+ <span class="ruby-identifier">assert</span>(<span class="ruby-operator">!</span><span class="ruby-identifier">binary_file</span>.<span class="ruby-identifier">can_be_picture?</span>,<span class="ruby-value str">&quot;MUFFIN should NOT be viewable as a picture&quot;</span>)
36
+
37
+
38
+ <span class="ruby-identifier">integer_file</span>=<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">files</span>[<span class="ruby-value str">&quot;APPLESOFT&quot;</span>]
39
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">integer_file!</span>=<span class="ruby-keyword kw">nil</span>,<span class="ruby-node">&quot;#{dskname} should have a file called APPLESOFT&quot;</span>)
40
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">integer_file</span>.<span class="ruby-identifier">instance_of?</span>(<span class="ruby-constant">IntegerBasicFile</span>),<span class="ruby-value str">&quot;HELLO should be an IntegetBasic file&quot;</span>)
41
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">integer_file</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">&gt;</span><span class="ruby-value">0</span>,<span class="ruby-value str">&quot;APPLESOFT should have non-zero length&quot;</span>)
42
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">integer_file</span>.<span class="ruby-identifier">to_s</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">5</span>]<span class="ruby-operator">==</span><span class="ruby-value str">&quot;10 REM&quot;</span>,<span class="ruby-value str">&quot;APPLESOFT should start '10 REM'&quot;</span>)
43
+ <span class="ruby-identifier">assert</span>(<span class="ruby-operator">!</span><span class="ruby-identifier">integer_file</span>.<span class="ruby-identifier">can_be_picture?</span>,<span class="ruby-value str">&quot;APPLESOFT should NOT be viewable as a picture&quot;</span>)
44
+
45
+ <span class="ruby-keyword kw">end</span></pre>
46
+ </body>
47
+ </html>
@@ -0,0 +1,28 @@
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>test_scasm_file (TestDOSDisks)</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 test.bak/tc_dos_disks.rb, line 137</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_scasm_file</span>
15
+ <span class="ruby-identifier">dskname</span>=<span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-keyword kw">__FILE__</span>)<span class="ruby-operator">+</span><span class="ruby-value str">&quot;//AAL_1.DSK&quot;</span>
16
+ <span class="ruby-identifier">dsk</span>=<span class="ruby-constant">DSK</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">dskname</span>)
17
+ <span class="ruby-identifier">assert_equal</span>(<span class="ruby-identifier">:dos</span>,<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">file_system</span>,<span class="ruby-node">&quot;#{dskname} should be DOS 3.3 format&quot;</span>)
18
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">files</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">&gt;</span><span class="ruby-value">0</span>,<span class="ruby-node">&quot;#{dskname} should have at least one file&quot;</span>)
19
+ <span class="ruby-identifier">asm_file</span>=<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">files</span>[<span class="ruby-value str">&quot;MORSE CODE&quot;</span>]
20
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">asm_file!</span>=<span class="ruby-keyword kw">nil</span>,<span class="ruby-node">&quot;#{dskname} should have a file called MORSE CODE&quot;</span>)
21
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">asm_file</span>.<span class="ruby-identifier">instance_of?</span>(<span class="ruby-constant">SCAsmFile</span>),<span class="ruby-value str">&quot;MORSE CODE should be an SCasm file&quot;</span>)
22
+ <span class="ruby-identifier">assert</span>(<span class="ruby-operator">!</span><span class="ruby-identifier">asm_file</span>.<span class="ruby-identifier">can_be_picture?</span>,<span class="ruby-value str">&quot;MORSE CODE should NOT be viewable as a picture&quot;</span>)
23
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">asm_file</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">&gt;</span><span class="ruby-value">0</span>,<span class="ruby-value str">&quot;MORSE CODE should have non-zero length&quot;</span>)
24
+ <span class="ruby-identifier">assert</span>(<span class="ruby-operator">!</span>(<span class="ruby-identifier">asm_file</span>.<span class="ruby-identifier">to_s</span><span class="ruby-operator">=~</span><span class="ruby-regexp re">/930\W*.LIST OFF/</span>).<span class="ruby-identifier">nil?</span>,<span class="ruby-value str">&quot;MORSE CODE should start '930 .LIST OFF'&quot;</span>)
25
+
26
+ <span class="ruby-keyword kw">end</span></pre>
27
+ </body>
28
+ </html>
@@ -0,0 +1,28 @@
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>test_40_track_file (TestDOSDisks)</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 test.bak/tc_dos_disks.rb, line 151</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_40_track_file</span>
15
+ <span class="ruby-identifier">dskname</span>=<span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-keyword kw">__FILE__</span>)<span class="ruby-operator">+</span><span class="ruby-value str">&quot;//white_03b.dsk&quot;</span>
16
+ <span class="ruby-identifier">dsk</span>=<span class="ruby-constant">DSK</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">dskname</span>)
17
+ <span class="ruby-identifier">assert_equal</span>(<span class="ruby-identifier">:dos</span>,<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">file_system</span>,<span class="ruby-node">&quot;#{dskname} should be DOS 3.3 format&quot;</span>)
18
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">files</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">&gt;</span><span class="ruby-value">0</span>,<span class="ruby-node">&quot;#{dskname} should have at least one file&quot;</span>)
19
+ <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value">40</span>,<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">track_count</span>,<span class="ruby-node">&quot;#{dskname} should have 40 tracks&quot;</span>)
20
+
21
+ <span class="ruby-identifier">pic_file</span>=<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">files</span>[<span class="ruby-value str">&quot;RIP.PIC&quot;</span>]
22
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">pic_file!</span>=<span class="ruby-keyword kw">nil</span>,<span class="ruby-node">&quot;#{dskname} should have a file called RIP.PIC&quot;</span>)
23
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">pic_file</span>.<span class="ruby-identifier">instance_of?</span>(<span class="ruby-constant">BinaryFile</span>),<span class="ruby-value str">&quot;RIP.PIC should be a binary file&quot;</span>)
24
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">pic_file</span>.<span class="ruby-identifier">can_be_picture?</span>,<span class="ruby-value str">&quot;RIP.PIC should be viewable as a picture&quot;</span>)
25
+ <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value str">&quot;\211PNG\r\n\032\n&quot;</span>,<span class="ruby-identifier">pic_file</span>.<span class="ruby-identifier">to_png</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">7</span>])
26
+ <span class="ruby-keyword kw">end</span></pre>
27
+ </body>
28
+ </html>
@@ -0,0 +1,26 @@
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>test_file_names (TestDOSDisks)</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 test/tc_dos_disks.rb, line 11</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_file_names</span>
15
+ <span class="ruby-identifier">assert</span>(<span class="ruby-constant">DSK</span>.<span class="ruby-identifier">is_dsk_file?</span>(<span class="ruby-value str">&quot;file.dsk&quot;</span>))
16
+ <span class="ruby-identifier">assert</span>(<span class="ruby-constant">DSK</span>.<span class="ruby-identifier">is_dsk_file?</span>(<span class="ruby-value str">&quot;file.DSK&quot;</span>))
17
+ <span class="ruby-identifier">assert</span>(<span class="ruby-constant">DSK</span>.<span class="ruby-identifier">is_dsk_file?</span>(<span class="ruby-value str">&quot;file.dsk.gz&quot;</span>))
18
+ <span class="ruby-identifier">assert</span>(<span class="ruby-constant">DSK</span>.<span class="ruby-identifier">is_dsk_file?</span>(<span class="ruby-value str">&quot;file.po&quot;</span>))
19
+ <span class="ruby-identifier">assert</span>(<span class="ruby-constant">DSK</span>.<span class="ruby-identifier">is_dsk_file?</span>(<span class="ruby-value str">&quot;file.po.gz&quot;</span>))
20
+ <span class="ruby-identifier">assert</span>(<span class="ruby-constant">DSK</span>.<span class="ruby-identifier">is_dsk_file?</span>(<span class="ruby-value str">&quot;file.do&quot;</span>))
21
+ <span class="ruby-identifier">assert</span>(<span class="ruby-constant">DSK</span>.<span class="ruby-identifier">is_dsk_file?</span>(<span class="ruby-value str">&quot;file.DO.gz&quot;</span>))
22
+ <span class="ruby-identifier">assert</span>(<span class="ruby-operator">!</span><span class="ruby-constant">DSK</span>.<span class="ruby-identifier">is_dsk_file?</span>(<span class="ruby-value str">&quot;file.dsk.zip&quot;</span>))
23
+
24
+ <span class="ruby-keyword kw">end</span></pre>
25
+ </body>
26
+ </html>
@@ -0,0 +1,19 @@
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>test_bad_dsks (TestDOSDisks)</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 test/tc_dos_disks.rb, line 22</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_bad_dsks</span>
15
+ <span class="ruby-identifier">assert_raise</span>(<span class="ruby-constant">RuntimeError</span>,<span class="ruby-value str">&quot;short file should throw an error&quot;</span>) {<span class="ruby-identifier">dsk</span>=<span class="ruby-constant">DSK</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;0&quot;</span><span class="ruby-operator">*</span><span class="ruby-value">100</span>)}
16
+ <span class="ruby-identifier">assert_raise</span>(<span class="ruby-constant">Errno</span><span class="ruby-operator">::</span><span class="ruby-constant">ENOENT</span>,<span class="ruby-value str">&quot;non existant file should throw an error&quot;</span>) {<span class="ruby-identifier">dsk</span>=<span class="ruby-constant">DSK</span>.<span class="ruby-identifier">read</span>(<span class="ruby-value str">&quot;NonExistantFileName.not&quot;</span>)}
17
+ <span class="ruby-keyword kw">end</span></pre>
18
+ </body>
19
+ </html>
@@ -0,0 +1,62 @@
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>test_write_to_dsk (TestDOSDisks)</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 test/tc_dos_disks.rb, line 27</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_write_to_dsk</span>
15
+ <span class="ruby-identifier">dsk</span>=<span class="ruby-constant">DSK</span>.<span class="ruby-identifier">create_new</span>(<span class="ruby-identifier">:dos33</span>)
16
+ <span class="ruby-identifier">test_file</span>=<span class="ruby-constant">TextFile</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;TESTFILE&quot;</span>,<span class="ruby-value str">&quot;Is this mike on?&quot;</span>)
17
+ <span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">add_file</span>(<span class="ruby-identifier">test_file</span>)
18
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">files</span>[<span class="ruby-identifier">test_file</span>.<span class="ruby-identifier">filename</span>]<span class="ruby-operator">!=</span><span class="ruby-keyword kw">nil</span>,<span class="ruby-node">&quot;dsk should have a file called #{test_file.filename}&quot;</span>)
19
+ <span class="ruby-identifier">assert_equal</span>(<span class="ruby-identifier">test_file</span>,<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">files</span>[<span class="ruby-identifier">test_file</span>.<span class="ruby-identifier">filename</span>])
20
+
21
+ <span class="ruby-comment cmt">#test we can write muliple files (this also tests we are correctly tracking sectors as being used)
22
+ <span class="ruby-identifier">test_files</span>=[]
23
+ <span class="ruby-keyword kw">for</span> <span class="ruby-identifier">i</span> <span class="ruby-keyword kw">in</span> <span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">20</span>
24
+ <span class="ruby-identifier">t</span>=<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">make_file</span>(<span class="ruby-node">&quot;TEST#{i}&quot;</span>,<span class="ruby-node">&quot;TEST #{i} &quot;</span><span class="ruby-operator">+</span><span class="ruby-value str">&quot;*&quot;</span><span class="ruby-operator">*</span><span class="ruby-identifier">i</span><span class="ruby-operator">*</span><span class="ruby-value">100</span>)
25
+ <span class="ruby-identifier">test_files</span><span class="ruby-operator">&lt;&lt;</span><span class="ruby-identifier">t</span>
26
+ <span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">add_file</span>(<span class="ruby-identifier">t</span>)
27
+ <span class="ruby-keyword kw">end</span>
28
+
29
+ <span class="ruby-keyword kw">for</span> <span class="ruby-identifier">i</span> <span class="ruby-keyword kw">in</span> <span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">20</span>
30
+ <span class="ruby-identifier">assert_equal</span>(<span class="ruby-identifier">test_files</span>[<span class="ruby-identifier">i</span>],<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">files</span>[<span class="ruby-identifier">test_files</span>[<span class="ruby-identifier">i</span>].<span class="ruby-identifier">filename</span>])
31
+ <span class="ruby-keyword kw">end</span>
32
+
33
+ <span class="ruby-comment cmt">#test we can make other file types
34
+ [
35
+ <span class="ruby-constant">TextFile</span>,
36
+ <span class="ruby-constant">BinaryFile</span>,
37
+ <span class="ruby-constant">AppleSoftFile</span>
38
+ ].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file_class</span><span class="ruby-operator">|</span>
39
+ <span class="ruby-identifier">test_file</span>=<span class="ruby-identifier">file_class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;TEST_&quot;</span><span class="ruby-operator">+</span><span class="ruby-identifier">file_class</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">upcase</span>,<span class="ruby-value str">&quot;\FF&quot;</span><span class="ruby-operator">*</span><span class="ruby-value">256</span>)
40
+ <span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">add_file</span>(<span class="ruby-identifier">test_file</span>)
41
+ <span class="ruby-identifier">assert_equal</span>(<span class="ruby-identifier">test_file</span>,<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">files</span>[<span class="ruby-identifier">test_file</span>.<span class="ruby-identifier">filename</span>])
42
+ <span class="ruby-keyword kw">end</span>
43
+
44
+
45
+ <span class="ruby-comment cmt">#make sure we can overwrite the same file (which also tests we are freeing sectors when files are deleted)
46
+ <span class="ruby-keyword kw">for</span> <span class="ruby-identifier">i</span> <span class="ruby-keyword kw">in</span> <span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">250</span>
47
+ <span class="ruby-identifier">t</span>=<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">make_file</span>(<span class="ruby-value str">&quot;MULTICOPY&quot;</span>,<span class="ruby-node">&quot;TEST #{i} &quot;</span>)
48
+ <span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">add_file</span>(<span class="ruby-identifier">t</span>)
49
+ <span class="ruby-identifier">assert_equal</span>(<span class="ruby-identifier">t</span>,<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">files</span>[<span class="ruby-identifier">t</span>.<span class="ruby-identifier">filename</span>])
50
+ <span class="ruby-keyword kw">end</span>
51
+
52
+ <span class="ruby-comment cmt">#check none of the above has clobbered our original 20 test files
53
+ <span class="ruby-keyword kw">for</span> <span class="ruby-identifier">i</span> <span class="ruby-keyword kw">in</span> <span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">20</span>
54
+ <span class="ruby-identifier">assert_equal</span>(<span class="ruby-identifier">test_files</span>[<span class="ruby-identifier">i</span>],<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">files</span>[<span class="ruby-identifier">test_files</span>[<span class="ruby-identifier">i</span>].<span class="ruby-identifier">filename</span>])
55
+ <span class="ruby-keyword kw">end</span>
56
+
57
+ <span class="ruby-comment cmt">#save disk for later examination
58
+ <span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">save_as</span>(<span class="ruby-value str">&quot;dos_write_test.dsk&quot;</span>)
59
+
60
+ <span class="ruby-keyword kw">end</span></pre>
61
+ </body>
62
+ </html>
@@ -0,0 +1,22 @@
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>test_free_sector_list (TestDOSDisks)</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 test/tc_dos_disks.rb, line 75</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_free_sector_list</span>
15
+ <span class="ruby-identifier">dskname</span>=<span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-keyword kw">__FILE__</span>)<span class="ruby-operator">+</span><span class="ruby-value str">&quot;//white_11a.dsk&quot;</span>
16
+ <span class="ruby-identifier">dsk</span>=<span class="ruby-constant">DSK</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">dskname</span>)
17
+ <span class="ruby-identifier">assert_equal</span>(<span class="ruby-identifier">:dos</span>,<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">file_system</span>,<span class="ruby-node">&quot;#{dskname} should be DOS 3.3 format&quot;</span>)
18
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">files</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">&gt;</span><span class="ruby-value">0</span>,<span class="ruby-node">&quot;#{dskname} should have at least one file&quot;</span>)
19
+ <span class="ruby-identifier">assert</span>(<span class="ruby-operator">!</span><span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">free_sector_list</span>.<span class="ruby-identifier">nil?</span>,<span class="ruby-value str">&quot;should have at least 1 free sector&quot;</span>)
20
+ <span class="ruby-keyword kw">end</span></pre>
21
+ </body>
22
+ </html>
@@ -0,0 +1,20 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>test_dump_sector (TestDOSDisks)</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 test/tc_dos_disks.rb, line 82</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_dump_sector</span>
15
+ <span class="ruby-identifier">dskname</span>=<span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-keyword kw">__FILE__</span>)<span class="ruby-operator">+</span><span class="ruby-value str">&quot;//AAL_1.DSK&quot;</span>
16
+ <span class="ruby-identifier">dsk</span>=<span class="ruby-constant">DSK</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">dskname</span>)
17
+ <span class="ruby-identifier">assert_equal</span>(<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">dump_sector</span>(<span class="ruby-value">0</span>,<span class="ruby-value">0</span>).<span class="ruby-identifier">length</span>,<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">dump_sector</span>(<span class="ruby-value">0</span>,<span class="ruby-value">2</span>).<span class="ruby-identifier">length</span>,<span class="ruby-value str">&quot;sector dumps should be consistent length&quot;</span>)
18
+ <span class="ruby-keyword kw">end</span></pre>
19
+ </body>
20
+ </html>
@@ -0,0 +1,19 @@
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>test_empty_dsk (TestDOSDisks)</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 test/tc_dos_disks.rb, line 88</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_empty_dsk</span>
15
+ <span class="ruby-identifier">dsk</span>=<span class="ruby-constant">DSK</span>.<span class="ruby-identifier">new</span>()
16
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">file_system!</span>=<span class="ruby-identifier">:dos</span>,<span class="ruby-value str">&quot;empty DSK should not be DOS 3.3 format&quot;</span>)
17
+ <span class="ruby-keyword kw">end</span></pre>
18
+ </body>
19
+ </html>
@@ -0,0 +1,25 @@
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>test_open_url_to_compressed_dsk (TestDOSDisks)</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 test/tc_dos_disks.rb, line 93</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_open_url_to_compressed_dsk</span>
15
+ <span class="ruby-identifier">dskname</span>=<span class="ruby-value str">&quot;http://www.apple2.org.za/mirrors/ftp.apple.asimov.net/images/games/adventure/vaults_of_zurich.dsk.gz&quot;</span>
16
+ <span class="ruby-identifier">dsk</span>=<span class="ruby-constant">DSK</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">dskname</span>)
17
+ <span class="ruby-identifier">assert_equal</span>(<span class="ruby-identifier">:dos</span>,<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">file_system</span>,<span class="ruby-node">&quot;#{dskname} should be DOS 3.3 format&quot;</span>)
18
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">files</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">&gt;</span><span class="ruby-value">0</span>,<span class="ruby-node">&quot;#{dskname} should have at least one file&quot;</span>)
19
+
20
+ <span class="ruby-identifier">hello_file</span>=<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">files</span>[<span class="ruby-value str">&quot;HELLO&quot;</span>]
21
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">hello_file!</span>=<span class="ruby-keyword kw">nil</span>,<span class="ruby-node">&quot;#{dskname} should have a file called HELLO&quot;</span>)
22
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">hello_file</span>.<span class="ruby-identifier">instance_of?</span>(<span class="ruby-constant">AppleSoftFile</span>),<span class="ruby-value str">&quot;HELLO should be an AppleSoft file&quot;</span>)
23
+ <span class="ruby-keyword kw">end</span></pre>
24
+ </body>
25
+ </html>
@@ -0,0 +1,47 @@
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>test_simple_dos_dsk (TestDOSDisks)</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 test/tc_dos_disks.rb, line 104</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_simple_dos_dsk</span>
15
+ <span class="ruby-identifier">dskname</span>=<span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-keyword kw">__FILE__</span>)<span class="ruby-operator">+</span><span class="ruby-value str">&quot;//dos33_with_adt.dsk&quot;</span>
16
+ <span class="ruby-identifier">dsk</span>=<span class="ruby-constant">DSK</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">dskname</span>)
17
+ <span class="ruby-identifier">assert_equal</span>(<span class="ruby-identifier">:dos</span>,<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">file_system</span>,<span class="ruby-node">&quot;#{dskname} should be DOS 3.3 format&quot;</span>)
18
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">files</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">&gt;</span><span class="ruby-value">0</span>,<span class="ruby-node">&quot;#{dskname} should have at least one file&quot;</span>)
19
+
20
+ <span class="ruby-identifier">assert</span>(<span class="ruby-operator">!</span><span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">find_catalog_slot</span>(<span class="ruby-value str">&quot;HELLO&quot;</span>).<span class="ruby-identifier">nil?</span>,<span class="ruby-value str">&quot;should find catalog slot for HELLO&quot;</span>)
21
+
22
+ <span class="ruby-identifier">hello_file</span>=<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">files</span>[<span class="ruby-value str">&quot;HELLO&quot;</span>]
23
+
24
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">hello_file!</span>=<span class="ruby-keyword kw">nil</span>,<span class="ruby-node">&quot;#{dskname} should have a file called HELLO&quot;</span>)
25
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">hello_file</span>.<span class="ruby-identifier">instance_of?</span>(<span class="ruby-constant">AppleSoftFile</span>),<span class="ruby-value str">&quot;HELLO should be an AppleSoft file&quot;</span>)
26
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">hello_file</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">&gt;</span><span class="ruby-value">0</span>,<span class="ruby-value str">&quot;HELLO should have non-zero length&quot;</span>)
27
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">hello_file</span>.<span class="ruby-identifier">to_s</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">5</span>]<span class="ruby-operator">==</span><span class="ruby-value str">&quot;10 REM&quot;</span>,<span class="ruby-value str">&quot;HELLO should start '10 REM'&quot;</span>)
28
+
29
+ <span class="ruby-identifier">binary_file</span>=<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">files</span>[<span class="ruby-value str">&quot;MUFFIN&quot;</span>]
30
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">binary_file!</span>=<span class="ruby-keyword kw">nil</span>,<span class="ruby-node">&quot;#{dskname} should have a file called MUFFIN&quot;</span>)
31
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">binary_file</span>.<span class="ruby-identifier">instance_of?</span>(<span class="ruby-constant">BinaryFile</span>),<span class="ruby-value str">&quot;HELLO should be an Binary file&quot;</span>)
32
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">binary_file</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">&gt;</span><span class="ruby-value">0</span>,<span class="ruby-value str">&quot;MUFFIN should have non-zero length&quot;</span>)
33
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">binary_file</span>.<span class="ruby-identifier">disassembly</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">&gt;</span><span class="ruby-value">0</span>,<span class="ruby-value str">&quot;MUFFIN disassembly should have non-zero length&quot;</span>)
34
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">binary_file</span>.<span class="ruby-identifier">disassembly</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">4</span>]<span class="ruby-operator">==</span><span class="ruby-value str">&quot;0803:&quot;</span>,<span class="ruby-value str">&quot;MUFFIN disassembly should start at $803&quot;</span>)
35
+ <span class="ruby-identifier">assert</span>(<span class="ruby-operator">!</span><span class="ruby-identifier">binary_file</span>.<span class="ruby-identifier">can_be_picture?</span>,<span class="ruby-value str">&quot;MUFFIN should NOT be viewable as a picture&quot;</span>)
36
+
37
+
38
+ <span class="ruby-identifier">integer_file</span>=<span class="ruby-identifier">dsk</span>.<span class="ruby-identifier">files</span>[<span class="ruby-value str">&quot;APPLESOFT&quot;</span>]
39
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">integer_file!</span>=<span class="ruby-keyword kw">nil</span>,<span class="ruby-node">&quot;#{dskname} should have a file called APPLESOFT&quot;</span>)
40
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">integer_file</span>.<span class="ruby-identifier">instance_of?</span>(<span class="ruby-constant">IntegerBasicFile</span>),<span class="ruby-value str">&quot;HELLO should be an IntegetBasic file&quot;</span>)
41
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">integer_file</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">&gt;</span><span class="ruby-value">0</span>,<span class="ruby-value str">&quot;APPLESOFT should have non-zero length&quot;</span>)
42
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">integer_file</span>.<span class="ruby-identifier">to_s</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">5</span>]<span class="ruby-operator">==</span><span class="ruby-value str">&quot;10 REM&quot;</span>,<span class="ruby-value str">&quot;APPLESOFT should start '10 REM'&quot;</span>)
43
+ <span class="ruby-identifier">assert</span>(<span class="ruby-operator">!</span><span class="ruby-identifier">integer_file</span>.<span class="ruby-identifier">can_be_picture?</span>,<span class="ruby-value str">&quot;APPLESOFT should NOT be viewable as a picture&quot;</span>)
44
+
45
+ <span class="ruby-keyword kw">end</span></pre>
46
+ </body>
47
+ </html>