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,49 @@
1
+ require 'NativeFileType'
2
+ class AtariText<NativeFileType
3
+
4
+ #text files are the default
5
+ def self.file_system_file_types
6
+ {
7
+ AtariDos=>:any
8
+ }
9
+ end
10
+
11
+ is_valid_file_if lambda {file_type!="SYS"}
12
+
13
+ #exclude tokenised BASIC files (which start with 00 00 ?? 01)
14
+ is_valid_file_if lambda {!((contents[0,2]=="\000\000") && (contents[3]==0x01))}
15
+
16
+ #exclude binary load files (which start with FF)
17
+ is_valid_file_if lambda {!(contents[0]==0xFF && contents[1]==0xFF)}
18
+
19
+ def to_text
20
+ Atari800.s_to_ascii(contents)
21
+ end
22
+
23
+ end
24
+
25
+
26
+ # == Author
27
+ # Jonno Downes (jonno@jamtronix.com)
28
+ #
29
+ # == Copyright
30
+ # Copyright (c) 2008 Jonno Downes (jonno@jamtronix.com)
31
+ #
32
+ #Permission is hereby granted, free of charge, to any person obtaining
33
+ #a copy of this software and associated documentation files (the
34
+ #"Software"), to deal in the Software without restriction, including
35
+ #without limitation the rights to use, copy, modify, merge, publish,
36
+ #distribute, sublicense, and/or sell copies of the Software, and to
37
+ #permit persons to whom the Software is furnished to do so, subject to
38
+ #the following conditions:
39
+
40
+ # The above copyright notice and this permission notice shall be
41
+ # included in all copies or substantial portions of the Software.
42
+
43
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
44
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
45
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
46
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
47
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
48
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
49
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,333 @@
1
+
2
+ $:.unshift(File.dirname(__FILE__)) unless
3
+ $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
4
+
5
+ require 'NativeFileType'
6
+
7
+ require 'C64Prg'
8
+
9
+ class C64BasicPrg<C64Prg
10
+
11
+ def self.file_system_file_types
12
+ {
13
+ CbmDos=>:prg
14
+ }
15
+ end
16
+
17
+ undef_method :to_disassembly
18
+
19
+ #load address should be 0x801
20
+ is_valid_file_if lambda {contents[0]==01 && contents[1]==0x08}
21
+
22
+ #tokens taken from http://www.zimmers.net/anonftp/pub/cbm/programming/cbm-basic-tokens.txt
23
+ CBM_BASIC_TOKENS={
24
+ 0x80=>"END",
25
+ 0x81=>"FOR",
26
+ 0x82=>"NEXT",
27
+ 0x83=>"DATA",
28
+ 0x84=>"INPUT#",
29
+ 0x85=>"INPUT",
30
+ 0x86=>"DIM",
31
+ 0x87=>"READ",
32
+ 0x88=>"LET",
33
+ 0x89=>"GOTO",
34
+ 0x8A=>"RUN",
35
+ 0x8B=>"IF",
36
+ 0x8C=>"RESTORE",
37
+ 0x8D=>"GOSUB",
38
+ 0x8E=>"RETURN",
39
+ 0x8F=>"REM",
40
+ 0x90=>"STOP",
41
+ 0x91=>"ON",
42
+ 0x92=>"WAIT",
43
+ 0x93=>"LOAD",
44
+ 0x94=>"SAVE",
45
+ 0x95=>"VERIFY",
46
+ 0x96=>"DEF",
47
+ 0x97=>"POKE",
48
+ 0x98=>"PRINT#",
49
+ 0x99=>"PRINT",
50
+ 0x9A=>"CONT",
51
+ 0x9B=>"LIST",
52
+ 0x9C=>"CLR",
53
+ 0x9D=>"CMD",
54
+ 0x9E=>"SYS",
55
+ 0x9F=>"OPEN",
56
+ 0xA0=>"CLOSE",
57
+ 0xA1=>"GET",
58
+ 0xA2=>"NEW",
59
+ 0xA3=>"TAB(",
60
+ 0xA4=>"TO",
61
+ 0xA5=>"FN",
62
+ 0xA6=>"SPC(",
63
+ 0xA7=>"THEN",
64
+ 0xA8=>"NOT",
65
+ 0xA9=>"STEP",
66
+ 0xAA=>"+",
67
+ 0xAB=>"-",
68
+ 0xAC=>"*",
69
+ 0xAD=>"/",
70
+ 0xAE=>"^",
71
+ 0xAF=>"AND",
72
+ 0xB0=>"OR",
73
+ 0xB1=>">",
74
+ 0xB2=>"=",
75
+ 0xB3=>"<",
76
+ 0xB4=>"SGN",
77
+ 0xB5=>"INT",
78
+ 0xB6=>"ABS",
79
+ 0xB7=>"USR",
80
+ 0xB8=>"FRE",
81
+ 0xB9=>"POS",
82
+ 0xBA=>"SQR",
83
+ 0xBB=>"RND",
84
+ 0xBC=>"LOG",
85
+ 0xBD=>"EXP",
86
+ 0xBE=>"COS",
87
+ 0xBF=>"SIN",
88
+ 0xC0=>"TAN",
89
+ 0xC1=>"ATN",
90
+ 0xC2=>"PEEK",
91
+ 0xC3=>"LEN",
92
+ 0xC4=>"STR$",
93
+ 0xC5=>"VAL",
94
+ 0xC6=>"ASC",
95
+ 0xC7=>"CHR$",
96
+ 0xC8=>"LEFT$",
97
+ 0xC9=>"RIGHT$",
98
+ 0xCA=>"MID$",
99
+ 0xCB=>"GO",
100
+ 0xCC=>'RGR',
101
+ 0xCD=>'RCLR',
102
+ 0xCE=>'RLUM',
103
+ 0xCF=>'JOY',
104
+ 0xD0=>'RDOT',
105
+ 0xD1=>'DEC',
106
+ 0xD2=>'HEX',
107
+ 0xD3=>'ERR',
108
+ 0xD4=>'INSTR',
109
+ 0xD5=>'ELSE',
110
+ 0xD6=>'RESUME',
111
+ 0xD7=>'TRAP',
112
+ 0xD8=>'TRON',
113
+ 0xD9=>'TROFF',
114
+ 0xDA=>'SOUND',
115
+ 0xDB=>'VOL',
116
+ 0xDC=>'AUTO',
117
+ 0xDD=>'PUDEF',
118
+ 0xDE=>'GRAPHIC',
119
+ 0xDF=>'PAINT',
120
+ 0xE0=>'CHAR',
121
+ 0xE1=>'BOX',
122
+ 0xE2=>'CIRCLE',
123
+ 0xE3=>'GSHAPE',
124
+ 0xE4=>'SSHAPE',
125
+ 0xE5=>'DRAW',
126
+ 0xE6=>'LOCATE',
127
+ 0xE7=>'COLOR',
128
+ 0xE8=>'SCNCLR',
129
+ 0xE9=>'SCALE',
130
+ 0xEA=>'HELP',
131
+ 0xEB=>'DO',
132
+ 0xEC=>'LOOP',
133
+ 0xED=>'EXIT',
134
+ 0xEE=>'DIRECTORY',
135
+ 0xEF=>'DSAVE',
136
+ 0xF0=>'DLOAD',
137
+ 0xF1=>'HEADER',
138
+ 0xF2=>'SCRATCH',
139
+ 0xF3=>'COLLECT',
140
+ 0xF4=>'COPY',
141
+ 0xF5=>'RENAME',
142
+ 0xF6=>'BACKUP',
143
+ 0xF7=>'DELETE',
144
+ 0xF8=>'RENUMBER',
145
+ 0xF9=>'KEY',
146
+ 0xFA=>'MONITOR',
147
+ 0xFB=>'USING',
148
+ 0xFC=>'UNTIL',
149
+ 0xFD=>'WHILE',
150
+ 0xFF=>"PI",
151
+ }
152
+
153
+ CBM_BASIC_EXTENDED_TOKENS={
154
+ 0x02=>'BANK',
155
+ 0x03=>'FILTER',
156
+ 0x04=>'PLAY',
157
+ 0x05=>'TEMPO',
158
+ 0x06=>'MOVSPR',
159
+ 0x07=>'SPRITE',
160
+ 0x08=>'SPRCOLOR',
161
+ 0x09=>'RREG',
162
+ 0x0A=>'ENVELOPE',
163
+ 0x0B=>'SLEEP',
164
+ 0x0C=>'CATALOG',
165
+ 0x0D=>'DOPEN',
166
+ 0x0E=>'APPEND',
167
+ 0x0F=>'DCLOSE',
168
+ 0x10=>'BSAVE',
169
+ 0x11=>'BLOAD',
170
+ 0x12=>'RECORD',
171
+ 0x13=>'CONCAT',
172
+ 0x14=>'DVERIFY',
173
+ 0x15=>'DCLEAR',
174
+ 0x16=>'SPRSAV',
175
+ 0x17=>'COLLISION',
176
+ 0x18=>'BEGIN',
177
+ 0x19=>'BEND',
178
+ 0x1A=>'WINDOW',
179
+ 0x1B=>'BOOT',
180
+ 0x1C=>'WIDTH',
181
+ 0x1D=>'SPRDEF',
182
+ 0x1E=>'QUIT',
183
+ 0x1F=>'STASH',
184
+ 0x21=>'FETCH',
185
+ 0x23=>'SWAP',
186
+ 0x24=>'OFF',
187
+ 0x25=>'FAST',
188
+ 0x26=>'SLOW',
189
+ 0x27=>'TYPE',
190
+ 0x28=>'BVERIFY',
191
+ 0x29=>'ECTORY',
192
+ 0x2A=>'ERASE',
193
+ 0x2B=>'FIND',
194
+ 0x2C=>'CHANGE',
195
+ 0x2D=>'SET',
196
+ 0x2E=>'SCREEN',
197
+ 0x2F=>'POLYGON',
198
+ 0x30=>'ELLIPSE',
199
+ 0x31=>'VIEWPORT',
200
+ 0x32=>'GCOPY',
201
+ 0x33=>'PEN',
202
+ 0x34=>'PALETTE',
203
+ 0x35=>'DMODE',
204
+ 0x36=>'DPAT',
205
+ 0x37=>'PIC',
206
+ 0x38=>'GENLOCK',
207
+ 0x39=>'FOREGROUND',
208
+ 0x3B=>'BACKGROUND',
209
+ 0x3C=>'BORDER',
210
+ 0x3D=>'HIGHLIGHT',
211
+ }
212
+ #the following codes have special functions in strings
213
+ CBM_CHR_CODES={
214
+ 5=>"<WHITE>",
215
+ 14=>"<LOWER CASE>",
216
+ 17=>"<DOWN>",
217
+ 18=>"<RVS ON>",
218
+ 19=>"<CLR/HOME>",
219
+ 20=>"<INST/DEL>",
220
+ 28=>"<RED>",
221
+ 29=>"<RIGHT>",
222
+ 30=>"<GRN>",
223
+ 31=>"<BLU>",
224
+ 129=>"<ORANGE>",
225
+ 133=>"<F1>",
226
+ 134=>"<F3>",
227
+ 135=>"<F5>",
228
+ 136=>"<F7>",
229
+ 137=>"<F2>",
230
+ 138=>"<F4>",
231
+ 139=>"<F6>",
232
+ 140=>"<F8>",
233
+ 141=>"<SHIFT RETURN>",
234
+ 142=>"<UPPER CASE>",
235
+ 144=>"<BLK>",
236
+ 145=>"<DOWN>",
237
+ 146=>"<RVS OFF>",
238
+ 147=>"<CLR/HOME>",
239
+ 148=>"<INST/DEL>",
240
+ 149=>"<BROWN>",
241
+ 150=>"<LT RD>",
242
+ 151=>"<GREY 1>",
243
+ 152=>"<GREY 2>",
244
+ 153=>"<LT GREEN>",
245
+ 154=>"<LT BLUE>",
246
+ 155=>"<GREY 3>",
247
+ 156=>"<PUR>",
248
+ 157=>"<LEFT>",
249
+ 158=>"<YEL>",
250
+ 159=>"<CYN>"
251
+ }
252
+
253
+ #CBM Basic files have the following structure;
254
+ # first 2 bytes in file are mem address for file to be relocated to
255
+ # then come 1 or more lines. each line has following structure:
256
+ # <2 bytes start of next line in RAM>
257
+ # <2 bytes line number>
258
+ # <tokens>
259
+ # 0 byte
260
+
261
+ def to_listing
262
+
263
+ s=""
264
+ p=2 #skip over first 2 bytes, which are where a PRG file would get relocated to
265
+
266
+ end_of_file=false
267
+ #
268
+ while p<@contents.length && !end_of_file do
269
+ p+=2 #skip over the pointer to the next line in RAM
270
+ line_number=@contents[p]+(@contents[p+1]<<8)
271
+ s+=sprintf("%d ",line_number)
272
+ p+=2
273
+ end_of_line=false
274
+ in_quotes=false
275
+ while p<@contents.length && !end_of_line do
276
+ b=@contents[p]
277
+ p+=1
278
+ if b==0 then
279
+ end_of_line=true
280
+ s+="\n"
281
+ elsif in_quotes && !CBM_CHR_CODES[b].nil? then
282
+ s+=CBM_CHR_CODES[b]
283
+ elsif b==0x22 then
284
+ in_quotes=!in_quotes
285
+ s+=0x22.chr
286
+ elsif b>=0x80 && !in_quotes then
287
+ if b==0xfe then
288
+ b=@contents[p]
289
+ p+=1
290
+ token=CBM_BASIC_EXTENDED_TOKENS[b]
291
+ else
292
+ token=CBM_BASIC_TOKENS[b]
293
+ end
294
+ s+=(token.nil? ? "<UNKNOWN TOKEN $#{sprintf("%2X",b)}>": token)
295
+ else
296
+ s+=b.chr
297
+ end
298
+ end
299
+ end_of_file=(@contents[p]==0 && @contents[p+1]==0) #is the address of the next line $0000?
300
+ end
301
+ rest_of_file=@contents[p+2,0xFFFF]
302
+ #s+=C64.disassemble(rest_of_file,load_address+p-2) unless rest_of_file.nil?
303
+ s
304
+ end
305
+
306
+
307
+ end
308
+
309
+
310
+ # == Author
311
+ # Jonno Downes (jonno@jamtronix.com)
312
+ #
313
+ # == Copyright
314
+ # Copyright (c) 2008 Jonno Downes (jonno@jamtronix.com)
315
+ #
316
+ #Permission is hereby granted, free of charge, to any person obtaining
317
+ #a copy of this software and associated documentation files (the
318
+ #"Software"), to deal in the Software without restriction, including
319
+ #without limitation the rights to use, copy, modify, merge, publish,
320
+ #distribute, sublicense, and/or sell copies of the Software, and to
321
+ #permit persons to whom the Software is furnished to do so, subject to
322
+ #the following conditions:
323
+
324
+ # The above copyright notice and this permission notice shall be
325
+ # included in all copies or substantial portions of the Software.
326
+
327
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
328
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
329
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
330
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
331
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
332
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
333
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,57 @@
1
+
2
+ $:.unshift(File.dirname(__FILE__)) unless
3
+ $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
4
+
5
+ require 'NativeFileType'
6
+
7
+ require 'CbmFile'
8
+
9
+ class C64Prg<CbmFile
10
+
11
+ def self.file_system_file_types
12
+ {
13
+ CbmDos=>:prg
14
+ }
15
+ end
16
+
17
+ def header_length
18
+ 2
19
+ end
20
+
21
+ #PRG files have the load address stored in first two bytes of the file, in LO, HI order
22
+ def load_address
23
+ contents[0]+contents[1]*256
24
+ end
25
+
26
+ def to_disassembly
27
+
28
+ return C64.disassemble(data_without_header,load_address)
29
+
30
+ end
31
+
32
+ end
33
+
34
+ # == Author
35
+ # Jonno Downes (jonno@jamtronix.com)
36
+ #
37
+ # == Copyright
38
+ # Copyright (c) 2008 Jonno Downes (jonno@jamtronix.com)
39
+ #
40
+ #Permission is hereby granted, free of charge, to any person obtaining
41
+ #a copy of this software and associated documentation files (the
42
+ #"Software"), to deal in the Software without restriction, including
43
+ #without limitation the rights to use, copy, modify, merge, publish,
44
+ #distribute, sublicense, and/or sell copies of the Software, and to
45
+ #permit persons to whom the Software is furnished to do so, subject to
46
+ #the following conditions:
47
+
48
+ # The above copyright notice and this permission notice shall be
49
+ # included in all copies or substantial portions of the Software.
50
+
51
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
52
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
53
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
54
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
55
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
56
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
57
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,45 @@
1
+
2
+ $:.unshift(File.dirname(__FILE__)) unless
3
+ $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
4
+
5
+ require 'NativeFileType'
6
+
7
+ require 'CbmFile'
8
+
9
+ class C64PrgText<C64Prg
10
+
11
+ is_valid_file_if lambda {[".s",".logo"].include?(File.extname(filename))}
12
+
13
+ # if we think it's a text file, don't bother showing a disassembly
14
+ undef_method :to_disassembly
15
+ def to_text
16
+ C64.s_to_ascii(data_without_header)
17
+ end
18
+
19
+ end
20
+
21
+
22
+ # == Author
23
+ # Jonno Downes (jonno@jamtronix.com)
24
+ #
25
+ # == Copyright
26
+ # Copyright (c) 2008 Jonno Downes (jonno@jamtronix.com)
27
+ #
28
+ #Permission is hereby granted, free of charge, to any person obtaining
29
+ #a copy of this software and associated documentation files (the
30
+ #"Software"), to deal in the Software without restriction, including
31
+ #without limitation the rights to use, copy, modify, merge, publish,
32
+ #distribute, sublicense, and/or sell copies of the Software, and to
33
+ #permit persons to whom the Software is furnished to do so, subject to
34
+ #the following conditions:
35
+
36
+ # The above copyright notice and this permission notice shall be
37
+ # included in all copies or substantial portions of the Software.
38
+
39
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
40
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
41
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
42
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
43
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
44
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
45
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,47 @@
1
+
2
+ $:.unshift(File.dirname(__FILE__)) unless
3
+ $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
4
+
5
+ require 'NativeFileType'
6
+
7
+ require 'CbmFile'
8
+
9
+ class C64Seq<CbmFile
10
+
11
+ def self.file_system_file_types
12
+ {
13
+ CbmDos=>:seq
14
+ }
15
+ end
16
+
17
+ def to_text
18
+ C64.s_to_ascii(data_without_header)
19
+ end
20
+
21
+ end
22
+
23
+
24
+ # == Author
25
+ # Jonno Downes (jonno@jamtronix.com)
26
+ #
27
+ # == Copyright
28
+ # Copyright (c) 2008 Jonno Downes (jonno@jamtronix.com)
29
+ #
30
+ #Permission is hereby granted, free of charge, to any person obtaining
31
+ #a copy of this software and associated documentation files (the
32
+ #"Software"), to deal in the Software without restriction, including
33
+ #without limitation the rights to use, copy, modify, merge, publish,
34
+ #distribute, sublicense, and/or sell copies of the Software, and to
35
+ #permit persons to whom the Software is furnished to do so, subject to
36
+ #the following conditions:
37
+
38
+ # The above copyright notice and this permission notice shall be
39
+ # included in all copies or substantial portions of the Software.
40
+
41
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
42
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
43
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
44
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
45
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
46
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
47
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,41 @@
1
+ require 'NativeFileType'
2
+ class CbmFile<NativeFileType
3
+
4
+ def self.file_system_file_types
5
+ {
6
+ CbmDos=>:any
7
+ }
8
+ end
9
+
10
+ def type_description
11
+ file_type.to_s
12
+ end
13
+
14
+
15
+ end
16
+
17
+
18
+ # == Author
19
+ # Jonno Downes (jonno@jamtronix.com)
20
+ #
21
+ # == Copyright
22
+ # Copyright (c) 2008 Jonno Downes (jonno@jamtronix.com)
23
+ #
24
+ #Permission is hereby granted, free of charge, to any person obtaining
25
+ #a copy of this software and associated documentation files (the
26
+ #"Software"), to deal in the Software without restriction, including
27
+ #without limitation the rights to use, copy, modify, merge, publish,
28
+ #distribute, sublicense, and/or sell copies of the Software, and to
29
+ #permit persons to whom the Software is furnished to do so, subject to
30
+ #the following conditions:
31
+
32
+ # The above copyright notice and this permission notice shall be
33
+ # included in all copies or substantial portions of the Software.
34
+
35
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
37
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
39
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
40
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
41
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,40 @@
1
+ require 'NativeFileType'
2
+ class CPMFile<NativeFileType
3
+
4
+ def self.file_system_file_types
5
+ {
6
+ AppleCPM=>:any
7
+ }
8
+ end
9
+
10
+
11
+ def load_address
12
+ 0x100
13
+ end
14
+ end
15
+
16
+
17
+ # == Author
18
+ # Jonno Downes (jonno@jamtronix.com)
19
+ #
20
+ # == Copyright
21
+ # Copyright (c) 2008 Jonno Downes (jonno@jamtronix.com)
22
+ #
23
+ #Permission is hereby granted, free of charge, to any person obtaining
24
+ #a copy of this software and associated documentation files (the
25
+ #"Software"), to deal in the Software without restriction, including
26
+ #without limitation the rights to use, copy, modify, merge, publish,
27
+ #distribute, sublicense, and/or sell copies of the Software, and to
28
+ #permit persons to whom the Software is furnished to do so, subject to
29
+ #the following conditions:
30
+
31
+ # The above copyright notice and this permission notice shall be
32
+ # included in all copies or substantial portions of the Software.
33
+
34
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
35
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
36
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
37
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
38
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
39
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
40
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.