ripxplore 0.0.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 (454) hide show
  1. data/bin/ripxplore.rb +188 -0
  2. data/doc/classes/A2Dsk.html +226 -0
  3. data/doc/classes/A2Dsk.src/M000005.html +18 -0
  4. data/doc/classes/A2Dsk.src/M000006.html +18 -0
  5. data/doc/classes/A2Dsk.src/M000007.html +18 -0
  6. data/doc/classes/A2Dsk.src/M000008.html +18 -0
  7. data/doc/classes/A2Dsk.src/M000009.html +18 -0
  8. data/doc/classes/A2Dsk.src/M000010.html +22 -0
  9. data/doc/classes/A2DskDosOrder.html +139 -0
  10. data/doc/classes/A2DskDosOrder.src/M000242.html +18 -0
  11. data/doc/classes/A2DskPhysicalOrder.html +139 -0
  12. data/doc/classes/A2DskPhysicalOrder.src/M000019.html +18 -0
  13. data/doc/classes/Apple2.html +187 -0
  14. data/doc/classes/Apple2.src/M000128.html +18 -0
  15. data/doc/classes/Apple2.src/M000129.html +18 -0
  16. data/doc/classes/Apple2.src/M000130.html +18 -0
  17. data/doc/classes/Apple2.src/M000131.html +19 -0
  18. data/doc/classes/AppleBinary.html +193 -0
  19. data/doc/classes/AppleBinary.src/M000089.html +20 -0
  20. data/doc/classes/AppleBinary.src/M000090.html +18 -0
  21. data/doc/classes/AppleBinary.src/M000091.html +18 -0
  22. data/doc/classes/AppleBinary.src/M000092.html +18 -0
  23. data/doc/classes/AppleCPM.html +228 -0
  24. data/doc/classes/AppleCPM.src/M000243.html +18 -0
  25. data/doc/classes/AppleCPM.src/M000244.html +18 -0
  26. data/doc/classes/AppleCPM.src/M000245.html +21 -0
  27. data/doc/classes/AppleCPM.src/M000246.html +40 -0
  28. data/doc/classes/AppleDos.html +275 -0
  29. data/doc/classes/AppleDos.src/M000161.html +18 -0
  30. data/doc/classes/AppleDos.src/M000162.html +18 -0
  31. data/doc/classes/AppleDos.src/M000163.html +18 -0
  32. data/doc/classes/AppleDos.src/M000164.html +86 -0
  33. data/doc/classes/AppleHiResPic.html +279 -0
  34. data/doc/classes/AppleHiResPic.src/M000083.html +22 -0
  35. data/doc/classes/AppleHiResPic.src/M000084.html +18 -0
  36. data/doc/classes/AppleHiResPic.src/M000085.html +22 -0
  37. data/doc/classes/AppleHiResPic.src/M000086.html +57 -0
  38. data/doc/classes/AppleHiResPic.src/M000087.html +18 -0
  39. data/doc/classes/AppleHiResPic.src/M000088.html +18 -0
  40. data/doc/classes/AppleText.html +156 -0
  41. data/doc/classes/AppleText.src/M000142.html +21 -0
  42. data/doc/classes/AppleText.src/M000143.html +20 -0
  43. data/doc/classes/AppleWorksWP.html +160 -0
  44. data/doc/classes/AppleWorksWP.src/M000081.html +20 -0
  45. data/doc/classes/AppleWorksWP.src/M000082.html +45 -0
  46. data/doc/classes/Applesoft.html +169 -0
  47. data/doc/classes/Applesoft.src/M000175.html +21 -0
  48. data/doc/classes/Applesoft.src/M000176.html +75 -0
  49. data/doc/classes/Atari800.html +169 -0
  50. data/doc/classes/Atari800.src/M000177.html +23 -0
  51. data/doc/classes/Atari800.src/M000178.html +18 -0
  52. data/doc/classes/Atari800.src/M000179.html +19 -0
  53. data/doc/classes/AtariBasic.html +215 -0
  54. data/doc/classes/AtariBasic.src/M000204.html +20 -0
  55. data/doc/classes/AtariBasic.src/M000205.html +108 -0
  56. data/doc/classes/AtariBinary.html +193 -0
  57. data/doc/classes/AtariBinary.src/M000238.html +20 -0
  58. data/doc/classes/AtariBinary.src/M000239.html +18 -0
  59. data/doc/classes/AtariBinary.src/M000240.html +18 -0
  60. data/doc/classes/AtariBinary.src/M000241.html +18 -0
  61. data/doc/classes/AtariDos.html +186 -0
  62. data/doc/classes/AtariDos.src/M000047.html +18 -0
  63. data/doc/classes/AtariDos.src/M000048.html +43 -0
  64. data/doc/classes/AtariText.html +159 -0
  65. data/doc/classes/AtariText.src/M000002.html +20 -0
  66. data/doc/classes/AtariText.src/M000003.html +18 -0
  67. data/doc/classes/Atr.html +271 -0
  68. data/doc/classes/Atr.src/M000208.html +18 -0
  69. data/doc/classes/Atr.src/M000209.html +18 -0
  70. data/doc/classes/Atr.src/M000210.html +19 -0
  71. data/doc/classes/Atr.src/M000211.html +18 -0
  72. data/doc/classes/Atr.src/M000212.html +18 -0
  73. data/doc/classes/Atr.src/M000213.html +19 -0
  74. data/doc/classes/Atr.src/M000214.html +19 -0
  75. data/doc/classes/C64.html +206 -0
  76. data/doc/classes/C64.src/M000020.html +18 -0
  77. data/doc/classes/C64.src/M000021.html +31 -0
  78. data/doc/classes/C64.src/M000022.html +22 -0
  79. data/doc/classes/C64.src/M000023.html +19 -0
  80. data/doc/classes/C64.src/M000024.html +19 -0
  81. data/doc/classes/C64BasicPrg.html +201 -0
  82. data/doc/classes/C64BasicPrg.src/M000035.html +20 -0
  83. data/doc/classes/C64BasicPrg.src/M000036.html +59 -0
  84. data/doc/classes/C64Prg.html +190 -0
  85. data/doc/classes/C64Prg.src/M000169.html +20 -0
  86. data/doc/classes/C64Prg.src/M000170.html +18 -0
  87. data/doc/classes/C64Prg.src/M000171.html +18 -0
  88. data/doc/classes/C64Prg.src/M000172.html +20 -0
  89. data/doc/classes/C64PrgText.html +139 -0
  90. data/doc/classes/C64PrgText.src/M000237.html +18 -0
  91. data/doc/classes/C64Seq.html +156 -0
  92. data/doc/classes/C64Seq.src/M000013.html +20 -0
  93. data/doc/classes/C64Seq.src/M000014.html +18 -0
  94. data/doc/classes/CPMFile.html +156 -0
  95. data/doc/classes/CPMFile.src/M000108.html +20 -0
  96. data/doc/classes/CPMFile.src/M000109.html +18 -0
  97. data/doc/classes/CbmDos.html +172 -0
  98. data/doc/classes/CbmDos.src/M000182.html +18 -0
  99. data/doc/classes/CbmDos.src/M000183.html +42 -0
  100. data/doc/classes/CbmFile.html +156 -0
  101. data/doc/classes/CbmFile.src/M000235.html +20 -0
  102. data/doc/classes/CbmFile.src/M000236.html +18 -0
  103. data/doc/classes/D64.html +247 -0
  104. data/doc/classes/D64.src/M000037.html +18 -0
  105. data/doc/classes/D64.src/M000038.html +18 -0
  106. data/doc/classes/D64.src/M000039.html +18 -0
  107. data/doc/classes/D64.src/M000040.html +22 -0
  108. data/doc/classes/D64.src/M000041.html +18 -0
  109. data/doc/classes/D64.src/M000042.html +21 -0
  110. data/doc/classes/D65.html +170 -0
  111. data/doc/classes/D65.src/M000049.html +22 -0
  112. data/doc/classes/D65.src/M000050.html +68 -0
  113. data/doc/classes/DumpUtilities.html +152 -0
  114. data/doc/classes/DumpUtilities.src/M000077.html +33 -0
  115. data/doc/classes/DumpUtilities.src/M000078.html +27 -0
  116. data/doc/classes/FileCache.html +210 -0
  117. data/doc/classes/FileCache.src/M000135.html +18 -0
  118. data/doc/classes/FileCache.src/M000136.html +20 -0
  119. data/doc/classes/FileCache.src/M000137.html +22 -0
  120. data/doc/classes/FileCache.src/M000138.html +32 -0
  121. data/doc/classes/FileCacheItem.html +152 -0
  122. data/doc/classes/FileCacheItem.src/M000165.html +18 -0
  123. data/doc/classes/FileCacheItem.src/M000166.html +18 -0
  124. data/doc/classes/FileContainer.html +146 -0
  125. data/doc/classes/FileContainer.src/M000232.html +26 -0
  126. data/doc/classes/FileSystem.html +252 -0
  127. data/doc/classes/FileSystem.src/M000069.html +18 -0
  128. data/doc/classes/FileSystem.src/M000070.html +18 -0
  129. data/doc/classes/FileSystem.src/M000071.html +18 -0
  130. data/doc/classes/FileSystem.src/M000072.html +18 -0
  131. data/doc/classes/FileSystem.src/M000073.html +18 -0
  132. data/doc/classes/FileSystem.src/M000074.html +18 -0
  133. data/doc/classes/FileSystem.src/M000075.html +20 -0
  134. data/doc/classes/FileSystem.src/M000076.html +25 -0
  135. data/doc/classes/FileSystemImage.html +430 -0
  136. data/doc/classes/FileSystemImage.src/M000215.html +19 -0
  137. data/doc/classes/FileSystemImage.src/M000216.html +41 -0
  138. data/doc/classes/FileSystemImage.src/M000217.html +27 -0
  139. data/doc/classes/FileSystemImage.src/M000218.html +18 -0
  140. data/doc/classes/FileSystemImage.src/M000219.html +18 -0
  141. data/doc/classes/FileSystemImage.src/M000220.html +18 -0
  142. data/doc/classes/FileSystemImage.src/M000221.html +22 -0
  143. data/doc/classes/FileSystemImage.src/M000222.html +19 -0
  144. data/doc/classes/FileSystemImage.src/M000223.html +18 -0
  145. data/doc/classes/FileSystemImage.src/M000224.html +18 -0
  146. data/doc/classes/FileSystemImage.src/M000225.html +18 -0
  147. data/doc/classes/FileSystemImage.src/M000226.html +18 -0
  148. data/doc/classes/FileSystemImage.src/M000227.html +20 -0
  149. data/doc/classes/FileSystemImage.src/M000228.html +22 -0
  150. data/doc/classes/FileSystemImage.src/M000229.html +22 -0
  151. data/doc/classes/FileSystemImage.src/M000230.html +18 -0
  152. data/doc/classes/FileSystemImage.src/M000231.html +23 -0
  153. data/doc/classes/G64.html +257 -0
  154. data/doc/classes/G64.src/M000093.html +30 -0
  155. data/doc/classes/G64.src/M000094.html +18 -0
  156. data/doc/classes/G64.src/M000095.html +18 -0
  157. data/doc/classes/G64.src/M000096.html +17 -0
  158. data/doc/classes/G64.src/M000097.html +18 -0
  159. data/doc/classes/G64.src/M000098.html +18 -0
  160. data/doc/classes/G64.src/M000099.html +21 -0
  161. data/doc/classes/GenericFile.html +157 -0
  162. data/doc/classes/GenericFile.src/M000167.html +20 -0
  163. data/doc/classes/GenericFile.src/M000168.html +18 -0
  164. data/doc/classes/HostSystem.html +225 -0
  165. data/doc/classes/HostSystem.src/M000025.html +22 -0
  166. data/doc/classes/HostSystem.src/M000026.html +18 -0
  167. data/doc/classes/HostSystem.src/M000027.html +18 -0
  168. data/doc/classes/HostSystem.src/M000028.html +22 -0
  169. data/doc/classes/HostSystem.src/M000029.html +33 -0
  170. data/doc/classes/HostSystem.src/M000030.html +18 -0
  171. data/doc/classes/ImageFormat.html +415 -0
  172. data/doc/classes/ImageFormat.src/M000144.html +18 -0
  173. data/doc/classes/ImageFormat.src/M000145.html +18 -0
  174. data/doc/classes/ImageFormat.src/M000146.html +18 -0
  175. data/doc/classes/ImageFormat.src/M000147.html +18 -0
  176. data/doc/classes/ImageFormat.src/M000148.html +18 -0
  177. data/doc/classes/ImageFormat.src/M000149.html +22 -0
  178. data/doc/classes/ImageFormat.src/M000150.html +19 -0
  179. data/doc/classes/ImageFormat.src/M000151.html +18 -0
  180. data/doc/classes/ImageFormat.src/M000152.html +18 -0
  181. data/doc/classes/ImageFormat.src/M000153.html +18 -0
  182. data/doc/classes/ImageFormat.src/M000154.html +18 -0
  183. data/doc/classes/ImageFormat.src/M000155.html +18 -0
  184. data/doc/classes/ImageFormat.src/M000156.html +18 -0
  185. data/doc/classes/ImageFormat.src/M000157.html +18 -0
  186. data/doc/classes/ImageFormat.src/M000158.html +20 -0
  187. data/doc/classes/ImageFormat.src/M000159.html +26 -0
  188. data/doc/classes/ImageFormat.src/M000160.html +18 -0
  189. data/doc/classes/ImageSniffing.html +152 -0
  190. data/doc/classes/ImageSniffing.src/M000051.html +57 -0
  191. data/doc/classes/ImageSniffing.src/M000052.html +131 -0
  192. data/doc/classes/IntegerBASIC.html +247 -0
  193. data/doc/classes/IntegerBASIC.src/M000206.html +20 -0
  194. data/doc/classes/IntegerBASIC.src/M000207.html +86 -0
  195. data/doc/classes/MBasic.html +182 -0
  196. data/doc/classes/MBasic.src/M000011.html +20 -0
  197. data/doc/classes/MBasic.src/M000012.html +22 -0
  198. data/doc/classes/NADOLDos.html +187 -0
  199. data/doc/classes/NADOLDos.src/M000180.html +18 -0
  200. data/doc/classes/NADOLDos.src/M000181.html +52 -0
  201. data/doc/classes/NADOLFile.html +157 -0
  202. data/doc/classes/NADOLFile.src/M000045.html +20 -0
  203. data/doc/classes/NADOLFile.src/M000046.html +18 -0
  204. data/doc/classes/NADOLTokens.html +170 -0
  205. data/doc/classes/NADOLTokens.src/M000018.html +41 -0
  206. data/doc/classes/NativeFileType.html +444 -0
  207. data/doc/classes/NativeFileType.src/M000110.html +22 -0
  208. data/doc/classes/NativeFileType.src/M000111.html +18 -0
  209. data/doc/classes/NativeFileType.src/M000112.html +18 -0
  210. data/doc/classes/NativeFileType.src/M000113.html +18 -0
  211. data/doc/classes/NativeFileType.src/M000114.html +18 -0
  212. data/doc/classes/NativeFileType.src/M000115.html +18 -0
  213. data/doc/classes/NativeFileType.src/M000116.html +18 -0
  214. data/doc/classes/NativeFileType.src/M000117.html +23 -0
  215. data/doc/classes/NativeFileType.src/M000118.html +18 -0
  216. data/doc/classes/NativeFileType.src/M000119.html +18 -0
  217. data/doc/classes/NativeFileType.src/M000120.html +24 -0
  218. data/doc/classes/NativeFileType.src/M000121.html +35 -0
  219. data/doc/classes/NativeFileType.src/M000122.html +24 -0
  220. data/doc/classes/NativeFileType.src/M000123.html +18 -0
  221. data/doc/classes/NativeFileType.src/M000124.html +18 -0
  222. data/doc/classes/NativeFileType.src/M000125.html +18 -0
  223. data/doc/classes/NativeFileType.src/M000126.html +20 -0
  224. data/doc/classes/NativeFileType.src/M000127.html +27 -0
  225. data/doc/classes/PNG/Canvas.html +273 -0
  226. data/doc/classes/PNG/Canvas.src/M000196.html +20 -0
  227. data/doc/classes/PNG/Canvas.src/M000197.html +20 -0
  228. data/doc/classes/PNG/Canvas.src/M000198.html +20 -0
  229. data/doc/classes/PNG/Canvas.src/M000199.html +22 -0
  230. data/doc/classes/PNG/Canvas.src/M000200.html +18 -0
  231. data/doc/classes/PNG/Canvas.src/M000201.html +73 -0
  232. data/doc/classes/PNG/Color.html +338 -0
  233. data/doc/classes/PNG/Color.src/M000189.html +18 -0
  234. data/doc/classes/PNG/Color.src/M000190.html +16 -0
  235. data/doc/classes/PNG/Color.src/M000191.html +16 -0
  236. data/doc/classes/PNG/Color.src/M000192.html +16 -0
  237. data/doc/classes/PNG/Color.src/M000193.html +16 -0
  238. data/doc/classes/PNG/Color.src/M000194.html +21 -0
  239. data/doc/classes/PNG/Color.src/M000195.html +18 -0
  240. data/doc/classes/PNG.html +229 -0
  241. data/doc/classes/PNG.src/M000185.html +18 -0
  242. data/doc/classes/PNG.src/M000186.html +21 -0
  243. data/doc/classes/PNG.src/M000187.html +26 -0
  244. data/doc/classes/PNG.src/M000188.html +26 -0
  245. data/doc/classes/PascalDos.html +203 -0
  246. data/doc/classes/PascalDos.src/M000132.html +18 -0
  247. data/doc/classes/PascalDos.src/M000133.html +21 -0
  248. data/doc/classes/PascalDos.src/M000134.html +62 -0
  249. data/doc/classes/PascalFile.html +169 -0
  250. data/doc/classes/PascalFile.src/M000173.html +20 -0
  251. data/doc/classes/PascalFile.src/M000174.html +18 -0
  252. data/doc/classes/ProDos.html +164 -0
  253. data/doc/classes/ProDos.src/M000102.html +18 -0
  254. data/doc/classes/ProDos.src/M000103.html +22 -0
  255. data/doc/classes/ProDosFile.html +187 -0
  256. data/doc/classes/ProDosFile.src/M000015.html +20 -0
  257. data/doc/classes/ProDosFile.src/M000016.html +18 -0
  258. data/doc/classes/ProDosFile.src/M000017.html +19 -0
  259. data/doc/classes/Proc.html +315 -0
  260. data/doc/classes/Proc.src/M000053.html +21 -0
  261. data/doc/classes/Proc.src/M000054.html +19 -0
  262. data/doc/classes/Proc.src/M000055.html +22 -0
  263. data/doc/classes/Proc.src/M000056.html +22 -0
  264. data/doc/classes/Proc.src/M000057.html +22 -0
  265. data/doc/classes/Proc.src/M000058.html +19 -0
  266. data/doc/classes/Proc.src/M000059.html +16 -0
  267. data/doc/classes/Proc.src/M000060.html +20 -0
  268. data/doc/classes/Proc.src/M000061.html +18 -0
  269. data/doc/classes/Proc.src/M000062.html +16 -0
  270. data/doc/classes/Proc.src/M000063.html +16 -0
  271. data/doc/classes/ProcSource.html +146 -0
  272. data/doc/classes/ProcSource.src/M000248.html +38 -0
  273. data/doc/classes/ProcSource.src/M000249.html +109 -0
  274. data/doc/classes/RDoc.html +135 -0
  275. data/doc/classes/RDoc.src/M000247.html +40 -0
  276. data/doc/classes/RawDisk.html +157 -0
  277. data/doc/classes/RawDisk.src/M000100.html +18 -0
  278. data/doc/classes/RawDisk.src/M000101.html +18 -0
  279. data/doc/classes/RipXplore.html +124 -0
  280. data/doc/classes/RipXploreLog.html +167 -0
  281. data/doc/classes/RipXploreLog.src/M000139.html +18 -0
  282. data/doc/classes/RipXploreLog.src/M000140.html +20 -0
  283. data/doc/classes/RipXploreLog.src/M000141.html +18 -0
  284. data/doc/classes/ScAsm.html +145 -0
  285. data/doc/classes/ScAsm.src/M000004.html +45 -0
  286. data/doc/classes/SubclassTracking.html +138 -0
  287. data/doc/classes/SubclassTracking.src/M000250.html +23 -0
  288. data/doc/classes/TestFileCache.html +137 -0
  289. data/doc/classes/TestFileCache.src/M000184.html +21 -0
  290. data/doc/classes/Trs80.html +157 -0
  291. data/doc/classes/Trs80.src/M000043.html +18 -0
  292. data/doc/classes/Trs80.src/M000044.html +18 -0
  293. data/doc/classes/Trs80Cmd.html +217 -0
  294. data/doc/classes/Trs80Cmd.src/M000104.html +19 -0
  295. data/doc/classes/Trs80Cmd.src/M000105.html +24 -0
  296. data/doc/classes/Trs80Cmd.src/M000106.html +20 -0
  297. data/doc/classes/Trs80Cmd.src/M000107.html +35 -0
  298. data/doc/classes/Trs80Jcl.html +156 -0
  299. data/doc/classes/Trs80Jcl.src/M000233.html +20 -0
  300. data/doc/classes/Trs80Jcl.src/M000234.html +18 -0
  301. data/doc/classes/Trs80Jv1Dsk.html +211 -0
  302. data/doc/classes/Trs80Jv1Dsk.src/M000064.html +18 -0
  303. data/doc/classes/Trs80Jv1Dsk.src/M000065.html +18 -0
  304. data/doc/classes/Trs80Jv1Dsk.src/M000066.html +18 -0
  305. data/doc/classes/Trs80Jv1Dsk.src/M000067.html +18 -0
  306. data/doc/classes/Trs80Jv1Dsk.src/M000068.html +19 -0
  307. data/doc/classes/Trs80LevelIIBasic.html +169 -0
  308. data/doc/classes/Trs80LevelIIBasic.src/M000079.html +20 -0
  309. data/doc/classes/Trs80LevelIIBasic.src/M000080.html +43 -0
  310. data/doc/classes/Trs80PascalSource.html +156 -0
  311. data/doc/classes/Trs80PascalSource.src/M000202.html +20 -0
  312. data/doc/classes/Trs80PascalSource.src/M000203.html +30 -0
  313. data/doc/classes/TrsDos.html +255 -0
  314. data/doc/classes/TrsDos.src/M000031.html +18 -0
  315. data/doc/classes/TrsDos.src/M000032.html +18 -0
  316. data/doc/classes/TrsDos.src/M000033.html +18 -0
  317. data/doc/classes/TrsDos.src/M000034.html +62 -0
  318. data/doc/created.rid +1 -0
  319. data/doc/files/bin/ripxplore_rb.html +150 -0
  320. data/doc/files/lib/DumpUtilities_rb.html +101 -0
  321. data/doc/files/lib/FileCache_rb.html +110 -0
  322. data/doc/files/lib/FileContainer_rb.html +101 -0
  323. data/doc/files/lib/FileSystemImage_rb.html +109 -0
  324. data/doc/files/lib/FileSystem_rb.html +111 -0
  325. data/doc/files/lib/HostSystem_rb.html +110 -0
  326. data/doc/files/lib/ImageFormat_rb.html +111 -0
  327. data/doc/files/lib/NativeFileType_rb.html +111 -0
  328. data/doc/files/lib/PatchedPNG_rb.html +116 -0
  329. data/doc/files/lib/RipXploreLog_rb.html +108 -0
  330. data/doc/files/lib/RipXplore_rb.html +114 -0
  331. data/doc/files/lib/SubclassTracking_rb.html +108 -0
  332. data/doc/files/lib/disassemblers/D65_rb.html +101 -0
  333. data/doc/files/lib/file_systems/AppleCPM_rb.html +108 -0
  334. data/doc/files/lib/file_systems/AppleDos_rb.html +108 -0
  335. data/doc/files/lib/file_systems/AtariDos_rb.html +108 -0
  336. data/doc/files/lib/file_systems/CbmDos_rb.html +108 -0
  337. data/doc/files/lib/file_systems/NADOLDos_rb.html +108 -0
  338. data/doc/files/lib/file_systems/PascalDos_rb.html +108 -0
  339. data/doc/files/lib/file_systems/ProDos_rb.html +108 -0
  340. data/doc/files/lib/file_systems/RawDisk_rb.html +108 -0
  341. data/doc/files/lib/file_systems/TrsDos_rb.html +108 -0
  342. data/doc/files/lib/host_systems/Apple2_rb.html +109 -0
  343. data/doc/files/lib/host_systems/Atari800_rb.html +109 -0
  344. data/doc/files/lib/host_systems/C64_rb.html +109 -0
  345. data/doc/files/lib/host_systems/Trs80_rb.html +108 -0
  346. data/doc/files/lib/image_formats/A2Dsk_rb.html +108 -0
  347. data/doc/files/lib/image_formats/Atr_rb.html +108 -0
  348. data/doc/files/lib/image_formats/D64_rb.html +108 -0
  349. data/doc/files/lib/image_formats/G64_rb.html +108 -0
  350. data/doc/files/lib/image_formats/Trs80Jv1Dsk_rb.html +108 -0
  351. data/doc/files/lib/native_file_types/apple2/AppleBinary_rb.html +108 -0
  352. data/doc/files/lib/native_file_types/apple2/AppleHiResPic_rb.html +108 -0
  353. data/doc/files/lib/native_file_types/apple2/AppleText_rb.html +108 -0
  354. data/doc/files/lib/native_file_types/apple2/AppleWorksWP_rb.html +108 -0
  355. data/doc/files/lib/native_file_types/apple2/Applesoft_rb.html +108 -0
  356. data/doc/files/lib/native_file_types/apple2/IntegerBASIC_rb.html +108 -0
  357. data/doc/files/lib/native_file_types/apple2/NADOLFile_rb.html +108 -0
  358. data/doc/files/lib/native_file_types/apple2/PascalFile_rb.html +108 -0
  359. data/doc/files/lib/native_file_types/apple2/ProDosFile_rb.html +108 -0
  360. data/doc/files/lib/native_file_types/apple2/ScAsm_rb.html +101 -0
  361. data/doc/files/lib/native_file_types/atari800/AtariBasic_rb.html +108 -0
  362. data/doc/files/lib/native_file_types/atari800/AtariBinary_rb.html +108 -0
  363. data/doc/files/lib/native_file_types/atari800/AtariText_rb.html +108 -0
  364. data/doc/files/lib/native_file_types/c64/C64BasicPrg_rb.html +109 -0
  365. data/doc/files/lib/native_file_types/c64/C64PrgText_rb.html +109 -0
  366. data/doc/files/lib/native_file_types/c64/C64Prg_rb.html +109 -0
  367. data/doc/files/lib/native_file_types/c64/C64Seq_rb.html +109 -0
  368. data/doc/files/lib/native_file_types/c64/CbmFile_rb.html +108 -0
  369. data/doc/files/lib/native_file_types/cpm/CPMFile_rb.html +108 -0
  370. data/doc/files/lib/native_file_types/cpm/MBasic_rb.html +108 -0
  371. data/doc/files/lib/native_file_types/generic/GenericFile_rb.html +101 -0
  372. data/doc/files/lib/native_file_types/trs80/Trs80Cmd_rb.html +108 -0
  373. data/doc/files/lib/native_file_types/trs80/Trs80Jcl_rb.html +108 -0
  374. data/doc/files/lib/native_file_types/trs80/Trs80LevelIIBasic_rb.html +108 -0
  375. data/doc/files/lib/native_file_types/trs80/Trs80PascalSource_rb.html +108 -0
  376. data/doc/files/lib/proc_source_rb.html +182 -0
  377. data/doc/files/lib/proc_source_rb.src/M000001.html +24 -0
  378. data/doc/files/lib/rdoc_patch_rb.html +108 -0
  379. data/doc/files/test/tc_file_cache_rb.html +108 -0
  380. data/doc/files/test/tc_image_sniffing_rb.html +108 -0
  381. data/doc/files/test/testhelper_rb.html +129 -0
  382. data/doc/files/test/ts_test_all_rb.html +108 -0
  383. data/doc/fr_class_index.html +26 -0
  384. data/doc/fr_file_index.html +27 -0
  385. data/doc/fr_method_index.html +26 -0
  386. data/doc/index.html +24 -0
  387. data/doc/rdoc-style.css +208 -0
  388. data/lib/DumpUtilities.rb +34 -0
  389. data/lib/FileCache.rb +84 -0
  390. data/lib/FileContainer.rb +45 -0
  391. data/lib/FileSystem.rb +83 -0
  392. data/lib/FileSystemImage.rb +176 -0
  393. data/lib/HostSystem.rb +84 -0
  394. data/lib/ImageFormat.rb +127 -0
  395. data/lib/NativeFileType.rb +168 -0
  396. data/lib/PatchedPNG.rb +303 -0
  397. data/lib/RipXplore.rb +77 -0
  398. data/lib/RipXploreLog.rb +63 -0
  399. data/lib/SubclassTracking.rb +11 -0
  400. data/lib/disassemblers/D65.rb +181 -0
  401. data/lib/file_systems/AppleCPM.rb +123 -0
  402. data/lib/file_systems/AppleDos.rb +211 -0
  403. data/lib/file_systems/AtariDos.rb +80 -0
  404. data/lib/file_systems/CbmDos.rb +75 -0
  405. data/lib/file_systems/NADOLDos.rb +110 -0
  406. data/lib/file_systems/PascalDos.rb +131 -0
  407. data/lib/file_systems/ProDos.rb +155 -0
  408. data/lib/file_systems/RawDisk.rb +45 -0
  409. data/lib/file_systems/TrsDos.rb +148 -0
  410. data/lib/host_systems/Apple2.rb +57 -0
  411. data/lib/host_systems/Atari800.rb +57 -0
  412. data/lib/host_systems/C64.rb +82 -0
  413. data/lib/host_systems/Trs80.rb +48 -0
  414. data/lib/host_systems/a2_symbols.yaml +199 -0
  415. data/lib/host_systems/atari_800_symbols.yaml +496 -0
  416. data/lib/host_systems/c64_symbols.yaml +636 -0
  417. data/lib/image_formats/A2Dsk.rb +77 -0
  418. data/lib/image_formats/Atr.rb +83 -0
  419. data/lib/image_formats/D64.rb +87 -0
  420. data/lib/image_formats/G64.rb +174 -0
  421. data/lib/image_formats/Trs80Jv1Dsk.rb +65 -0
  422. data/lib/native_file_types/apple2/AppleBinary.rb +51 -0
  423. data/lib/native_file_types/apple2/AppleHiResPic.rb +166 -0
  424. data/lib/native_file_types/apple2/AppleText.rb +43 -0
  425. data/lib/native_file_types/apple2/AppleWorksWP.rb +68 -0
  426. data/lib/native_file_types/apple2/Applesoft.rb +115 -0
  427. data/lib/native_file_types/apple2/IntegerBASIC.rb +217 -0
  428. data/lib/native_file_types/apple2/NADOLFile.rb +205 -0
  429. data/lib/native_file_types/apple2/PascalFile.rb +48 -0
  430. data/lib/native_file_types/apple2/ProDosFile.rb +112 -0
  431. data/lib/native_file_types/apple2/ScAsm.rb +110 -0
  432. data/lib/native_file_types/atari800/AtariBasic.rb +396 -0
  433. data/lib/native_file_types/atari800/AtariBinary.rb +53 -0
  434. data/lib/native_file_types/atari800/AtariText.rb +49 -0
  435. data/lib/native_file_types/c64/C64BasicPrg.rb +333 -0
  436. data/lib/native_file_types/c64/C64Prg.rb +57 -0
  437. data/lib/native_file_types/c64/C64PrgText.rb +45 -0
  438. data/lib/native_file_types/c64/C64Seq.rb +47 -0
  439. data/lib/native_file_types/c64/CbmFile.rb +41 -0
  440. data/lib/native_file_types/cpm/CPMFile.rb +40 -0
  441. data/lib/native_file_types/cpm/MBasic.rb +311 -0
  442. data/lib/native_file_types/generic/GenericFile.rb +43 -0
  443. data/lib/native_file_types/trs80/Trs80Cmd.rb +130 -0
  444. data/lib/native_file_types/trs80/Trs80Jcl.rb +43 -0
  445. data/lib/native_file_types/trs80/Trs80LevelIIBasic.rb +201 -0
  446. data/lib/native_file_types/trs80/Trs80PascalSource.rb +58 -0
  447. data/lib/proc_source.rb +238 -0
  448. data/lib/rdoc_patch.rb +32 -0
  449. data/test/tc_file_cache.rb +11 -0
  450. data/test/tc_image_sniffing.rb +165 -0
  451. data/test/testhelper.rb +14 -0
  452. data/test/testlog.txt +30755 -0
  453. data/test/ts_test_all.rb +3 -0
  454. metadata +601 -0
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>end_track (ImageFormat)</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/ImageFormat.rb, line 68</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">end_track</span>
15
+ <span class="ruby-identifier">track_count</span><span class="ruby-operator">-</span><span class="ruby-value">1</span><span class="ruby-operator">+</span><span class="ruby-identifier">start_track</span>
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>code_for_tests (ImageFormat)</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/ImageFormat.rb, line 73</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">code_for_tests</span>
15
+ <span class="ruby-ivar">@@code_for_tests</span>[<span class="ruby-keyword kw">self</span>] <span class="ruby-operator">||</span> []
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,20 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>is_valid_image_if (ImageFormat)</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/ImageFormat.rb, line 77</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">is_valid_image_if</span>(<span class="ruby-identifier">code_for_test</span>)
15
+ <span class="ruby-constant">RipXploreLog</span>.<span class="ruby-identifier">debug</span> <span class="ruby-node">&quot;adding test for #{self}: #{code_for_test.source}&quot;</span>
16
+ <span class="ruby-ivar">@@code_for_tests</span>[<span class="ruby-keyword kw">self</span>] <span class="ruby-operator">||=</span>[]
17
+ <span class="ruby-ivar">@@code_for_tests</span>[<span class="ruby-keyword kw">self</span>]<span class="ruby-operator">&lt;&lt;</span><span class="ruby-identifier">code_for_test</span>.<span class="ruby-identifier">source</span>
18
+ <span class="ruby-keyword kw">end</span></pre>
19
+ </body>
20
+ </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>compatability_score (ImageFormat)</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/ImageFormat.rb, line 83</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">compatability_score</span>(<span class="ruby-identifier">file_system_image</span>)
15
+ <span class="ruby-identifier">final_score</span>=<span class="ruby-value">1</span>
16
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">code_for_tests</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">code_for_test</span><span class="ruby-operator">|</span>
17
+ <span class="ruby-constant">RipXploreLog</span>.<span class="ruby-identifier">debug</span> <span class="ruby-node">&quot;test for #{file_system_image.filename}#{self} : #{code_for_test} &quot;</span>
18
+ <span class="ruby-identifier">result</span> = <span class="ruby-identifier">eval</span> <span class="ruby-identifier">code_for_test</span>,<span class="ruby-identifier">binding</span>
19
+ <span class="ruby-constant">RipXploreLog</span>.<span class="ruby-identifier">debug</span> <span class="ruby-node">&quot;result : #{result}&quot;</span>
20
+ <span class="ruby-identifier">final_score</span><span class="ruby-operator">+=</span><span class="ruby-value">1</span>
21
+ <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">result</span>)
22
+ <span class="ruby-keyword kw">end</span>
23
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">final_score</span>
24
+ <span class="ruby-keyword kw">end</span></pre>
25
+ </body>
26
+ </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>new (ImageFormat)</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/ImageFormat.rb, line 97</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">file_bytes</span>)
15
+ <span class="ruby-ivar">@file_bytes</span>=<span class="ruby-identifier">file_bytes</span>
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,152 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Class: ImageSniffing</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Class</strong></td>
53
+ <td class="class-name-in-header">ImageSniffing</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../files/test/tc_image_sniffing_rb.html">
59
+ test/tc_image_sniffing.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ Test::Unit::TestCase
69
+ </td>
70
+ </tr>
71
+ </table>
72
+ </div>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+
77
+
78
+
79
+ <div id="contextContent">
80
+
81
+
82
+
83
+ </div>
84
+
85
+ <div id="method-list">
86
+ <h3 class="section-bar">Methods</h3>
87
+
88
+ <div class="name-list">
89
+ <a href="#M000051">sniff_url</a>&nbsp;&nbsp;
90
+ <a href="#M000052">test_sniffing</a>&nbsp;&nbsp;
91
+ </div>
92
+ </div>
93
+
94
+ </div>
95
+
96
+
97
+ <!-- if includes -->
98
+
99
+ <div id="section">
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+ <!-- if method_list -->
109
+ <div id="methods">
110
+ <h3 class="section-bar">Public Instance methods</h3>
111
+
112
+ <div id="method-M000051" class="method-detail">
113
+ <a name="M000051"></a>
114
+
115
+ <div class="method-heading">
116
+ <a href="ImageSniffing.src/M000051.html" target="Code" class="method-signature"
117
+ onclick="popupCode('ImageSniffing.src/M000051.html');return false;">
118
+ <span class="method-name">sniff_url</span><span class="method-args">(url,expected_image_format,expected_file_system,expected_files=nil)</span>
119
+ </a>
120
+ </div>
121
+
122
+ <div class="method-description">
123
+ </div>
124
+ </div>
125
+
126
+ <div id="method-M000052" class="method-detail">
127
+ <a name="M000052"></a>
128
+
129
+ <div class="method-heading">
130
+ <a href="ImageSniffing.src/M000052.html" target="Code" class="method-signature"
131
+ onclick="popupCode('ImageSniffing.src/M000052.html');return false;">
132
+ <span class="method-name">test_sniffing</span><span class="method-args">()</span>
133
+ </a>
134
+ </div>
135
+
136
+ <div class="method-description">
137
+ </div>
138
+ </div>
139
+
140
+
141
+ </div>
142
+
143
+
144
+ </div>
145
+
146
+
147
+ <div id="validator-badges">
148
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
149
+ </div>
150
+
151
+ </body>
152
+ </html>
@@ -0,0 +1,57 @@
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>sniff_url (ImageSniffing)</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_image_sniffing.rb, line 5</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sniff_url</span>(<span class="ruby-identifier">url</span>,<span class="ruby-identifier">expected_image_format</span>,<span class="ruby-identifier">expected_file_system</span>,<span class="ruby-identifier">expected_files</span>=<span class="ruby-keyword kw">nil</span>)
15
+ <span class="ruby-identifier">assert</span>(<span class="ruby-constant">FileSystemImage</span>.<span class="ruby-identifier">is_file_system_image_filename?</span>(<span class="ruby-identifier">url</span>),<span class="ruby-node">&quot;#{url} should have a known file system image extension&quot;</span>)
16
+ <span class="ruby-identifier">file</span>=<span class="ruby-ivar">@@filecache</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">url</span>)
17
+ <span class="ruby-constant">RipXploreLog</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;checking #{file.path}&quot;</span>)
18
+ <span class="ruby-identifier">image</span>=<span class="ruby-constant">RipXplore</span>.<span class="ruby-identifier">best_fit_from_file</span>(<span class="ruby-identifier">file</span>)
19
+ <span class="ruby-identifier">assert_equal</span>(<span class="ruby-identifier">expected_file_system</span>,<span class="ruby-identifier">image</span>.<span class="ruby-identifier">file_system</span>,<span class="ruby-node">&quot;validation of file system for #{url}&quot;</span>)
20
+ <span class="ruby-identifier">assert_kind_of</span>(<span class="ruby-identifier">expected_image_format</span>,<span class="ruby-identifier">image</span>.<span class="ruby-identifier">image_format</span>,<span class="ruby-node">&quot;validation of image format for #{url}&quot;</span>)
21
+
22
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">expected_files</span>.<span class="ruby-identifier">nil?</span>
23
+ <span class="ruby-identifier">expected_files</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">expected_file</span><span class="ruby-operator">|</span>
24
+ <span class="ruby-identifier">expected_file_filename</span>=<span class="ruby-identifier">expected_file</span>[<span class="ruby-identifier">:filename</span>]
25
+ <span class="ruby-constant">RipXploreLog</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;validating #{expected_file_filename}&quot;</span>)
26
+ <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;no native files identified in image&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">image</span>.<span class="ruby-identifier">files</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">image</span>.<span class="ruby-identifier">files</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">==</span><span class="ruby-value">0</span>
27
+ <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;image.files should of type FileContainer but was #{image.files.class} (file system=#{image.file_system})&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">image</span>.<span class="ruby-identifier">files</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">FileContainer</span>)
28
+ <span class="ruby-identifier">native_file</span>=<span class="ruby-identifier">image</span>.<span class="ruby-identifier">files</span>[<span class="ruby-identifier">expected_file_filename</span>]
29
+ <span class="ruby-identifier">assert_not_nil</span>(<span class="ruby-identifier">native_file</span>,<span class="ruby-node">&quot;#{expected_file_filename} should exist in #{url} - files found: #{image.catalog}&quot;</span>)
30
+ <span class="ruby-identifier">expected_native_file_type</span>=<span class="ruby-identifier">expected_file</span>[<span class="ruby-identifier">:expected_native_file_type</span>]
31
+ <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">expected_native_file_type</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword kw">then</span>
32
+ <span class="ruby-identifier">assert_kind_of</span>(<span class="ruby-identifier">expected_native_file_type</span>,<span class="ruby-identifier">native_file</span>,<span class="ruby-node">&quot;native file type of #{expected_file_filename} should be as specified&quot;</span>)
33
+ <span class="ruby-keyword kw">end</span>
34
+ <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">expected_file</span>[<span class="ruby-identifier">:load_address</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-keyword kw">then</span>
35
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">expected_file</span>[<span class="ruby-identifier">:load_address</span>]<span class="ruby-operator">==</span><span class="ruby-identifier">native_file</span>.<span class="ruby-identifier">load_address</span>,<span class="ruby-node">&quot;load address of #{expected_file_filename} should be $#{&quot;%04x&quot; % expected_file[:load_address]} but was $#{&quot;%04X&quot; % native_file.load_address}&quot;</span>)
36
+ <span class="ruby-keyword kw">end</span>
37
+ <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">expected_file</span>[<span class="ruby-identifier">:can_execute</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-keyword kw">then</span>
38
+ <span class="ruby-identifier">method_to_call</span>=<span class="ruby-identifier">expected_file</span>[<span class="ruby-identifier">:can_execute</span>]
39
+ <span class="ruby-identifier">native_file</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">method_to_call</span>)
40
+ <span class="ruby-keyword kw">end</span>
41
+
42
+ <span class="ruby-identifier">expected_file_text_starts_with</span>=<span class="ruby-identifier">expected_file</span>[<span class="ruby-identifier">:text_starts_with</span>]
43
+ <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">expected_file_text_starts_with</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword kw">then</span>
44
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">native_file</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:to_text</span>),<span class="ruby-node">&quot;#{expected_file_filename} should respond to :to_text&quot;</span>)
45
+ <span class="ruby-identifier">assert_equal</span>(<span class="ruby-identifier">expected_file_text_starts_with</span>,<span class="ruby-identifier">native_file</span>.<span class="ruby-identifier">to_text</span>[<span class="ruby-value">0</span>,<span class="ruby-identifier">expected_file_text_starts_with</span>.<span class="ruby-identifier">length</span>],<span class="ruby-node">&quot;start of #{expected_file_filename} should be as specified&quot;</span>)
46
+ <span class="ruby-keyword kw">end</span>
47
+
48
+ <span class="ruby-identifier">expected_file_listing_starts_with</span>=<span class="ruby-identifier">expected_file</span>[<span class="ruby-identifier">:listing_starts_with</span>]
49
+ <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">expected_file_listing_starts_with</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword kw">then</span>
50
+ <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">native_file</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:to_listing</span>),<span class="ruby-node">&quot;#{expected_file_filename} should respond to :to_listing&quot;</span>)
51
+ <span class="ruby-identifier">assert_equal</span>(<span class="ruby-identifier">expected_file_listing_starts_with</span>,<span class="ruby-identifier">native_file</span>.<span class="ruby-identifier">to_listing</span>[<span class="ruby-value">0</span>,<span class="ruby-identifier">expected_file_listing_starts_with</span>.<span class="ruby-identifier">length</span>],<span class="ruby-node">&quot;start of #{expected_file_filename} should be as specified&quot;</span>)
52
+ <span class="ruby-keyword kw">end</span>
53
+
54
+ <span class="ruby-keyword kw">end</span>
55
+ <span class="ruby-keyword kw">end</span></pre>
56
+ </body>
57
+ </html>
@@ -0,0 +1,131 @@
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_sniffing (ImageSniffing)</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_image_sniffing.rb, line 48</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_sniffing</span>
15
+
16
+
17
+ <span class="ruby-identifier">sniff_url</span>(<span class="ruby-value str">&quot;http://www.zimmers.net/anonftp/pub/cbm/c64/programming/BASIC-Programming-Tools.DaveJB.d64.gz&quot;</span>,<span class="ruby-constant">D64</span>,<span class="ruby-constant">CbmDos</span>,
18
+ [{<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;p&amp;p.asm&quot;</span>,<span class="ruby-identifier">:text_starts_with=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;; *** peek&amp;poke *\n; (c) dave - 9&quot;</span>}]
19
+ )
20
+ <span class="ruby-identifier">sniff_url</span>(<span class="ruby-value str">&quot;http://www.zimmers.net/anonftp/pub/cbm/c64/programming/Logo-utilities.d64.gz&quot;</span>,<span class="ruby-constant">D64</span>,<span class="ruby-constant">CbmDos</span>,
21
+ [{<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;while.logo&quot;</span>,<span class="ruby-identifier">:text_starts_with=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;to help\n nd&quot;</span>}]
22
+ )
23
+
24
+ <span class="ruby-identifier">sniff_url</span>(<span class="ruby-value str">&quot;http://www.atariarchives.org/oldhackers/OHJFM00A.ATR&quot;</span>,<span class="ruby-constant">Atr</span>,<span class="ruby-constant">AtariDos</span>,[
25
+ {<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;HELP.DOC&quot;</span>,<span class="ruby-identifier">:expected_native_file_type=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">AtariText</span>,<span class="ruby-identifier">:text_starts_with=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot; The OL' HACKERS Disk Newsletter Help\n&quot;</span>},
26
+ {<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;GDRIVES.TXT&quot;</span>,<span class="ruby-identifier">:expected_native_file_type=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">AtariText</span>,<span class="ruby-identifier">:text_starts_with=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot; Life Insurance For Your Disk Drives\n by Ron Fetzer\n\n Are you&quot;</span>},
27
+ {<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">'DUP.SYS'</span>,<span class="ruby-identifier">:expected_native_file_type=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">AtariBinary</span>,<span class="ruby-identifier">:load_address=</span><span class="ruby-operator">&gt;</span><span class="ruby-value">0x1</span><span class="ruby-constant">F0C</span>,<span class="ruby-identifier">:can_execute=</span><span class="ruby-operator">&gt;</span><span class="ruby-identifier">:to_listing</span>},
28
+ {<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;WELCOME.BAS&quot;</span>,<span class="ruby-identifier">:expected_native_file_type=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">AtariBasic</span>,<span class="ruby-identifier">:listing_starts_with=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;10 DIM CIO$(20),SCR$(958):POKE 82,0:POKE 752,1:PRINT \&quot;}\&quot;:POKE 559,0:POKE 709,12:POKE 710,20:POKE 712,24\n20 CIO$=&quot;</span>},
29
+ ])
30
+
31
+ <span class="ruby-identifier">sniff_url</span>(<span class="ruby-value str">&quot;http://www.atariarchives.org/oldhackers/OHJFM00B.ATR&quot;</span>,<span class="ruby-constant">Atr</span>,<span class="ruby-constant">AtariDos</span>,[
32
+ {<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;LABEL.TUR&quot;</span>,<span class="ruby-identifier">:expected_native_file_type=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">AtariBasic</span>,<span class="ruby-identifier">:can_execute=</span><span class="ruby-operator">&gt;</span><span class="ruby-identifier">:to_listing</span>},
33
+ {<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;SUBATACK.TUR&quot;</span>,<span class="ruby-identifier">:expected_native_file_type=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">AtariBasic</span>,<span class="ruby-identifier">:can_execute=</span><span class="ruby-operator">&gt;</span><span class="ruby-identifier">:to_listing</span>},
34
+ ])
35
+ <span class="ruby-identifier">sniff_url</span>(<span class="ruby-value str">&quot;http://ape.dyndns.org:8085/A-J/Bank_Street_Writer.atr&quot;</span>,<span class="ruby-constant">Atr</span>,<span class="ruby-constant">AtariDos</span>,
36
+ [
37
+ {<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">'UTILA.SYS'</span>,<span class="ruby-identifier">:expected_native_file_type=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">AtariBasic</span>,<span class="ruby-identifier">:can_execute=</span><span class="ruby-operator">&gt;</span><span class="ruby-identifier">:to_listing</span>},
38
+ ])
39
+
40
+
41
+ <span class="ruby-identifier">sniff_url</span>(<span class="ruby-value str">&quot;http://www.classic-computers.org.nz/system-80/disks/NEWDOS_80sssd_jv1.DSK&quot;</span>,<span class="ruby-constant">Trs80Jv1Dsk</span>,<span class="ruby-constant">TrsDos</span>,[
42
+ {<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">'CHAINTST/JCL'</span>,<span class="ruby-identifier">:expected_native_file_type=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">Trs80Jcl</span>,<span class="ruby-identifier">:listing_starts_with=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;/./2THIS MESSAGE SHOULD NOT BE PRINTED&quot;</span>},
43
+ {<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">'EDTASM/CMD'</span>,<span class="ruby-identifier">:expected_native_file_type=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">Trs80Cmd</span>,<span class="ruby-identifier">:load_address=</span><span class="ruby-operator">&gt;</span><span class="ruby-value">0x5200</span>} ])
44
+
45
+ <span class="ruby-identifier">sniff_url</span>(<span class="ruby-value str">&quot;http://www.classic-computers.org.nz/system-80/disks/BASIC-games-1_80sssd_jv1.DSK&quot;</span>,<span class="ruby-constant">Trs80Jv1Dsk</span>,<span class="ruby-constant">TrsDos</span>,[
46
+ {<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">'RATS/BAS'</span>,<span class="ruby-identifier">:expected_native_file_type=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">Trs80LevelIIBasic</span>,<span class="ruby-identifier">:listing_starts_with=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;1 CLS:FORS=0TO44STEP4:FORJ=0TO126STEP6:SET(J,S):NEXTJ,S:FORI=0TO34:READJ:NEXT&quot;</span>}
47
+ ])
48
+
49
+
50
+ <span class="ruby-identifier">sniff_url</span>(<span class="ruby-value str">&quot;http://www.classic-computers.org.nz/system-80/disks/pascal_80sssd_jv1.DSK&quot;</span>,<span class="ruby-constant">Trs80Jv1Dsk</span>,<span class="ruby-constant">TrsDos</span>,
51
+ [
52
+ {<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">'MAILIST/SRC'</span>,<span class="ruby-identifier">:expected_native_file_type=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">Trs80PascalSource</span>,<span class="ruby-identifier">:listing_starts_with=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">' '</span>}
53
+ ])
54
+
55
+ <span class="ruby-identifier">sniff_url</span>(<span class="ruby-value str">&quot;http://www.classic-computers.org.nz/system-80/disks/dunjon_80sssd_jv1.DSK&quot;</span>,<span class="ruby-constant">Trs80Jv1Dsk</span>,<span class="ruby-constant">TrsDos</span>,
56
+ [
57
+ {<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">'INN2/'</span>,<span class="ruby-identifier">:expected_native_file_type=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">Trs80LevelIIBasic</span>}
58
+ ])
59
+
60
+ <span class="ruby-identifier">sniff_url</span>(<span class="ruby-value str">&quot;http://www.zimmers.net/anonftp/pub/cbm/c64/magazines/Ahoy/1986-01.d64.gz&quot;</span>,<span class="ruby-constant">D64</span>,<span class="ruby-constant">CbmDos</span>,[
61
+ {<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;sketcher.s&quot;</span>,<span class="ruby-identifier">:expected_native_file_type=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">C64PrgText</span>,<span class="ruby-identifier">:text_starts_with=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;*\n* SKETCHER&quot;</span>}
62
+ ])
63
+ <span class="ruby-identifier">sniff_url</span>(<span class="ruby-value str">&quot;http://www.zimmers.net/anonftp/pub/cbm/demodisks/c128/cpm.system.622-3282252.d64.gz&quot;</span>,<span class="ruby-constant">D64</span>,<span class="ruby-constant">CbmDos</span>)
64
+
65
+ <span class="ruby-identifier">sniff_url</span>(<span class="ruby-value str">&quot;http://www.zimmers.net/anonftp/pub/cbm/c128/programming/d-ass.d64.gz&quot;</span>,<span class="ruby-constant">D64</span>,<span class="ruby-constant">CbmDos</span>,
66
+ [{<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;DOUBLE-ASS&quot;</span>,<span class="ruby-identifier">:expected_native_file_type=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">C64Prg</span>,<span class="ruby-identifier">:can_execute=</span><span class="ruby-operator">&gt;</span><span class="ruby-identifier">:to_disassembly</span>}]
67
+ )
68
+
69
+ <span class="ruby-identifier">sniff_url</span>(<span class="ruby-value str">&quot;http://www.zimmers.net/anonftp/pub/cbm/c64/magazines/Ahoy/best-1985.d64.gz&quot;</span>,<span class="ruby-constant">D64</span>,<span class="ruby-constant">CbmDos</span>,[
70
+ {<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;gameloader d'85&quot;</span>,<span class="ruby-identifier">:expected_native_file_type=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">C64BasicPrg</span>,<span class="ruby-identifier">:load_address=</span><span class="ruby-operator">&gt;</span><span class="ruby-value">0x0801</span>,<span class="ruby-identifier">:listing_starts_with=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;1 REM ********&quot;</span>}
71
+ ])
72
+
73
+ <span class="ruby-identifier">sniff_url</span>(<span class="ruby-value str">&quot;http://www.jamtronix.com/dsks/EARTHDEF.DSK&quot;</span>,<span class="ruby-constant">A2DskPhysicalOrder</span>,<span class="ruby-constant">AppleDos</span>,[
74
+ {<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;HELLO&quot;</span>,<span class="ruby-identifier">:expected_native_file_type=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">Applesoft</span>,<span class="ruby-identifier">:listing_starts_with=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;10 REM&quot;</span>}])
75
+
76
+ <span class="ruby-identifier">sniff_url</span>(<span class="ruby-value str">&quot;http://mirrors.apple2.org.za/ftp.apple.asimov.net/images/disk_utils/cracking_techniques_1982.dsk.gz&quot;</span>,<span class="ruby-constant">A2DskPhysicalOrder</span>,<span class="ruby-constant">AppleDos</span>,[
77
+ {<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;HELLO&quot;</span>,<span class="ruby-identifier">:expected_native_file_type=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">Applesoft</span>,<span class="ruby-identifier">:listing_starts_with=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">'10 PRINT &quot;** DOCTOR DOS **'</span>}])
78
+
79
+ <span class="ruby-identifier">sniff_url</span>(<span class="ruby-value str">&quot;http://mirrors.apple2.org.za/ftp.apple.asimov.net/images/masters/dos33_with_adt.dsk&quot;</span>,<span class="ruby-constant">A2DskPhysicalOrder</span>,<span class="ruby-constant">AppleDos</span>,[
80
+ {<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;APPLESOFT&quot;</span>,<span class="ruby-identifier">:expected_native_file_type=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">IntegerBASIC</span>,<span class="ruby-identifier">:listing_starts_with=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;10 REM&quot;</span>},
81
+ {<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;CHAIN&quot;</span>,<span class="ruby-identifier">:expected_native_file_type=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">AppleBinary</span>,<span class="ruby-identifier">:load_address=</span><span class="ruby-operator">&gt;</span><span class="ruby-value">0x0808</span>,<span class="ruby-identifier">:can_execute=</span><span class="ruby-operator">&gt;</span><span class="ruby-identifier">:to_listing</span>},
82
+ {<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;APPLE PROMS&quot;</span>,<span class="ruby-identifier">:expected_native_file_type=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">AppleText</span>,<span class="ruby-identifier">:text_starts_with=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;75\nDEL 1000,1250&quot;</span>}
83
+ ])
84
+ <span class="ruby-identifier">sniff_url</span>(<span class="ruby-value str">&quot;http://www.jamtronix.com/dsks/AAL_1.DSK&quot;</span>,<span class="ruby-constant">A2DskPhysicalOrder</span>,<span class="ruby-constant">AppleDos</span>,[
85
+ {<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;DIVIDE BY TEN&quot;</span>,<span class="ruby-identifier">:expected_native_file_type=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">ScAsm</span>,<span class="ruby-identifier">:listing_starts_with=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;930 .LIST OFF&quot;</span>}])
86
+
87
+ <span class="ruby-identifier">sniff_url</span>(<span class="ruby-value str">&quot;http://mirrors.apple2.org.za/ftp.apple.asimov.net/images/disk_utils/APTEST.DSK&quot;</span>,<span class="ruby-constant">A2DskPhysicalOrder</span>,<span class="ruby-constant">AppleDos</span>)
88
+ <span class="ruby-identifier">sniff_url</span>(<span class="ruby-value str">&quot;http://www.jamtronix.com/dsks/dosmaster.po&quot;</span>,<span class="ruby-constant">A2DskPhysicalOrder</span>,<span class="ruby-constant">ProDos</span>)
89
+ <span class="ruby-identifier">sniff_url</span>(<span class="ruby-value str">&quot;http://mirrors.apple2.org.za/ftp.apple.asimov.net/images/disk_utils/copy_ii+_v7.1.do.gz&quot;</span>,<span class="ruby-constant">A2DskDosOrder</span>,<span class="ruby-constant">ProDos</span>)
90
+
91
+ <span class="ruby-identifier">sniff_url</span>(<span class="ruby-value str">&quot;http://mirrors.apple2.org.za/ftp.apple.asimov.net/images/disk_utils/prosel_utilities.dsk.gz&quot;</span>,<span class="ruby-constant">A2DskDosOrder</span>,<span class="ruby-constant">ProDos</span>,[
92
+ {<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;UTIL/CONFIG.RAMDRV&quot;</span>,<span class="ruby-identifier">:expected_native_file_type=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">Applesoft</span>,<span class="ruby-identifier">:listing_starts_with=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;10 REM ProSel Ram.Drive editor&quot;</span>}])
93
+
94
+ <span class="ruby-identifier">sniff_url</span>(<span class="ruby-value str">&quot;http://mirrors.apple2.org.za/ftp.apple.asimov.net/images/disk_utils/problock3.DSK&quot;</span>,<span class="ruby-constant">A2DskDosOrder</span>,<span class="ruby-constant">ProDos</span>,[
95
+ {<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;READ.ME&quot;</span>,<span class="ruby-identifier">:expected_native_file_type=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">AppleText</span>,<span class="ruby-identifier">:text_starts_with=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;This disk contains all the files required&quot;</span>}])
96
+
97
+ <span class="ruby-identifier">sniff_url</span>(<span class="ruby-value str">&quot;http://mirrors.apple2.org.za/landover.no-ip.com/Applications/Apple%20Works%20V5.0%20(1993)(Beagle%20Bros)(Disks%205%20of%206).dsk&quot;</span>,<span class="ruby-constant">A2DskDosOrder</span>,<span class="ruby-constant">ProDos</span>,[
98
+ {<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;AW.INITS/NARNIA.KNAVES&quot;</span>,<span class="ruby-identifier">:expected_native_file_type=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">AppleWorksWP</span>,<span class="ruby-identifier">:text_starts_with=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;This bonus screen blanker for AfterWork&quot;</span>}])
99
+
100
+
101
+ <span class="ruby-identifier">sniff_url</span>(<span class="ruby-value str">&quot;http://www.jamtronix.com/dsks/NADOL.DSK&quot;</span>,<span class="ruby-constant">A2DskPhysicalOrder</span>,<span class="ruby-constant">NADOLDos</span>,[
102
+ {<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;NADOL&quot;</span>,<span class="ruby-identifier">:expected_native_file_type=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">NADOLFile</span>},
103
+ {<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;LOGO&quot;</span>,<span class="ruby-identifier">:expected_native_file_type=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">AppleHiResPic</span>},
104
+ {<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;BRICKOUT&quot;</span>,<span class="ruby-identifier">:expected_native_file_type=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">NADOLTokens</span>,<span class="ruby-identifier">:listing_starts_with=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;; LORES BRICK-OUT GAME&quot;</span>}])
105
+
106
+ <span class="ruby-identifier">sniff_url</span>(<span class="ruby-value str">&quot;http://www.apple2.org.za/mirrors/ftp.apple.asimov.net/images/educational/camps.dsk.gz&quot;</span>,<span class="ruby-constant">A2DskDosOrder</span>,<span class="ruby-constant">PascalDos</span>,
107
+ [{<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;CAMPS.FOTO&quot;</span>,<span class="ruby-identifier">:expected_native_file_type=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">AppleHiResPic</span>,<span class="ruby-identifier">:can_execute=</span><span class="ruby-operator">&gt;</span><span class="ruby-identifier">:to_png</span>}])
108
+
109
+ <span class="ruby-identifier">sniff_url</span>(<span class="ruby-value str">&quot;http://mirrors.apple2.org.za/landover.no-ip.com/Applications/Algebra%20Mentor%20(19xx)(John%20C.%20Miller)(Disk%206%20of%207%20Side%20A)(Student%20Disk%206).dsk&quot;</span>,<span class="ruby-constant">A2DskDosOrder</span>,<span class="ruby-constant">PascalDos</span>,
110
+ [{<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;SYSTEM.MISCINFO&quot;</span>,<span class="ruby-identifier">:expected_native_file_type=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">PascalFile</span>},
111
+ ])
112
+
113
+ <span class="ruby-identifier">sniff_url</span>(<span class="ruby-value str">&quot;http://mirrors.apple2.org.za/apple.cabi.net/Z80.CPM/STARCPM.DSK&quot;</span>,<span class="ruby-constant">A2DskPhysicalOrder</span>,<span class="ruby-constant">AppleCPM</span>,[
114
+ {<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;STAR.DOC&quot;</span>,<span class="ruby-identifier">:expected_native_file_type=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">CPMFile</span>},
115
+ ])
116
+
117
+ <span class="ruby-identifier">sniff_url</span>(<span class="ruby-value str">&quot;http://mirrors.apple2.org.za/ftp.apple.asimov.net/images/cpm/CPM1.PO&quot;</span>,<span class="ruby-constant">A2DskDosOrder</span>,<span class="ruby-constant">AppleCPM</span>,[
118
+ {<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;CONFIGIO.BAS&quot;</span>,<span class="ruby-identifier">:expected_native_file_type=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">MBasic</span>,<span class="ruby-identifier">:listing_starts_with=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;1 '\n2 ' I/O CONFIGURATION UTILITY&quot;</span>},
119
+ ])
120
+
121
+
122
+ <span class="ruby-identifier">sniff_url</span>(<span class="ruby-value str">&quot;http://mirrors.apple2.org.za/ftp.apple.asimov.net/images/games/file_based/White_Disks/white_03b.dsk.gz&quot;</span>,<span class="ruby-constant">A2DskPhysicalOrder</span>,<span class="ruby-constant">AppleDos</span>,[
123
+ {<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">&quot;RIP.PIC&quot;</span>,<span class="ruby-identifier">:expected_native_file_type=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">AppleHiResPic</span>,<span class="ruby-identifier">:can_execute=</span><span class="ruby-operator">&gt;</span><span class="ruby-identifier">:to_png</span>}])
124
+
125
+ <span class="ruby-identifier">sniff_url</span>(<span class="ruby-value str">&quot;http://ftp.strassenbahn.tk:81/inntram-public/off-topic/c64/www.c64.ch/samar_digital_s1.g64&quot;</span>,<span class="ruby-constant">G64</span>,<span class="ruby-constant">CbmDos</span>,[
126
+ {<span class="ruby-identifier">:filename=</span><span class="ruby-operator">&gt;</span><span class="ruby-value str">'skip intro-part1'</span>}
127
+ ])
128
+
129
+ <span class="ruby-keyword kw">end</span></pre>
130
+ </body>
131
+ </html>