ripxplore 0.14.1 → 0.15.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 (781) hide show
  1. data/doc/classes/A2Dsk.html +35 -35
  2. data/doc/classes/A2Dsk.src/M000147.html +18 -0
  3. data/doc/classes/A2Dsk.src/M000148.html +18 -0
  4. data/doc/classes/A2Dsk.src/M000149.html +18 -0
  5. data/doc/classes/A2Dsk.src/M000150.html +18 -0
  6. data/doc/classes/A2Dsk.src/M000151.html +18 -0
  7. data/doc/classes/A2Dsk.src/M000152.html +22 -0
  8. data/doc/classes/A2Dsk.src/M000153.html +23 -0
  9. data/doc/classes/A2DskDosOrder.html +5 -5
  10. data/doc/classes/A2DskDosOrder.src/M000319.html +18 -0
  11. data/doc/classes/A2DskPhysicalOrder.html +5 -5
  12. data/doc/classes/A2DskPhysicalOrder.src/M000207.html +18 -0
  13. data/doc/classes/A2WriteTests.html +10 -10
  14. data/doc/classes/A2WriteTests.src/M000141.html +42 -0
  15. data/doc/classes/A2WriteTests.src/M000142.html +67 -0
  16. data/doc/classes/Apple2.html +118 -70
  17. data/doc/classes/Apple2.src/M000266.html +18 -0
  18. data/doc/classes/Apple2.src/M000267.html +18 -0
  19. data/doc/classes/Apple2.src/M000268.html +18 -0
  20. data/doc/classes/Apple2.src/M000269.html +19 -0
  21. data/doc/classes/Apple2.src/M000270.html +19 -0
  22. data/doc/classes/Apple2.src/M000271.html +18 -0
  23. data/doc/classes/Apple2.src/M000272.html +18 -0
  24. data/doc/classes/Apple2.src/M000273.html +18 -0
  25. data/doc/classes/Apple2.src/M000274.html +18 -0
  26. data/doc/classes/Apple2.src/M000275.html +18 -0
  27. data/doc/classes/Apple2.src/M000276.html +18 -0
  28. data/doc/classes/Apple2.src/M000277.html +18 -0
  29. data/doc/classes/Apple2.src/M000278.html +18 -0
  30. data/doc/classes/Apple2.src/M000279.html +18 -0
  31. data/doc/classes/AppleBinary.html +20 -20
  32. data/doc/classes/AppleBinary.src/M000055.html +20 -0
  33. data/doc/classes/AppleBinary.src/M000056.html +18 -0
  34. data/doc/classes/AppleBinary.src/M000057.html +18 -0
  35. data/doc/classes/AppleBinary.src/M000058.html +18 -0
  36. data/doc/classes/AppleCPM.html +40 -40
  37. data/doc/classes/AppleCPM.src/M000019.html +18 -0
  38. data/doc/classes/AppleCPM.src/M000020.html +18 -0
  39. data/doc/classes/AppleCPM.src/M000021.html +21 -0
  40. data/doc/classes/AppleCPM.src/M000022.html +23 -0
  41. data/doc/classes/AppleCPM.src/M000023.html +40 -0
  42. data/doc/classes/AppleCPM.src/M000024.html +35 -0
  43. data/doc/classes/AppleCPM.src/M000025.html +57 -0
  44. data/doc/classes/AppleCPM.src/M000026.html +30 -0
  45. data/doc/classes/AppleDos.html +55 -55
  46. data/doc/classes/AppleDos.src/M000288.html +18 -0
  47. data/doc/classes/AppleDos.src/M000289.html +18 -0
  48. data/doc/classes/AppleDos.src/M000290.html +18 -0
  49. data/doc/classes/AppleDos.src/M000291.html +73 -0
  50. data/doc/classes/AppleDos.src/M000292.html +98 -0
  51. data/doc/classes/AppleDos.src/M000293.html +28 -0
  52. data/doc/classes/AppleDos.src/M000294.html +34 -0
  53. data/doc/classes/AppleDos.src/M000295.html +37 -0
  54. data/doc/classes/AppleDos.src/M000296.html +31 -0
  55. data/doc/classes/AppleDos.src/M000297.html +27 -0
  56. data/doc/classes/AppleDos.src/M000298.html +43 -0
  57. data/doc/classes/AppleDosPic.html +20 -20
  58. data/doc/classes/AppleDosPic.src/M000311.html +20 -0
  59. data/doc/classes/AppleDosPic.src/M000312.html +18 -0
  60. data/doc/classes/AppleDosPic.src/M000313.html +18 -0
  61. data/doc/classes/AppleDosPic.src/M000314.html +18 -0
  62. data/doc/classes/AppleHiResPic.html +40 -88
  63. data/doc/classes/AppleHiResPic.src/M000384.html +18 -0
  64. data/doc/classes/AppleHiResPic.src/M000385.html +18 -0
  65. data/doc/classes/AppleHiResPic.src/M000386.html +18 -0
  66. data/doc/classes/AppleHiResPic.src/M000387.html +52 -0
  67. data/doc/classes/AppleHiResPic.src/M000388.html +18 -0
  68. data/doc/classes/AppleHiResPic.src/M000389.html +18 -0
  69. data/doc/classes/AppleHiResPic.src/M000390.html +18 -0
  70. data/doc/classes/AppleHiResPic.src/M000391.html +18 -0
  71. data/doc/classes/ApplePrintShopFont.html +344 -0
  72. data/doc/classes/ApplePrintShopFont.src/M000179.html +18 -0
  73. data/doc/classes/ApplePrintShopFont.src/M000180.html +31 -0
  74. data/doc/classes/ApplePrintShopFont.src/M000181.html +18 -0
  75. data/doc/classes/ApplePrintShopFont.src/M000182.html +20 -0
  76. data/doc/classes/ApplePrintShopFont.src/M000183.html +20 -0
  77. data/doc/classes/ApplePrintShopFont.src/M000184.html +18 -0
  78. data/doc/classes/ApplePrintShopFont.src/M000185.html +18 -0
  79. data/doc/classes/ApplePrintShopFont.src/M000186.html +20 -0
  80. data/doc/classes/ApplePrintShopFont.src/M000187.html +21 -0
  81. data/doc/classes/ApplePrintShopFont.src/M000188.html +50 -0
  82. data/doc/classes/ApplePrintShopFont.src/M000189.html +22 -0
  83. data/doc/classes/ApplePrintShopFont.src/M000190.html +27 -0
  84. data/doc/classes/ApplePrintShopMiniPix.html +20 -20
  85. data/doc/classes/ApplePrintShopMiniPix.src/M000601.html +38 -0
  86. data/doc/classes/ApplePrintShopMiniPix.src/M000602.html +18 -0
  87. data/doc/classes/ApplePrintShopMiniPix.src/M000603.html +18 -0
  88. data/doc/classes/ApplePrintShopMiniPix.src/M000604.html +18 -0
  89. data/doc/classes/AppleText.html +15 -15
  90. data/doc/classes/AppleText.src/M000045.html +21 -0
  91. data/doc/classes/AppleText.src/M000046.html +20 -0
  92. data/doc/classes/AppleText.src/M000047.html +23 -0
  93. data/doc/classes/AppleWorksWP.html +10 -10
  94. data/doc/classes/AppleWorksWP.src/M000098.html +20 -0
  95. data/doc/classes/AppleWorksWP.src/M000099.html +45 -0
  96. data/doc/classes/Applesoft.html +10 -10
  97. data/doc/classes/Applesoft.src/M000191.html +21 -0
  98. data/doc/classes/Applesoft.src/M000192.html +75 -0
  99. data/doc/classes/Atari800.html +133 -65
  100. data/doc/classes/Atari800.src/M000326.html +18 -0
  101. data/doc/classes/Atari800.src/M000327.html +23 -0
  102. data/doc/classes/Atari800.src/M000328.html +22 -0
  103. data/doc/classes/Atari800.src/M000329.html +23 -0
  104. data/doc/classes/Atari800.src/M000330.html +23 -0
  105. data/doc/classes/Atari800.src/M000331.html +18 -0
  106. data/doc/classes/Atari800.src/M000332.html +19 -0
  107. data/doc/classes/Atari800.src/M000333.html +4 -4
  108. data/doc/classes/Atari800.src/M000334.html +4 -4
  109. data/doc/classes/Atari800.src/M000335.html +4 -4
  110. data/doc/classes/Atari800.src/M000336.html +4 -4
  111. data/doc/classes/Atari800.src/M000337.html +4 -4
  112. data/doc/classes/Atari800.src/M000338.html +4 -9
  113. data/doc/classes/Atari800.src/M000339.html +4 -4
  114. data/doc/classes/Atari800.src/M000340.html +4 -5
  115. data/doc/classes/Atari800.src/M000341.html +4 -4
  116. data/doc/classes/AtariBasic.html +10 -10
  117. data/doc/classes/AtariBasic.src/M000342.html +20 -0
  118. data/doc/classes/AtariBasic.src/M000343.html +108 -0
  119. data/doc/classes/AtariBinary.html +20 -20
  120. data/doc/classes/AtariBinary.src/M000394.html +20 -0
  121. data/doc/classes/AtariBinary.src/M000395.html +18 -0
  122. data/doc/classes/AtariBinary.src/M000396.html +18 -0
  123. data/doc/classes/AtariBinary.src/M000397.html +18 -0
  124. data/doc/classes/AtariBitmapFont.html +223 -0
  125. data/doc/classes/AtariBitmapFont.src/M000320.html +20 -0
  126. data/doc/classes/AtariBitmapFont.src/M000321.html +18 -0
  127. data/doc/classes/AtariBitmapFont.src/M000322.html +18 -0
  128. data/doc/classes/AtariBitmapFont.src/M000323.html +32 -0
  129. data/doc/classes/AtariBitmapFont.src/M000324.html +18 -0
  130. data/doc/classes/AtariBitmapFont.src/M000325.html +19 -0
  131. data/doc/classes/AtariDos.html +10 -10
  132. data/doc/classes/AtariDos.src/M000017.html +18 -0
  133. data/doc/classes/AtariDos.src/M000018.html +45 -0
  134. data/doc/classes/AtariMicroPainterPic.html +186 -0
  135. data/doc/classes/AtariMicroPainterPic.src/M000217.html +18 -0
  136. data/doc/classes/AtariMicroPainterPic.src/M000218.html +18 -0
  137. data/doc/classes/AtariMicroPainterPic.src/M000219.html +18 -0
  138. data/doc/classes/AtariMicroPainterPic.src/M000220.html +20 -0
  139. data/doc/classes/AtariText.html +10 -10
  140. data/doc/classes/AtariText.src/M000133.html +20 -0
  141. data/doc/classes/AtariText.src/M000134.html +18 -0
  142. data/doc/classes/Atr.html +35 -35
  143. data/doc/classes/Atr.src/M000038.html +18 -0
  144. data/doc/classes/Atr.src/M000039.html +18 -0
  145. data/doc/classes/Atr.src/M000040.html +19 -0
  146. data/doc/classes/Atr.src/M000041.html +18 -0
  147. data/doc/classes/Atr.src/M000042.html +18 -0
  148. data/doc/classes/Atr.src/M000043.html +19 -0
  149. data/doc/classes/Atr.src/M000044.html +19 -0
  150. data/doc/classes/AxePackedAppleDosPic.html +5 -5
  151. data/doc/classes/AxePackedAppleDosPic.src/M000280.html +59 -0
  152. data/doc/classes/C64.html +105 -105
  153. data/doc/classes/C64.src/M000449.html +18 -0
  154. data/doc/classes/C64.src/M000450.html +18 -0
  155. data/doc/classes/C64.src/M000451.html +31 -0
  156. data/doc/classes/C64.src/M000452.html +20 -0
  157. data/doc/classes/C64.src/M000453.html +22 -0
  158. data/doc/classes/C64.src/M000454.html +22 -0
  159. data/doc/classes/C64.src/M000455.html +19 -0
  160. data/doc/classes/C64.src/M000456.html +19 -0
  161. data/doc/classes/C64.src/M000457.html +18 -0
  162. data/doc/classes/C64.src/M000458.html +18 -0
  163. data/doc/classes/C64.src/M000459.html +18 -0
  164. data/doc/classes/C64.src/M000460.html +18 -0
  165. data/doc/classes/C64.src/M000461.html +18 -0
  166. data/doc/classes/C64.src/M000462.html +18 -0
  167. data/doc/classes/C64.src/M000463.html +18 -0
  168. data/doc/classes/C64.src/M000464.html +19 -0
  169. data/doc/classes/C64.src/M000465.html +19 -0
  170. data/doc/classes/C64.src/M000466.html +18 -0
  171. data/doc/classes/C64.src/M000467.html +18 -0
  172. data/doc/classes/C64.src/M000468.html +69 -0
  173. data/doc/classes/C64.src/M000469.html +113 -0
  174. data/doc/classes/C64BasicPrg.html +15 -15
  175. data/doc/classes/C64BasicPrg.src/M000093.html +20 -0
  176. data/doc/classes/C64BasicPrg.src/M000094.html +18 -0
  177. data/doc/classes/C64BasicPrg.src/M000095.html +59 -0
  178. data/doc/classes/C64GeoPaintPic.html +30 -30
  179. data/doc/classes/C64GeoPaintPic.src/M000011.html +18 -0
  180. data/doc/classes/C64GeoPaintPic.src/M000012.html +18 -0
  181. data/doc/classes/C64GeoPaintPic.src/M000013.html +18 -0
  182. data/doc/classes/C64GeoPaintPic.src/M000014.html +71 -0
  183. data/doc/classes/C64GeoPaintPic.src/M000015.html +43 -0
  184. data/doc/classes/C64GeoPaintPic.src/M000016.html +20 -0
  185. data/doc/classes/C64GeoWriteFile.html +5 -5
  186. data/doc/classes/C64GeoWriteFile.src/M000253.html +39 -0
  187. data/doc/classes/C64GeosBASICFile.html +10 -10
  188. data/doc/classes/C64GeosBASICFile.src/M000481.html +19 -0
  189. data/doc/classes/C64GeosBASICFile.src/M000482.html +18 -0
  190. data/doc/classes/C64GeosFile.html +85 -85
  191. data/doc/classes/C64GeosFile.src/M000483.html +18 -0
  192. data/doc/classes/C64GeosFile.src/M000484.html +19 -0
  193. data/doc/classes/C64GeosFile.src/M000485.html +19 -0
  194. data/doc/classes/C64GeosFile.src/M000486.html +18 -0
  195. data/doc/classes/C64GeosFile.src/M000487.html +18 -0
  196. data/doc/classes/C64GeosFile.src/M000488.html +18 -0
  197. data/doc/classes/C64GeosFile.src/M000489.html +22 -0
  198. data/doc/classes/C64GeosFile.src/M000490.html +18 -0
  199. data/doc/classes/C64GeosFile.src/M000491.html +22 -0
  200. data/doc/classes/C64GeosFile.src/M000492.html +27 -0
  201. data/doc/classes/C64GeosFile.src/M000493.html +19 -0
  202. data/doc/classes/C64GeosFile.src/M000494.html +39 -0
  203. data/doc/classes/C64GeosFile.src/M000495.html +18 -0
  204. data/doc/classes/C64GeosFile.src/M000496.html +18 -0
  205. data/doc/classes/C64GeosFile.src/M000497.html +18 -0
  206. data/doc/classes/C64GeosFile.src/M000498.html +21 -0
  207. data/doc/classes/C64GeosFile.src/M000499.html +35 -0
  208. data/doc/classes/C64GeosFont.html +86 -160
  209. data/doc/classes/C64GeosFont.src/M000079.html +18 -0
  210. data/doc/classes/C64GeosFont.src/M000080.html +18 -0
  211. data/doc/classes/C64GeosFont.src/M000081.html +21 -0
  212. data/doc/classes/C64GeosFont.src/M000082.html +29 -0
  213. data/doc/classes/C64GeosFont.src/M000083.html +26 -0
  214. data/doc/classes/C64GeosFont.src/M000084.html +19 -0
  215. data/doc/classes/C64GeosFont.src/M000085.html +26 -0
  216. data/doc/classes/C64GeosFont.src/M000086.html +27 -0
  217. data/doc/classes/C64GeosFont.src/M000087.html +20 -0
  218. data/doc/classes/C64GeosFont.src/M000088.html +20 -0
  219. data/doc/classes/C64GeosFont.src/M000089.html +20 -0
  220. data/doc/classes/C64GeosFont.src/M000090.html +41 -0
  221. data/doc/classes/C64GeosFont.src/M000091.html +23 -0
  222. data/doc/classes/C64GeosFont.src/M000092.html +34 -0
  223. data/doc/classes/C64GeosPhotoAlbum.html +15 -15
  224. data/doc/classes/C64GeosPhotoAlbum.src/M000250.html +18 -0
  225. data/doc/classes/C64GeosPhotoAlbum.src/M000251.html +19 -0
  226. data/doc/classes/C64GeosPhotoAlbum.src/M000252.html +39 -0
  227. data/doc/classes/C64PhotoScrap.html +70 -70
  228. data/doc/classes/C64PhotoScrap.src/M000221.html +18 -0
  229. data/doc/classes/C64PhotoScrap.src/M000222.html +18 -0
  230. data/doc/classes/C64PhotoScrap.src/M000223.html +18 -0
  231. data/doc/classes/C64PhotoScrap.src/M000224.html +18 -0
  232. data/doc/classes/C64PhotoScrap.src/M000225.html +18 -0
  233. data/doc/classes/C64PhotoScrap.src/M000226.html +18 -0
  234. data/doc/classes/C64PhotoScrap.src/M000227.html +18 -0
  235. data/doc/classes/C64PhotoScrap.src/M000228.html +21 -0
  236. data/doc/classes/C64PhotoScrap.src/M000229.html +18 -0
  237. data/doc/classes/C64PhotoScrap.src/M000230.html +18 -0
  238. data/doc/classes/C64PhotoScrap.src/M000231.html +18 -0
  239. data/doc/classes/C64PhotoScrap.src/M000232.html +53 -0
  240. data/doc/classes/C64PhotoScrap.src/M000233.html +45 -0
  241. data/doc/classes/C64PhotoScrap.src/M000234.html +24 -0
  242. data/doc/classes/C64Prg.html +20 -20
  243. data/doc/classes/C64Prg.src/M000594.html +20 -0
  244. data/doc/classes/C64Prg.src/M000595.html +18 -0
  245. data/doc/classes/C64Prg.src/M000596.html +19 -0
  246. data/doc/classes/C64Prg.src/M000597.html +20 -0
  247. data/doc/classes/C64PrgText.html +10 -10
  248. data/doc/classes/C64PrgText.src/M000505.html +18 -0
  249. data/doc/classes/C64PrgText.src/M000506.html +18 -0
  250. data/doc/classes/C64Seq.html +15 -15
  251. data/doc/classes/C64Seq.src/M000204.html +20 -0
  252. data/doc/classes/C64Seq.src/M000205.html +18 -0
  253. data/doc/classes/C64Seq.src/M000206.html +18 -0
  254. data/doc/classes/CPMFile.html +15 -15
  255. data/doc/classes/CPMFile.src/M000584.html +20 -0
  256. data/doc/classes/CPMFile.src/M000585.html +18 -0
  257. data/doc/classes/CPMFile.src/M000586.html +22 -0
  258. data/doc/classes/CVT.html +10 -10
  259. data/doc/classes/CVT.src/M000507.html +18 -0
  260. data/doc/classes/CVT.src/M000508.html +18 -0
  261. data/doc/classes/CVTArchive.html +12 -12
  262. data/doc/classes/CVTArchive.src/M000358.html +18 -0
  263. data/doc/classes/CVTArchive.src/M000359.html +70 -0
  264. data/doc/classes/CacheAndCollections.html +15 -15
  265. data/doc/classes/CacheAndCollections.src/M000377.html +21 -0
  266. data/doc/classes/CacheAndCollections.src/M000378.html +26 -0
  267. data/doc/classes/CacheAndCollections.src/M000379.html +22 -0
  268. data/doc/classes/CbmDos.html +50 -50
  269. data/doc/classes/CbmDos.src/M000543.html +18 -0
  270. data/doc/classes/CbmDos.src/M000544.html +92 -0
  271. data/doc/classes/CbmDos.src/M000545.html +38 -0
  272. data/doc/classes/CbmDos.src/M000546.html +18 -0
  273. data/doc/classes/CbmDos.src/M000547.html +68 -0
  274. data/doc/classes/CbmDos.src/M000548.html +32 -0
  275. data/doc/classes/CbmDos.src/M000549.html +28 -0
  276. data/doc/classes/CbmDos.src/M000550.html +29 -0
  277. data/doc/classes/CbmDos.src/M000551.html +39 -0
  278. data/doc/classes/CbmDos.src/M000552.html +51 -0
  279. data/doc/classes/CbmFile.html +10 -10
  280. data/doc/classes/CbmFile.src/M000105.html +22 -0
  281. data/doc/classes/CbmFile.src/M000106.html +18 -0
  282. data/doc/classes/Coco.html +65 -65
  283. data/doc/classes/Coco.src/M000553.html +18 -0
  284. data/doc/classes/Coco.src/M000554.html +18 -0
  285. data/doc/classes/Coco.src/M000555.html +18 -0
  286. data/doc/classes/Coco.src/M000556.html +18 -0
  287. data/doc/classes/Coco.src/M000557.html +18 -0
  288. data/doc/classes/Coco.src/M000558.html +18 -0
  289. data/doc/classes/Coco.src/M000559.html +18 -0
  290. data/doc/classes/Coco.src/M000560.html +18 -0
  291. data/doc/classes/Coco.src/M000561.html +18 -0
  292. data/doc/classes/Coco.src/M000562.html +18 -0
  293. data/doc/classes/Coco.src/M000563.html +18 -0
  294. data/doc/classes/Coco.src/M000564.html +18 -0
  295. data/doc/classes/Coco.src/M000565.html +55 -0
  296. data/doc/classes/CocoBasic.html +10 -10
  297. data/doc/classes/CocoBasic.src/M000392.html +20 -0
  298. data/doc/classes/CocoBasic.src/M000393.html +72 -0
  299. data/doc/classes/CocoMachineLanguage.html +15 -15
  300. data/doc/classes/CocoMachineLanguage.src/M000540.html +20 -0
  301. data/doc/classes/CocoMachineLanguage.src/M000541.html +18 -0
  302. data/doc/classes/CocoMachineLanguage.src/M000542.html +19 -0
  303. data/doc/classes/CocoScreen.html +20 -20
  304. data/doc/classes/CocoScreen.src/M000135.html +18 -0
  305. data/doc/classes/CocoScreen.src/M000136.html +18 -0
  306. data/doc/classes/CocoScreen.src/M000137.html +18 -0
  307. data/doc/classes/CocoScreen.src/M000138.html +18 -0
  308. data/doc/classes/CocoText.html +10 -10
  309. data/doc/classes/CocoText.src/M000315.html +20 -0
  310. data/doc/classes/CocoText.src/M000316.html +18 -0
  311. data/doc/classes/D64.html +45 -45
  312. data/doc/classes/D64.src/M000168.html +18 -0
  313. data/doc/classes/D64.src/M000169.html +18 -0
  314. data/doc/classes/D64.src/M000170.html +18 -0
  315. data/doc/classes/D64.src/M000171.html +22 -0
  316. data/doc/classes/D64.src/M000172.html +18 -0
  317. data/doc/classes/D64.src/M000173.html +18 -0
  318. data/doc/classes/D64.src/M000174.html +18 -0
  319. data/doc/classes/D64.src/M000175.html +21 -0
  320. data/doc/classes/D64.src/M000176.html +22 -0
  321. data/doc/classes/D65.html +10 -10
  322. data/doc/classes/D65.src/M000177.html +22 -0
  323. data/doc/classes/D65.src/M000178.html +68 -0
  324. data/doc/classes/D81.html +45 -45
  325. data/doc/classes/D81.src/M000527.html +18 -0
  326. data/doc/classes/D81.src/M000528.html +18 -0
  327. data/doc/classes/D81.src/M000529.html +18 -0
  328. data/doc/classes/D81.src/M000530.html +18 -0
  329. data/doc/classes/D81.src/M000531.html +18 -0
  330. data/doc/classes/D81.src/M000532.html +18 -0
  331. data/doc/classes/D81.src/M000533.html +18 -0
  332. data/doc/classes/D81.src/M000534.html +23 -0
  333. data/doc/classes/D81.src/M000535.html +24 -0
  334. data/doc/classes/DumpUtilities.html +10 -10
  335. data/doc/classes/DumpUtilities.src/M000355.html +33 -0
  336. data/doc/classes/DumpUtilities.src/M000356.html +27 -0
  337. data/doc/classes/FileCache.html +70 -70
  338. data/doc/classes/FileCache.src/M000509.html +26 -0
  339. data/doc/classes/FileCache.src/M000510.html +20 -0
  340. data/doc/classes/FileCache.src/M000511.html +18 -0
  341. data/doc/classes/FileCache.src/M000512.html +24 -0
  342. data/doc/classes/FileCache.src/M000513.html +22 -0
  343. data/doc/classes/FileCache.src/M000514.html +32 -0
  344. data/doc/classes/FileCache.src/M000515.html +21 -0
  345. data/doc/classes/FileCache.src/M000516.html +22 -0
  346. data/doc/classes/FileCache.src/M000517.html +23 -0
  347. data/doc/classes/FileCache.src/M000518.html +27 -0
  348. data/doc/classes/FileCache.src/M000519.html +24 -0
  349. data/doc/classes/FileCache.src/M000520.html +24 -0
  350. data/doc/classes/FileCache.src/M000521.html +21 -0
  351. data/doc/classes/FileCache.src/M000522.html +20 -0
  352. data/doc/classes/FileCacheItem.html +10 -10
  353. data/doc/classes/FileCacheItem.src/M000503.html +18 -0
  354. data/doc/classes/FileCacheItem.src/M000504.html +18 -0
  355. data/doc/classes/FileContainer.html +5 -5
  356. data/doc/classes/FileContainer.src/M000588.html +26 -0
  357. data/doc/classes/FileSystem.html +41 -41
  358. data/doc/classes/FileSystem.src/M000237.html +18 -0
  359. data/doc/classes/FileSystem.src/M000238.html +18 -0
  360. data/doc/classes/FileSystem.src/M000239.html +18 -0
  361. data/doc/classes/FileSystem.src/M000240.html +18 -0
  362. data/doc/classes/FileSystem.src/M000241.html +18 -0
  363. data/doc/classes/FileSystem.src/M000242.html +18 -0
  364. data/doc/classes/FileSystem.src/M000243.html +20 -0
  365. data/doc/classes/FileSystem.src/M000244.html +25 -0
  366. data/doc/classes/FileSystemImage.html +142 -127
  367. data/doc/classes/FileSystemImage.src/M000398.html +22 -0
  368. data/doc/classes/FileSystemImage.src/M000399.html +41 -0
  369. data/doc/classes/FileSystemImage.src/M000400.html +27 -0
  370. data/doc/classes/FileSystemImage.src/M000401.html +18 -0
  371. data/doc/classes/FileSystemImage.src/M000402.html +18 -0
  372. data/doc/classes/FileSystemImage.src/M000403.html +19 -0
  373. data/doc/classes/FileSystemImage.src/M000404.html +18 -0
  374. data/doc/classes/FileSystemImage.src/M000405.html +22 -0
  375. data/doc/classes/FileSystemImage.src/M000406.html +19 -0
  376. data/doc/classes/FileSystemImage.src/M000407.html +18 -0
  377. data/doc/classes/FileSystemImage.src/M000408.html +18 -0
  378. data/doc/classes/FileSystemImage.src/M000409.html +18 -0
  379. data/doc/classes/FileSystemImage.src/M000410.html +18 -0
  380. data/doc/classes/FileSystemImage.src/M000411.html +20 -0
  381. data/doc/classes/FileSystemImage.src/M000412.html +22 -0
  382. data/doc/classes/FileSystemImage.src/M000413.html +22 -0
  383. data/doc/classes/FileSystemImage.src/M000414.html +18 -0
  384. data/doc/classes/FileSystemImage.src/M000415.html +24 -0
  385. data/doc/classes/FileSystemImage.src/M000416.html +23 -0
  386. data/doc/classes/FileSystemImage.src/M000417.html +25 -0
  387. data/doc/classes/FileSystemImage.src/M000418.html +18 -0
  388. data/doc/classes/FileSystemImage.src/M000419.html +18 -0
  389. data/doc/classes/FileSystemImage.src/M000420.html +18 -0
  390. data/doc/classes/FileSystemImage.src/M000421.html +18 -0
  391. data/doc/classes/FileSystemImage.src/M000422.html +27 -0
  392. data/doc/classes/FileSystemImage.src/M000423.html +20 -0
  393. data/doc/classes/Font.html +284 -0
  394. data/doc/classes/Font.src/M000616.html +18 -0
  395. data/doc/classes/Font.src/M000617.html +18 -0
  396. data/doc/classes/Font.src/M000618.html +18 -0
  397. data/doc/classes/Font.src/M000619.html +18 -0
  398. data/doc/classes/Font.src/M000620.html +18 -0
  399. data/doc/classes/Font.src/M000621.html +18 -0
  400. data/doc/classes/Font.src/M000622.html +18 -0
  401. data/doc/classes/Font.src/M000623.html +18 -0
  402. data/doc/classes/Font.src/M000624.html +67 -0
  403. data/doc/classes/Font.src/M000625.html +23 -0
  404. data/doc/classes/Font.src/M000626.html +31 -0
  405. data/doc/classes/G64.html +25 -25
  406. data/doc/classes/G64.src/M000569.html +30 -0
  407. data/doc/classes/G64.src/M000570.html +18 -0
  408. data/doc/classes/G64.src/M000571.html +18 -0
  409. data/doc/classes/G64.src/M000572.html +18 -0
  410. data/doc/classes/G64.src/M000573.html +21 -0
  411. data/doc/classes/GenericFile.html +10 -10
  412. data/doc/classes/GenericFile.src/M000589.html +20 -0
  413. data/doc/classes/GenericFile.src/M000590.html +18 -0
  414. data/doc/classes/GenericGIF.html +25 -25
  415. data/doc/classes/GenericGIF.src/M000610.html +18 -0
  416. data/doc/classes/GenericGIF.src/M000611.html +18 -0
  417. data/doc/classes/GenericGIF.src/M000612.html +18 -0
  418. data/doc/classes/GenericGIF.src/M000613.html +18 -0
  419. data/doc/classes/GenericGIF.src/M000614.html +18 -0
  420. data/doc/classes/HostSystem.html +91 -91
  421. data/doc/classes/HostSystem.src/M000110.html +18 -0
  422. data/doc/classes/HostSystem.src/M000111.html +22 -0
  423. data/doc/classes/HostSystem.src/M000112.html +18 -0
  424. data/doc/classes/HostSystem.src/M000113.html +18 -0
  425. data/doc/classes/HostSystem.src/M000114.html +22 -0
  426. data/doc/classes/HostSystem.src/M000115.html +33 -0
  427. data/doc/classes/HostSystem.src/M000116.html +18 -0
  428. data/doc/classes/HostSystem.src/M000117.html +19 -0
  429. data/doc/classes/HostSystem.src/M000118.html +18 -0
  430. data/doc/classes/HostSystem.src/M000119.html +18 -0
  431. data/doc/classes/HostSystem.src/M000120.html +18 -0
  432. data/doc/classes/HostSystem.src/M000121.html +18 -0
  433. data/doc/classes/HostSystem.src/M000122.html +18 -0
  434. data/doc/classes/HostSystem.src/M000123.html +18 -0
  435. data/doc/classes/HostSystem.src/M000124.html +18 -0
  436. data/doc/classes/HostSystem.src/M000125.html +18 -0
  437. data/doc/classes/HostSystem.src/M000126.html +29 -0
  438. data/doc/classes/HostSystem.src/M000127.html +18 -0
  439. data/doc/classes/ImageFormat.html +85 -85
  440. data/doc/classes/ImageFormat.src/M000360.html +18 -0
  441. data/doc/classes/ImageFormat.src/M000361.html +18 -0
  442. data/doc/classes/ImageFormat.src/M000362.html +18 -0
  443. data/doc/classes/ImageFormat.src/M000363.html +18 -0
  444. data/doc/classes/ImageFormat.src/M000364.html +18 -0
  445. data/doc/classes/ImageFormat.src/M000365.html +22 -0
  446. data/doc/classes/ImageFormat.src/M000366.html +19 -0
  447. data/doc/classes/ImageFormat.src/M000367.html +18 -0
  448. data/doc/classes/ImageFormat.src/M000368.html +18 -0
  449. data/doc/classes/ImageFormat.src/M000369.html +18 -0
  450. data/doc/classes/ImageFormat.src/M000370.html +18 -0
  451. data/doc/classes/ImageFormat.src/M000371.html +18 -0
  452. data/doc/classes/ImageFormat.src/M000372.html +18 -0
  453. data/doc/classes/ImageFormat.src/M000373.html +18 -0
  454. data/doc/classes/ImageFormat.src/M000374.html +20 -0
  455. data/doc/classes/ImageFormat.src/M000375.html +26 -0
  456. data/doc/classes/ImageFormat.src/M000376.html +18 -0
  457. data/doc/classes/ImageSniffing.html +40 -40
  458. data/doc/classes/ImageSniffing.src/M000576.html +148 -0
  459. data/doc/classes/ImageSniffing.src/M000577.html +54 -0
  460. data/doc/classes/ImageSniffing.src/M000578.html +175 -0
  461. data/doc/classes/ImageSniffing.src/M000579.html +47 -0
  462. data/doc/classes/ImageSniffing.src/M000580.html +46 -0
  463. data/doc/classes/ImageSniffing.src/M000581.html +59 -0
  464. data/doc/classes/ImageSniffing.src/M000582.html +74 -0
  465. data/doc/classes/ImageSniffing.src/M000583.html +44 -0
  466. data/doc/classes/IntegerBASIC.html +10 -10
  467. data/doc/classes/IntegerBASIC.src/M000470.html +20 -0
  468. data/doc/classes/IntegerBASIC.src/M000471.html +86 -0
  469. data/doc/classes/JvcDsk.html +30 -30
  470. data/doc/classes/JvcDsk.src/M000472.html +18 -0
  471. data/doc/classes/JvcDsk.src/M000473.html +39 -0
  472. data/doc/classes/JvcDsk.src/M000474.html +18 -0
  473. data/doc/classes/JvcDsk.src/M000475.html +18 -0
  474. data/doc/classes/JvcDsk.src/M000476.html +18 -0
  475. data/doc/classes/JvcDsk.src/M000477.html +22 -0
  476. data/doc/classes/MBasic.html +10 -10
  477. data/doc/classes/MBasic.src/M000139.html +20 -0
  478. data/doc/classes/MBasic.src/M000140.html +22 -0
  479. data/doc/classes/NADOLDos.html +10 -10
  480. data/doc/classes/NADOLDos.src/M000193.html +18 -0
  481. data/doc/classes/NADOLDos.src/M000194.html +52 -0
  482. data/doc/classes/NADOLFile.html +10 -10
  483. data/doc/classes/NADOLFile.src/M000195.html +20 -0
  484. data/doc/classes/NADOLFile.src/M000196.html +18 -0
  485. data/doc/classes/NADOLPic.html +10 -10
  486. data/doc/classes/NADOLPic.src/M000166.html +20 -0
  487. data/doc/classes/NADOLPic.src/M000167.html +18 -0
  488. data/doc/classes/NADOLTokens.html +5 -5
  489. data/doc/classes/NADOLTokens.src/M000357.html +41 -0
  490. data/doc/classes/NativeFileType.html +101 -101
  491. data/doc/classes/NativeFileType.src/M000059.html +23 -0
  492. data/doc/classes/NativeFileType.src/M000060.html +18 -0
  493. data/doc/classes/NativeFileType.src/M000061.html +18 -0
  494. data/doc/classes/NativeFileType.src/M000062.html +18 -0
  495. data/doc/classes/NativeFileType.src/M000063.html +22 -0
  496. data/doc/classes/NativeFileType.src/M000064.html +18 -0
  497. data/doc/classes/NativeFileType.src/M000065.html +18 -0
  498. data/doc/classes/NativeFileType.src/M000066.html +18 -0
  499. data/doc/classes/NativeFileType.src/M000067.html +23 -0
  500. data/doc/classes/NativeFileType.src/M000068.html +18 -0
  501. data/doc/classes/NativeFileType.src/M000069.html +22 -0
  502. data/doc/classes/NativeFileType.src/M000070.html +18 -0
  503. data/doc/classes/NativeFileType.src/M000071.html +24 -0
  504. data/doc/classes/NativeFileType.src/M000072.html +46 -0
  505. data/doc/classes/NativeFileType.src/M000073.html +24 -0
  506. data/doc/classes/NativeFileType.src/M000074.html +18 -0
  507. data/doc/classes/NativeFileType.src/M000075.html +18 -0
  508. data/doc/classes/NativeFileType.src/M000076.html +18 -0
  509. data/doc/classes/NativeFileType.src/M000077.html +20 -0
  510. data/doc/classes/NativeFileType.src/M000078.html +28 -0
  511. data/doc/classes/PNG/Canvas.html +33 -33
  512. data/doc/classes/PNG/Canvas.src/M000443.html +20 -0
  513. data/doc/classes/PNG/Canvas.src/M000444.html +20 -0
  514. data/doc/classes/PNG/Canvas.src/M000445.html +20 -0
  515. data/doc/classes/PNG/Canvas.src/M000446.html +22 -0
  516. data/doc/classes/PNG/Canvas.src/M000447.html +18 -0
  517. data/doc/classes/PNG/Canvas.src/M000448.html +73 -0
  518. data/doc/classes/PNG/Color.html +40 -40
  519. data/doc/classes/PNG/Color.src/M000436.html +18 -0
  520. data/doc/classes/PNG/Color.src/M000437.html +16 -0
  521. data/doc/classes/PNG/Color.src/M000438.html +16 -0
  522. data/doc/classes/PNG/Color.src/M000439.html +16 -0
  523. data/doc/classes/PNG/Color.src/M000440.html +16 -0
  524. data/doc/classes/PNG/Color.src/M000441.html +21 -0
  525. data/doc/classes/PNG/Color.src/M000442.html +18 -0
  526. data/doc/classes/PNG.html +22 -22
  527. data/doc/classes/PNG.src/M000432.html +18 -0
  528. data/doc/classes/PNG.src/M000433.html +21 -0
  529. data/doc/classes/PNG.src/M000434.html +26 -0
  530. data/doc/classes/PNG.src/M000435.html +26 -0
  531. data/doc/classes/PackedAppleDosPic.html +5 -5
  532. data/doc/classes/PackedAppleDosPic.src/M000096.html +40 -0
  533. data/doc/classes/PackedProDosPic.html +5 -5
  534. data/doc/classes/PackedProDosPic.src/M000054.html +40 -0
  535. data/doc/classes/PascalDos.html +15 -15
  536. data/doc/classes/PascalDos.src/M000008.html +18 -0
  537. data/doc/classes/PascalDos.src/M000009.html +21 -0
  538. data/doc/classes/PascalDos.src/M000010.html +62 -0
  539. data/doc/classes/PascalFile.html +10 -10
  540. data/doc/classes/PascalFile.src/M000052.html +20 -0
  541. data/doc/classes/PascalFile.src/M000053.html +18 -0
  542. data/doc/classes/PascalPic.html +10 -10
  543. data/doc/classes/PascalPic.src/M000592.html +20 -0
  544. data/doc/classes/PascalPic.src/M000593.html +18 -0
  545. data/doc/classes/Pc99DD.html +40 -40
  546. data/doc/classes/Pc99DD.src/M000254.html +18 -0
  547. data/doc/classes/Pc99DD.src/M000255.html +18 -0
  548. data/doc/classes/Pc99DD.src/M000256.html +18 -0
  549. data/doc/classes/Pc99DD.src/M000257.html +18 -0
  550. data/doc/classes/Pc99DD.src/M000258.html +18 -0
  551. data/doc/classes/Pc99DD.src/M000259.html +18 -0
  552. data/doc/classes/Pc99DD.src/M000260.html +18 -0
  553. data/doc/classes/Pc99DD.src/M000261.html +18 -0
  554. data/doc/classes/Pc99SD.html +40 -40
  555. data/doc/classes/Pc99SD.src/M000424.html +18 -0
  556. data/doc/classes/Pc99SD.src/M000425.html +18 -0
  557. data/doc/classes/Pc99SD.src/M000426.html +18 -0
  558. data/doc/classes/Pc99SD.src/M000427.html +18 -0
  559. data/doc/classes/Pc99SD.src/M000428.html +18 -0
  560. data/doc/classes/Pc99SD.src/M000429.html +18 -0
  561. data/doc/classes/Pc99SD.src/M000430.html +18 -0
  562. data/doc/classes/Pc99SD.src/M000431.html +18 -0
  563. data/doc/classes/ProDos.html +11 -11
  564. data/doc/classes/ProDos.src/M000131.html +18 -0
  565. data/doc/classes/ProDos.src/M000132.html +22 -0
  566. data/doc/classes/ProDosBINFile.html +20 -20
  567. data/doc/classes/ProDosBINFile.src/M000197.html +20 -0
  568. data/doc/classes/ProDosBINFile.src/M000198.html +18 -0
  569. data/doc/classes/ProDosBINFile.src/M000199.html +18 -0
  570. data/doc/classes/ProDosBINFile.src/M000200.html +18 -0
  571. data/doc/classes/ProDosBinPic.html +15 -15
  572. data/doc/classes/ProDosBinPic.src/M000598.html +20 -0
  573. data/doc/classes/ProDosBinPic.src/M000599.html +18 -0
  574. data/doc/classes/ProDosBinPic.src/M000600.html +18 -0
  575. data/doc/classes/ProDosFile.html +15 -15
  576. data/doc/classes/ProDosFile.src/M000566.html +20 -0
  577. data/doc/classes/ProDosFile.src/M000567.html +18 -0
  578. data/doc/classes/ProDosFile.src/M000568.html +19 -0
  579. data/doc/classes/ProDosPrintShopMiniPix.html +5 -5
  580. data/doc/classes/ProDosPrintShopMiniPix.src/M000097.html +18 -0
  581. data/doc/classes/Proc.html +55 -55
  582. data/doc/classes/Proc.src/M000344.html +21 -0
  583. data/doc/classes/Proc.src/M000345.html +19 -0
  584. data/doc/classes/Proc.src/M000346.html +22 -0
  585. data/doc/classes/Proc.src/M000347.html +22 -0
  586. data/doc/classes/Proc.src/M000348.html +22 -0
  587. data/doc/classes/Proc.src/M000349.html +19 -0
  588. data/doc/classes/Proc.src/M000350.html +16 -0
  589. data/doc/classes/Proc.src/M000351.html +20 -0
  590. data/doc/classes/Proc.src/M000352.html +18 -0
  591. data/doc/classes/Proc.src/M000353.html +16 -0
  592. data/doc/classes/Proc.src/M000354.html +16 -0
  593. data/doc/classes/ProcSource.html +10 -10
  594. data/doc/classes/ProcSource.src/M000608.html +38 -0
  595. data/doc/classes/ProcSource.src/M000609.html +109 -0
  596. data/doc/classes/RDoc.html +5 -5
  597. data/doc/classes/RDoc.src/M000607.html +40 -0
  598. data/doc/classes/RawDisk.html +10 -10
  599. data/doc/classes/RawDisk.src/M000523.html +18 -0
  600. data/doc/classes/RawDisk.src/M000524.html +23 -0
  601. data/doc/classes/RipXplore.html +1 -1
  602. data/doc/classes/RipXploreLog.html +15 -15
  603. data/doc/classes/RipXploreLog.src/M000128.html +18 -0
  604. data/doc/classes/RipXploreLog.src/M000129.html +20 -0
  605. data/doc/classes/RipXploreLog.src/M000130.html +18 -0
  606. data/doc/classes/RsDos.html +20 -20
  607. data/doc/classes/RsDos.src/M000380.html +18 -0
  608. data/doc/classes/RsDos.src/M000381.html +18 -0
  609. data/doc/classes/RsDos.src/M000382.html +18 -0
  610. data/doc/classes/RsDos.src/M000383.html +62 -0
  611. data/doc/classes/ScAsm.html +5 -5
  612. data/doc/classes/ScAsm.src/M000587.html +45 -0
  613. data/doc/classes/ScreenDump.html +5 -5
  614. data/doc/classes/ScreenDump.src/M000605.html +24 -0
  615. data/doc/classes/ScreenDumps.html +15 -15
  616. data/doc/classes/ScreenDumps.src/M000500.html +22 -0
  617. data/doc/classes/ScreenDumps.src/M000501.html +24 -0
  618. data/doc/classes/ScreenDumps.src/M000502.html +35 -0
  619. data/doc/classes/ScrunchedAppleDosPic.html +5 -5
  620. data/doc/classes/ScrunchedAppleDosPic.src/M000287.html +37 -0
  621. data/doc/classes/ShapeTable.html +131 -0
  622. data/doc/classes/ShapeTable.src/M000606.html +52 -0
  623. data/doc/classes/ShapeTableFont.html +305 -0
  624. data/doc/classes/ShapeTableFont.src/M000302.html +21 -0
  625. data/doc/classes/ShapeTableFont.src/M000303.html +27 -0
  626. data/doc/classes/ShapeTableFont.src/M000304.html +21 -0
  627. data/doc/classes/ShapeTableFont.src/M000305.html +19 -0
  628. data/doc/classes/ShapeTableFont.src/M000306.html +18 -0
  629. data/doc/classes/ShapeTableFont.src/M000307.html +35 -0
  630. data/doc/classes/ShapeTableFont.src/M000308.html +18 -0
  631. data/doc/classes/ShapeTableFont.src/M000309.html +18 -0
  632. data/doc/classes/ShapeTableFont.src/M000310.html +21 -0
  633. data/doc/classes/SubclassTracking.html +5 -5
  634. data/doc/classes/SubclassTracking.src/M000615.html +23 -0
  635. data/doc/classes/Ti99.html +60 -60
  636. data/doc/classes/Ti99.src/M000154.html +18 -0
  637. data/doc/classes/Ti99.src/M000155.html +4 -4
  638. data/doc/classes/Ti99.src/M000156.html +4 -4
  639. data/doc/classes/Ti99.src/M000157.html +4 -4
  640. data/doc/classes/Ti99.src/M000158.html +4 -4
  641. data/doc/classes/Ti99.src/M000159.html +4 -4
  642. data/doc/classes/Ti99.src/M000160.html +4 -4
  643. data/doc/classes/Ti99.src/M000161.html +4 -4
  644. data/doc/classes/Ti99.src/M000162.html +4 -4
  645. data/doc/classes/Ti99.src/M000163.html +4 -4
  646. data/doc/classes/Ti99.src/M000164.html +4 -4
  647. data/doc/classes/Ti99.src/M000165.html +4 -4
  648. data/doc/classes/Ti99BasicFile.html +5 -5
  649. data/doc/classes/Ti99BasicFile.src/M000591.html +72 -0
  650. data/doc/classes/Ti99Dsk.html +45 -45
  651. data/doc/classes/Ti99Dsk.src/M000208.html +18 -0
  652. data/doc/classes/Ti99Dsk.src/M000209.html +18 -0
  653. data/doc/classes/Ti99Dsk.src/M000210.html +18 -0
  654. data/doc/classes/Ti99Dsk.src/M000211.html +18 -0
  655. data/doc/classes/Ti99Dsk.src/M000212.html +18 -0
  656. data/doc/classes/Ti99Dsk.src/M000213.html +22 -0
  657. data/doc/classes/Ti99Dsk.src/M000214.html +22 -0
  658. data/doc/classes/Ti99Dsk.src/M000215.html +22 -0
  659. data/doc/classes/Ti99Dsk.src/M000216.html +27 -0
  660. data/doc/classes/Ti99File.html +10 -10
  661. data/doc/classes/Ti99File.src/M000574.html +20 -0
  662. data/doc/classes/Ti99File.src/M000575.html +18 -0
  663. data/doc/classes/Ti99Fms.html +10 -10
  664. data/doc/classes/Ti99Fms.src/M000285.html +18 -0
  665. data/doc/classes/Ti99Fms.src/M000286.html +77 -0
  666. data/doc/classes/Ti99TextFile.html +10 -10
  667. data/doc/classes/Ti99TextFile.src/M000525.html +33 -0
  668. data/doc/classes/Ti99TextFile.src/M000526.html +18 -0
  669. data/doc/classes/TiArtistPattern.html +20 -20
  670. data/doc/classes/TiArtistPattern.src/M000281.html +50 -0
  671. data/doc/classes/TiArtistPattern.src/M000282.html +18 -0
  672. data/doc/classes/TiArtistPattern.src/M000283.html +18 -0
  673. data/doc/classes/TiArtistPattern.src/M000284.html +18 -0
  674. data/doc/classes/TiRLE.html +20 -20
  675. data/doc/classes/TiRLE.src/M000143.html +22 -0
  676. data/doc/classes/TiRLE.src/M000144.html +22 -0
  677. data/doc/classes/TiRLE.src/M000145.html +43 -0
  678. data/doc/classes/TiRLE.src/M000146.html +18 -0
  679. data/doc/classes/Trs80.html +55 -55
  680. data/doc/classes/Trs80.src/M000027.html +18 -0
  681. data/doc/classes/Trs80.src/M000028.html +18 -0
  682. data/doc/classes/Trs80.src/M000029.html +18 -0
  683. data/doc/classes/Trs80.src/M000030.html +18 -0
  684. data/doc/classes/Trs80.src/M000031.html +18 -0
  685. data/doc/classes/Trs80.src/M000032.html +18 -0
  686. data/doc/classes/Trs80.src/M000033.html +18 -0
  687. data/doc/classes/Trs80.src/M000034.html +18 -0
  688. data/doc/classes/Trs80.src/M000035.html +18 -0
  689. data/doc/classes/Trs80.src/M000036.html +18 -0
  690. data/doc/classes/Trs80.src/M000037.html +18 -0
  691. data/doc/classes/Trs80BasicListing.html +15 -15
  692. data/doc/classes/Trs80BasicListing.src/M000478.html +20 -0
  693. data/doc/classes/Trs80BasicListing.src/M000479.html +18 -0
  694. data/doc/classes/Trs80BasicListing.src/M000480.html +18 -0
  695. data/doc/classes/Trs80Cmd.html +20 -20
  696. data/doc/classes/Trs80Cmd.src/M000048.html +19 -0
  697. data/doc/classes/Trs80Cmd.src/M000049.html +24 -0
  698. data/doc/classes/Trs80Cmd.src/M000050.html +20 -0
  699. data/doc/classes/Trs80Cmd.src/M000051.html +35 -0
  700. data/doc/classes/Trs80Jcl.html +10 -10
  701. data/doc/classes/Trs80Jcl.src/M000317.html +20 -0
  702. data/doc/classes/Trs80Jcl.src/M000318.html +18 -0
  703. data/doc/classes/Trs80Jv1Dsk.html +25 -25
  704. data/doc/classes/Trs80Jv1Dsk.src/M000100.html +18 -0
  705. data/doc/classes/Trs80Jv1Dsk.src/M000101.html +18 -0
  706. data/doc/classes/Trs80Jv1Dsk.src/M000102.html +18 -0
  707. data/doc/classes/Trs80Jv1Dsk.src/M000103.html +18 -0
  708. data/doc/classes/Trs80Jv1Dsk.src/M000104.html +21 -0
  709. data/doc/classes/Trs80LevelIIBasic.html +15 -15
  710. data/doc/classes/Trs80LevelIIBasic.src/M000299.html +20 -0
  711. data/doc/classes/Trs80LevelIIBasic.src/M000300.html +18 -0
  712. data/doc/classes/Trs80LevelIIBasic.src/M000301.html +43 -0
  713. data/doc/classes/Trs80PascalSource.html +10 -10
  714. data/doc/classes/Trs80PascalSource.src/M000262.html +20 -0
  715. data/doc/classes/Trs80PascalSource.src/M000263.html +30 -0
  716. data/doc/classes/Trs80Text.html +15 -15
  717. data/doc/classes/Trs80Text.src/M000201.html +20 -0
  718. data/doc/classes/Trs80Text.src/M000202.html +18 -0
  719. data/doc/classes/Trs80Text.src/M000203.html +18 -0
  720. data/doc/classes/TrsDos.html +20 -20
  721. data/doc/classes/TrsDos.src/M000536.html +18 -0
  722. data/doc/classes/TrsDos.src/M000537.html +18 -0
  723. data/doc/classes/TrsDos.src/M000538.html +18 -0
  724. data/doc/classes/TrsDos.src/M000539.html +64 -0
  725. data/doc/classes/Zx81.html +25 -25
  726. data/doc/classes/Zx81.src/M000245.html +18 -0
  727. data/doc/classes/Zx81.src/M000246.html +206 -0
  728. data/doc/classes/Zx81.src/M000247.html +18 -0
  729. data/doc/classes/Zx81.src/M000248.html +23 -0
  730. data/doc/classes/Zx81.src/M000249.html +29 -0
  731. data/doc/classes/Zx81Basic.html +15 -15
  732. data/doc/classes/Zx81Basic.src/M000107.html +20 -0
  733. data/doc/classes/Zx81Basic.src/M000108.html +18 -0
  734. data/doc/classes/Zx81Basic.src/M000109.html +123 -0
  735. data/doc/classes/Zx81PFile.html +10 -10
  736. data/doc/classes/Zx81PFile.src/M000264.html +18 -0
  737. data/doc/classes/Zx81PFile.src/M000265.html +18 -0
  738. data/doc/classes/Zx81Snapshot.html +10 -10
  739. data/doc/classes/Zx81Snapshot.src/M000235.html +18 -0
  740. data/doc/classes/Zx81Snapshot.src/M000236.html +22 -0
  741. data/doc/created.rid +1 -1
  742. data/doc/files/lib/FileSystemImage_rb.html +1 -1
  743. data/doc/files/lib/LibRipXplore_rb.html +1 -1
  744. data/doc/files/lib/NativeFileType_rb.html +1 -1
  745. data/doc/files/lib/file_systems/AtariDos_rb.html +1 -1
  746. data/doc/files/lib/host_systems/Apple2_rb.html +1 -1
  747. data/doc/files/lib/host_systems/Atari800_rb.html +1 -1
  748. data/doc/files/lib/image_formats/Atr_rb.html +1 -1
  749. data/doc/files/lib/native_file_types/apple2/AppleHiResPic_rb.html +2 -1
  750. data/doc/files/lib/native_file_types/apple2/ApplePrintShopFont_rb.html +111 -0
  751. data/doc/files/lib/native_file_types/apple2/ShapeTableFont_rb.html +111 -0
  752. data/doc/files/lib/native_file_types/apple2/ShapeTable_rb.html +101 -0
  753. data/doc/files/lib/native_file_types/atari800/AtariBitmapFont_rb.html +115 -0
  754. data/doc/files/lib/native_file_types/atari800/AtariMicroPainterPic_rb.html +114 -0
  755. data/doc/files/lib/native_file_types/atari800/AtariText_rb.html +1 -1
  756. data/doc/files/lib/native_file_types/c64/C64GeosFont_rb.html +2 -2
  757. data/doc/files/lib/native_file_types/generic/Font_rb.html +108 -0
  758. data/doc/files/test/tc_apple_2_rb.html +1 -1
  759. data/doc/files/test/tc_atari_800_rb.html +1 -1
  760. data/doc/files/test/tc_c64_rb.html +1 -1
  761. data/doc/fr_class_index.html +6 -0
  762. data/doc/fr_file_index.html +6 -0
  763. data/doc/fr_method_index.html +619 -576
  764. data/lib/FileSystemImage.rb +4 -0
  765. data/lib/LibRipXplore.rb +1 -1
  766. data/lib/file_systems/AtariDos.rb +5 -3
  767. data/lib/host_systems/Apple2.rb +12 -0
  768. data/lib/host_systems/Atari800.rb +63 -0
  769. data/lib/native_file_types/apple2/AppleHiResPic.rb +11 -23
  770. data/lib/native_file_types/apple2/ApplePrintShopFont.rb +170 -0
  771. data/lib/native_file_types/apple2/ShapeTable.rb +72 -0
  772. data/lib/native_file_types/apple2/ShapeTableFont.rb +155 -0
  773. data/lib/native_file_types/atari800/AtariBitmapFont.rb +100 -0
  774. data/lib/native_file_types/atari800/AtariMicroPainterPic.rb +57 -0
  775. data/lib/native_file_types/atari800/AtariText.rb +4 -0
  776. data/lib/native_file_types/c64/C64GeosFont.rb +37 -137
  777. data/lib/native_file_types/generic/Font.rb +173 -0
  778. data/test/tc_apple_2.rb +145 -115
  779. data/test/tc_atari_800.rb +48 -28
  780. data/test/tc_c64.rb +11 -1
  781. metadata +620 -3
@@ -0,0 +1,92 @@
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>files (CbmDos)</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/file_systems/CbmDos.rb, line 23</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">files</span>(<span class="ruby-identifier">file_system_image</span>)
15
+ <span class="ruby-identifier">files</span>=<span class="ruby-constant">FileContainer</span>.<span class="ruby-identifier">new</span>
16
+ <span class="ruby-identifier">dir_track_no</span>=<span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">image_format</span>.<span class="ruby-identifier">dir_track_no</span>
17
+ <span class="ruby-identifier">dir_sector_no</span>=<span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">image_format</span>.<span class="ruby-identifier">dir_sector_no</span>
18
+ <span class="ruby-keyword kw">until</span> <span class="ruby-identifier">dir_track_no</span><span class="ruby-operator">==</span><span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">dir_track_no</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">end_track</span> <span class="ruby-keyword kw">do</span>
19
+ <span class="ruby-identifier">directory_sector</span>=<span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">get_sector</span>(<span class="ruby-identifier">dir_track_no</span>,<span class="ruby-identifier">dir_sector_no</span>)
20
+ <span class="ruby-identifier">dir_track_no</span>=<span class="ruby-identifier">directory_sector</span>[<span class="ruby-value">0</span>]
21
+ <span class="ruby-identifier">dir_sector_no</span>=<span class="ruby-identifier">directory_sector</span>[<span class="ruby-value">1</span>]
22
+ <span class="ruby-value">0</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-value">7</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">entry_number</span><span class="ruby-operator">|</span>
23
+ <span class="ruby-identifier">directory_entry</span>=<span class="ruby-identifier">directory_sector</span>[<span class="ruby-constant">DIRECTORY_ENTRY_SIZE</span><span class="ruby-operator">*</span><span class="ruby-identifier">entry_number</span>,<span class="ruby-constant">DIRECTORY_ENTRY_SIZE</span>]
24
+ <span class="ruby-identifier">file_name</span>=<span class="ruby-constant">C64</span>.<span class="ruby-identifier">s_to_ascii</span>(<span class="ruby-identifier">directory_entry</span>[<span class="ruby-value">0x05</span><span class="ruby-operator">..</span><span class="ruby-value">0x14</span>]).<span class="ruby-identifier">strip</span>
25
+ <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">directory_entry</span>[<span class="ruby-value">0x02</span>]<span class="ruby-operator">==</span><span class="ruby-value">0x00</span> <span class="ruby-comment cmt">#skip SCRATCHed files
26
+ <span class="ruby-identifier">file_type</span>=<span class="ruby-constant">FILE_TYPES</span>[<span class="ruby-identifier">directory_entry</span>[<span class="ruby-value">0x02</span>]<span class="ruby-operator">%</span><span class="ruby-value">8</span>]
27
+ <span class="ruby-identifier">geos_file_type</span>=<span class="ruby-constant">GEOS_FILE_TYPES</span>[<span class="ruby-identifier">directory_entry</span>[<span class="ruby-value">0x18</span>]]
28
+ <span class="ruby-identifier">is_geos_file</span>=(<span class="ruby-identifier">geos_file_type!</span>=<span class="ruby-identifier">:not_geos</span>)
29
+ <span class="ruby-identifier">is_vlir</span>=<span class="ruby-identifier">is_geos_file</span> <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-identifier">directory_entry</span>[<span class="ruby-value">0x17</span>]<span class="ruby-operator">==</span><span class="ruby-value">0x01</span>)
30
+ <span class="ruby-comment cmt"># puts &quot;geos file type: #{geos_file_type} #{is_geos_file} #{is_vlir}&quot;
31
+ <span class="ruby-identifier">file_track_no</span>=<span class="ruby-identifier">directory_entry</span>[<span class="ruby-value">0x03</span>]
32
+ <span class="ruby-identifier">file_sector_no</span>=<span class="ruby-identifier">directory_entry</span>[<span class="ruby-value">0x04</span>]
33
+ <span class="ruby-identifier">info_block</span>=<span class="ruby-identifier">nil?</span>
34
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">is_geos_file</span>) <span class="ruby-keyword kw">then</span>
35
+ <span class="ruby-identifier">file_name</span>=(<span class="ruby-identifier">directory_entry</span>[<span class="ruby-value">0x05</span><span class="ruby-operator">..</span><span class="ruby-value">0x14</span>]).<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\xa0/</span>,<span class="ruby-value str">&quot; &quot;</span>).<span class="ruby-identifier">strip</span> <span class="ruby-comment cmt">#GEOS filenames will be ASCII not PETSCII
36
+ <span class="ruby-identifier">info_block</span>=<span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">get_sector</span>(<span class="ruby-identifier">directory_entry</span>[<span class="ruby-value">0x15</span>],<span class="ruby-identifier">directory_entry</span>[<span class="ruby-value">0x16</span>])
37
+ <span class="ruby-identifier">file_contents</span>=[<span class="ruby-identifier">info_block</span>]
38
+
39
+ <span class="ruby-keyword kw">end</span>
40
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">is_vlir</span>) <span class="ruby-keyword kw">then</span>
41
+ <span class="ruby-comment cmt"># puts file_name
42
+ <span class="ruby-identifier">record_block</span>=<span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">get_sector</span>(<span class="ruby-identifier">file_track_no</span>,<span class="ruby-identifier">file_sector_no</span>)
43
+ <span class="ruby-value">127</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
44
+ <span class="ruby-identifier">record_no</span>=<span class="ruby-identifier">i</span><span class="ruby-operator">+</span><span class="ruby-value">1</span>
45
+ <span class="ruby-identifier">record_track_no</span>=<span class="ruby-identifier">record_block</span>[<span class="ruby-value">2</span><span class="ruby-operator">*</span><span class="ruby-identifier">record_no</span>]
46
+ <span class="ruby-identifier">record_sector_no</span>=<span class="ruby-identifier">record_block</span>[<span class="ruby-value">1</span><span class="ruby-operator">+</span>(<span class="ruby-value">2</span><span class="ruby-operator">*</span><span class="ruby-identifier">record_no</span>)]
47
+ <span class="ruby-identifier">record_contents</span>=<span class="ruby-keyword kw">nil</span>
48
+ <span class="ruby-keyword kw">until</span> <span class="ruby-identifier">record_track_no</span><span class="ruby-operator">==</span><span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">record_track_no</span><span class="ruby-operator">&gt;</span><span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">end_track</span> <span class="ruby-keyword kw">do</span>
49
+ <span class="ruby-identifier">record_contents</span>=<span class="ruby-value str">&quot;&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">record_contents</span>.<span class="ruby-identifier">nil?</span>
50
+ <span class="ruby-identifier">record_sector</span>=<span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">get_sector</span>(<span class="ruby-identifier">record_track_no</span>,<span class="ruby-identifier">record_sector_no</span>)
51
+ <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">record_sector</span>.<span class="ruby-identifier">nil?</span>
52
+ <span class="ruby-identifier">record_track_no</span>=<span class="ruby-identifier">record_sector</span>[<span class="ruby-value">0</span>]
53
+ <span class="ruby-identifier">record_sector_no</span>=<span class="ruby-identifier">record_sector</span>[<span class="ruby-value">1</span>]
54
+ <span class="ruby-identifier">end_of_data</span>= (<span class="ruby-identifier">record_track_no</span><span class="ruby-operator">==</span><span class="ruby-value">0</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">record_sector</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">:</span> <span class="ruby-value">255</span>
55
+ <span class="ruby-identifier">record_contents</span><span class="ruby-operator">&lt;&lt;</span><span class="ruby-identifier">record_sector</span>[<span class="ruby-value">2</span><span class="ruby-operator">..</span><span class="ruby-identifier">end_of_data</span>]
56
+ <span class="ruby-keyword kw">end</span>
57
+ <span class="ruby-identifier">file_contents</span><span class="ruby-operator">&lt;&lt;</span>(<span class="ruby-identifier">record_contents</span>)
58
+ <span class="ruby-keyword kw">end</span>
59
+ <span class="ruby-keyword kw">else</span>
60
+ <span class="ruby-identifier">file_contents</span>=<span class="ruby-value str">&quot;&quot;</span>
61
+ <span class="ruby-keyword kw">until</span> <span class="ruby-identifier">file_track_no</span><span class="ruby-operator">==</span><span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">file_track_no</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">end_track</span> <span class="ruby-keyword kw">do</span>
62
+ <span class="ruby-identifier">file_sector</span>=<span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">get_sector</span>(<span class="ruby-identifier">file_track_no</span>,<span class="ruby-identifier">file_sector_no</span>)
63
+ <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">file_sector</span>.<span class="ruby-identifier">nil?</span>
64
+ <span class="ruby-identifier">file_track_no</span>=<span class="ruby-identifier">file_sector</span>[<span class="ruby-value">0</span>]
65
+ <span class="ruby-identifier">file_sector_no</span>=<span class="ruby-identifier">file_sector</span>[<span class="ruby-value">1</span>]
66
+ <span class="ruby-identifier">end_of_data</span>= (<span class="ruby-identifier">file_track_no</span><span class="ruby-operator">==</span><span class="ruby-value">0</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">file_sector</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">:</span> <span class="ruby-value">255</span>
67
+ <span class="ruby-identifier">file_contents</span><span class="ruby-operator">+=</span><span class="ruby-identifier">file_sector</span>[<span class="ruby-value">2</span><span class="ruby-operator">..</span><span class="ruby-identifier">end_of_data</span>]
68
+ <span class="ruby-comment cmt"># puts &quot;#{file_name} #{file_track_no} #{file_sector_no} #{end_of_data}&quot;
69
+ <span class="ruby-keyword kw">end</span>
70
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">is_geos_file</span>) <span class="ruby-keyword kw">then</span>
71
+ <span class="ruby-identifier">file_contents</span>=[<span class="ruby-identifier">info_block</span>,<span class="ruby-identifier">file_contents</span>]
72
+ <span class="ruby-keyword kw">end</span>
73
+ <span class="ruby-keyword kw">end</span>
74
+ <span class="ruby-identifier">file</span>=<span class="ruby-constant">NativeFileType</span>.<span class="ruby-identifier">best_fit</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-identifier">file_name</span>,<span class="ruby-identifier">file_contents</span>,<span class="ruby-identifier">file_type</span>,<span class="ruby-identifier">geos_file_type</span>)
75
+ [<span class="ruby-identifier">file</span>].<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
76
+
77
+ <span class="ruby-identifier">f</span>.<span class="ruby-identifier">meta_data</span>[<span class="ruby-value str">&quot;c64_file_type&quot;</span>]=<span class="ruby-value str">&quot;$%02x&quot;</span> <span class="ruby-operator">%</span> <span class="ruby-identifier">directory_entry</span>[<span class="ruby-value">0x02</span>]
78
+ <span class="ruby-identifier">f</span>.<span class="ruby-identifier">meta_data</span>[<span class="ruby-value str">&quot;first_block&quot;</span>]=<span class="ruby-value str">&quot;track $%02x sector $%02x&quot;</span> <span class="ruby-operator">%</span> [<span class="ruby-identifier">directory_entry</span>[<span class="ruby-value">0x03</span>],<span class="ruby-identifier">directory_entry</span>[<span class="ruby-value">04</span>]]
79
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">is_geos_file</span>) <span class="ruby-keyword kw">then</span>
80
+ <span class="ruby-identifier">f</span>.<span class="ruby-identifier">meta_data</span>[<span class="ruby-value str">&quot;geos_file_header&quot;</span>]=<span class="ruby-value str">&quot;track $%02x sector $%02x&quot;</span> <span class="ruby-operator">%</span> [<span class="ruby-identifier">directory_entry</span>[<span class="ruby-value">0x15</span>],<span class="ruby-identifier">directory_entry</span>[<span class="ruby-value">16</span>]]
81
+ <span class="ruby-identifier">f</span>.<span class="ruby-identifier">meta_data</span>[<span class="ruby-value str">&quot;geos_file_structure_type&quot;</span>]=<span class="ruby-value str">&quot;$%02x&quot;</span> <span class="ruby-operator">%</span> <span class="ruby-identifier">directory_entry</span>[<span class="ruby-value">0x17</span>]
82
+ <span class="ruby-identifier">f</span>.<span class="ruby-identifier">meta_data</span>[<span class="ruby-value str">&quot;geos_file_type&quot;</span>]=<span class="ruby-value str">&quot;$%02x&quot;</span> <span class="ruby-operator">%</span> <span class="ruby-identifier">directory_entry</span>[<span class="ruby-value">0x18</span>]
83
+ <span class="ruby-identifier">f</span>.<span class="ruby-identifier">meta_data</span>[<span class="ruby-value str">&quot;geos_file_modified_date&quot;</span>]=<span class="ruby-value str">&quot;%04d-%02d-%02d %02d:%02d&quot;</span> <span class="ruby-operator">%</span> [<span class="ruby-value">1900</span><span class="ruby-operator">+</span><span class="ruby-identifier">directory_entry</span>[<span class="ruby-value">0x19</span>],<span class="ruby-identifier">directory_entry</span>[<span class="ruby-value">0x1</span><span class="ruby-constant">A</span>],<span class="ruby-identifier">directory_entry</span>[<span class="ruby-value">0x1</span><span class="ruby-constant">B</span>],<span class="ruby-identifier">directory_entry</span>[<span class="ruby-value">0x1</span><span class="ruby-constant">C</span>],<span class="ruby-identifier">directory_entry</span>[<span class="ruby-value">0x1</span><span class="ruby-constant">D</span>]]
84
+ <span class="ruby-keyword kw">end</span>
85
+ <span class="ruby-keyword kw">end</span>
86
+ <span class="ruby-identifier">files</span><span class="ruby-operator">&lt;&lt;</span><span class="ruby-identifier">file</span>
87
+ <span class="ruby-keyword kw">end</span>
88
+ <span class="ruby-keyword kw">end</span>
89
+ <span class="ruby-identifier">files</span>
90
+ <span class="ruby-keyword kw">end</span></pre>
91
+ </body>
92
+ </html>
@@ -0,0 +1,38 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>free_sector_list (CbmDos)</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/file_systems/CbmDos.rb, line 102</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">free_sector_list</span>(<span class="ruby-identifier">file_system_image</span>)
15
+ <span class="ruby-identifier">bam</span>=<span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">get_sector</span>(<span class="ruby-value">18</span>,<span class="ruby-value">0</span>)
16
+ <span class="ruby-identifier">free_sectors</span>=[]
17
+ (<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">35</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">track</span><span class="ruby-operator">|</span>
18
+ <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">track</span><span class="ruby-operator">==</span><span class="ruby-value">18</span> <span class="ruby-comment cmt">#don't try to save files to track 18
19
+ <span class="ruby-identifier">track_bitmap_lo</span>=<span class="ruby-identifier">bam</span>[<span class="ruby-identifier">track</span><span class="ruby-operator">*</span><span class="ruby-value">4</span><span class="ruby-operator">+</span><span class="ruby-value">1</span>]
20
+ <span class="ruby-identifier">track_bitmap_mid</span>=<span class="ruby-identifier">bam</span>[<span class="ruby-identifier">track</span><span class="ruby-operator">*</span><span class="ruby-value">4</span><span class="ruby-operator">+</span><span class="ruby-value">2</span>]
21
+ <span class="ruby-identifier">track_bitmap_hi</span>=<span class="ruby-identifier">bam</span>[<span class="ruby-identifier">track</span><span class="ruby-operator">*</span><span class="ruby-value">4</span><span class="ruby-operator">+</span><span class="ruby-value">3</span>]
22
+ (<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">7</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">bit_no</span><span class="ruby-operator">|</span>
23
+ <span class="ruby-keyword kw">if</span> ((<span class="ruby-identifier">track_bitmap_lo</span> <span class="ruby-operator">&amp;</span> (<span class="ruby-value">2</span><span class="ruby-operator">**</span>(<span class="ruby-identifier">bit_no</span>)))<span class="ruby-operator">!=</span><span class="ruby-value">0</span>) <span class="ruby-keyword kw">then</span>
24
+ <span class="ruby-identifier">free_sectors</span><span class="ruby-operator">&lt;&lt;</span>[<span class="ruby-identifier">track</span>,<span class="ruby-identifier">bit_no</span>]
25
+ <span class="ruby-keyword kw">end</span>
26
+ <span class="ruby-keyword kw">if</span> ((<span class="ruby-identifier">track_bitmap_mid</span> <span class="ruby-operator">&amp;</span> (<span class="ruby-value">2</span><span class="ruby-operator">**</span>(<span class="ruby-identifier">bit_no</span>)))<span class="ruby-operator">!=</span><span class="ruby-value">0</span>) <span class="ruby-keyword kw">then</span>
27
+ <span class="ruby-identifier">free_sectors</span><span class="ruby-operator">&lt;&lt;</span>[<span class="ruby-identifier">track</span>,<span class="ruby-identifier">bit_no</span><span class="ruby-operator">+</span><span class="ruby-value">8</span>]
28
+ <span class="ruby-keyword kw">end</span>
29
+ <span class="ruby-keyword kw">if</span> ((<span class="ruby-identifier">track_bitmap_hi</span> <span class="ruby-operator">&amp;</span> (<span class="ruby-value">2</span><span class="ruby-operator">**</span>(<span class="ruby-identifier">bit_no</span>)))<span class="ruby-operator">!=</span><span class="ruby-value">0</span>) <span class="ruby-keyword kw">then</span>
30
+ <span class="ruby-identifier">free_sectors</span><span class="ruby-operator">&lt;&lt;</span>[<span class="ruby-identifier">track</span>,<span class="ruby-identifier">bit_no</span><span class="ruby-operator">+</span><span class="ruby-value">16</span>]
31
+ <span class="ruby-keyword kw">end</span>
32
+ <span class="ruby-keyword kw">end</span>
33
+ <span class="ruby-keyword kw">end</span>
34
+ <span class="ruby-identifier">free_sectors</span>.<span class="ruby-identifier">sort!</span>
35
+ <span class="ruby-comment cmt"># free_sectors.each {|ts| puts &quot;T#{ts[0]} S#{ts[1]}&quot;}
36
+ <span class="ruby-keyword kw">end</span></pre>
37
+ </body>
38
+ </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>directory_entry_for_filename (CbmDos)</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/file_systems/CbmDos.rb, line 126</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">directory_entry_for_filename</span>(<span class="ruby-identifier">filename</span>)
15
+ (<span class="ruby-identifier">filename</span><span class="ruby-operator">+</span>(<span class="ruby-value">0x</span><span class="ruby-constant">A0</span>.<span class="ruby-identifier">chr</span>)<span class="ruby-operator">*</span><span class="ruby-value">16</span>)[<span class="ruby-value">0</span>,<span class="ruby-value">0x10</span>]
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,68 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>add_file (CbmDos)</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/file_systems/CbmDos.rb, line 130</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">add_file</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-identifier">native_filetype_class</span>,<span class="ruby-identifier">filename</span>,<span class="ruby-identifier">file_contents</span>,<span class="ruby-identifier">file_type</span>=<span class="ruby-keyword kw">nil</span>,<span class="ruby-identifier">aux_code</span>=<span class="ruby-keyword kw">nil</span>)
15
+ <span class="ruby-comment cmt">#make sure the file type is supported on CBM DOS!
16
+ <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;#{native_filetype_class} not supported on CBM DOS 2.6 file system&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">native_filetype_class</span>.<span class="ruby-identifier">file_system_file_types</span>[<span class="ruby-keyword kw">self</span>].<span class="ruby-identifier">nil?</span>
17
+ <span class="ruby-identifier">expected_file_type</span>=<span class="ruby-identifier">native_filetype_class</span>.<span class="ruby-identifier">file_system_file_types</span>[<span class="ruby-keyword kw">self</span>]
18
+ <span class="ruby-identifier">file_type</span>=<span class="ruby-identifier">expected_file_type</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">file_type</span>.<span class="ruby-identifier">nil?</span>
19
+ <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;inconsistent file_type (should be #{expected_file_type} but was #{file_type})&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">expected_file_type</span><span class="ruby-operator">==</span><span class="ruby-identifier">file_type</span>
20
+ <span class="ruby-identifier">native_file</span>=<span class="ruby-identifier">native_filetype_class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-identifier">filename</span>,<span class="ruby-identifier">file_contents</span>,<span class="ruby-identifier">file_type</span>,<span class="ruby-identifier">aux_code</span>)
21
+ <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;couldn't make #{native_filetype_class}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">native_file</span>.<span class="ruby-identifier">nil?</span>
22
+
23
+ <span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">delete_file</span>(<span class="ruby-identifier">filename</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">files</span>[<span class="ruby-identifier">filename</span>].<span class="ruby-identifier">nil?</span>
24
+
25
+
26
+ <span class="ruby-identifier">free_sectors</span>=<span class="ruby-identifier">free_sector_list</span>(<span class="ruby-identifier">file_system_image</span>)
27
+ <span class="ruby-identifier">sectors_needed</span>=<span class="ruby-value">1</span><span class="ruby-operator">+</span>(<span class="ruby-identifier">file_contents</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">/</span><span class="ruby-value">254</span>)
28
+ <span class="ruby-identifier">file_sectors</span>=<span class="ruby-identifier">free_sectors</span>[(<span class="ruby-identifier">free_sectors</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">-</span><span class="ruby-identifier">sectors_needed</span>)<span class="ruby-operator">/</span><span class="ruby-value">2</span>,<span class="ruby-identifier">sectors_needed</span>] <span class="ruby-comment cmt">#we take a chunk out of the middle of the available sectors, so we keep as close to track 18 as possible
29
+ <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;not enough free space - #{sectors_needed} sectors needed, #{file_sectors.length} available &quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">sectors_needed</span><span class="ruby-operator">==</span><span class="ruby-identifier">file_sectors</span>.<span class="ruby-identifier">length</span>
30
+ <span class="ruby-identifier">directory_slot</span>=<span class="ruby-identifier">find_free_directory_slot</span>(<span class="ruby-identifier">file_system_image</span>)
31
+ <span class="ruby-comment cmt"># file_sectors.each {|ts| puts &quot;T#{ts[0]} S#{ts[1]}&quot;}
32
+ <span class="ruby-identifier">directory_slot</span>=<span class="ruby-identifier">create_empty_directory_sector</span>(<span class="ruby-identifier">file_system_image</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">directory_slot</span>.<span class="ruby-identifier">nil?</span>
33
+ <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;DIRECTORY IS FULL!&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">directory_slot</span>.<span class="ruby-identifier">nil?</span>
34
+ <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;invalid directory slot &quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">directory_slot</span>[<span class="ruby-value">2</span>].<span class="ruby-identifier">nil?</span>
35
+ <span class="ruby-comment cmt"># puts &quot;T#{directory_slot[0]} S#{directory_slot[1]} OFFSET #{directory_slot[2]}&quot;
36
+ <span class="ruby-identifier">directory_track_no</span>=<span class="ruby-identifier">directory_slot</span>[<span class="ruby-value">0</span>]
37
+ <span class="ruby-identifier">directory_sector_no</span>=<span class="ruby-identifier">directory_slot</span>[<span class="ruby-value">1</span>]
38
+ <span class="ruby-identifier">directory_offset</span>=<span class="ruby-identifier">directory_slot</span>[<span class="ruby-value">2</span>]
39
+ <span class="ruby-identifier">directory_sector</span>=<span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">get_sector</span>(<span class="ruby-identifier">directory_track_no</span>,<span class="ruby-identifier">directory_sector_no</span>)
40
+ <span class="ruby-identifier">directory_filename</span>=<span class="ruby-identifier">directory_entry_for_filename</span>(<span class="ruby-identifier">filename</span>)
41
+ <span class="ruby-identifier">file_code</span>=<span class="ruby-constant">FILE_TYPES</span>.<span class="ruby-identifier">index</span>(<span class="ruby-identifier">native_file</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">file_system_file_types</span>[<span class="ruby-constant">CbmDos</span>])
42
+ <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;invalid file type&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">file_code</span>.<span class="ruby-identifier">nil?</span>
43
+ <span class="ruby-identifier">file_code</span><span class="ruby-operator">+=</span><span class="ruby-value">0x80</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">file_code</span><span class="ruby-operator">==</span><span class="ruby-value">0</span> <span class="ruby-comment cmt">#DEL files should be OPEN, all other files should be CLOSED
44
+ <span class="ruby-comment cmt"># puts &quot;%x&quot; % file_code
45
+ <span class="ruby-identifier">directory_entry</span>=[<span class="ruby-identifier">file_code</span>,<span class="ruby-identifier">file_sectors</span>[<span class="ruby-value">0</span>][<span class="ruby-value">0</span>],<span class="ruby-identifier">file_sectors</span>[<span class="ruby-value">0</span>][<span class="ruby-value">1</span>],<span class="ruby-identifier">directory_filename</span>,<span class="ruby-identifier">file_sectors</span>.<span class="ruby-identifier">length</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-value str">&quot;CCCa16x9v&quot;</span>)
46
+ <span class="ruby-comment cmt"># puts &quot;start of file #{filename} will be T #{file_sectors[0][0]} S #{file_sectors[0][1]}&quot;
47
+ <span class="ruby-identifier">sectors_needed</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
48
+ <span class="ruby-identifier">this_track_no</span>=<span class="ruby-identifier">file_sectors</span>[<span class="ruby-identifier">i</span>][<span class="ruby-value">0</span>]
49
+ <span class="ruby-identifier">this_sector_no</span>=<span class="ruby-identifier">file_sectors</span>[<span class="ruby-identifier">i</span>][<span class="ruby-value">1</span>]
50
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">i</span><span class="ruby-operator">==</span>(<span class="ruby-identifier">sectors_needed</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>) <span class="ruby-keyword kw">then</span>
51
+ <span class="ruby-identifier">next_track_no</span>=<span class="ruby-value">0</span>
52
+ <span class="ruby-identifier">data_length</span>=(<span class="ruby-identifier">file_contents</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">%</span> <span class="ruby-value">254</span>)
53
+ <span class="ruby-identifier">next_sector_no</span>=<span class="ruby-identifier">data_length</span><span class="ruby-operator">+</span><span class="ruby-value">1</span>
54
+ <span class="ruby-keyword kw">else</span>
55
+ <span class="ruby-identifier">next_track_no</span>=<span class="ruby-identifier">file_sectors</span>[<span class="ruby-identifier">i</span><span class="ruby-operator">+</span><span class="ruby-value">1</span>][<span class="ruby-value">0</span>]
56
+ <span class="ruby-identifier">next_sector_no</span>=<span class="ruby-identifier">file_sectors</span>[<span class="ruby-identifier">i</span><span class="ruby-operator">+</span><span class="ruby-value">1</span>][<span class="ruby-value">1</span>]
57
+ <span class="ruby-identifier">data_length</span>=<span class="ruby-value">254</span>
58
+ <span class="ruby-keyword kw">end</span>
59
+ <span class="ruby-identifier">sector_data</span>=[<span class="ruby-identifier">next_track_no</span>,<span class="ruby-identifier">next_sector_no</span>,<span class="ruby-identifier">file_contents</span>[<span class="ruby-identifier">i</span><span class="ruby-operator">*</span><span class="ruby-value">254</span>,<span class="ruby-identifier">data_length</span>] ].<span class="ruby-identifier">pack</span>(<span class="ruby-value str">&quot;CCA254&quot;</span>)
60
+ <span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">set_sector</span>(<span class="ruby-identifier">this_track_no</span>,<span class="ruby-identifier">this_sector_no</span>,<span class="ruby-identifier">sector_data</span>)
61
+ <span class="ruby-identifier">mark_sector_as_used</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-identifier">this_track_no</span>,<span class="ruby-identifier">this_sector_no</span>)
62
+ <span class="ruby-keyword kw">end</span>
63
+ <span class="ruby-identifier">directory_sector</span>[<span class="ruby-identifier">directory_offset</span><span class="ruby-operator">+</span><span class="ruby-value">2</span>,<span class="ruby-value">0x1</span><span class="ruby-constant">D</span>]=<span class="ruby-identifier">directory_entry</span> <span class="ruby-comment cmt">#skip over the first 2 bytes, which are the track / sector of next directory sector in slot 1, or 0/0 in other slots
64
+ <span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">set_sector</span>(<span class="ruby-identifier">directory_track_no</span>,<span class="ruby-identifier">directory_sector_no</span>,<span class="ruby-identifier">directory_sector</span>)
65
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">native_file</span>
66
+ <span class="ruby-keyword kw">end</span></pre>
67
+ </body>
68
+ </html>
@@ -0,0 +1,32 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>find_free_directory_slot (CbmDos)</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/file_systems/CbmDos.rb, line 185</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">find_free_directory_slot</span>(<span class="ruby-identifier">file_system_image</span>)
15
+ <span class="ruby-identifier">directory_track_no</span>=<span class="ruby-value">18</span>
16
+ <span class="ruby-identifier">directory_sector_no</span>=<span class="ruby-value">1</span>
17
+ <span class="ruby-keyword kw">while</span> (<span class="ruby-identifier">directory_track_no</span> <span class="ruby-operator">!=</span><span class="ruby-value">0</span>) <span class="ruby-keyword kw">do</span>
18
+ <span class="ruby-identifier">directory</span>=<span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">get_sector</span>(<span class="ruby-identifier">directory_track_no</span>,<span class="ruby-identifier">directory_sector_no</span>)
19
+ <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;attempted to read invalid directory sector at T #{directory_track_no} S#{directory_sector_no}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">directory</span>.<span class="ruby-identifier">nil?</span>
20
+ <span class="ruby-value">8</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">slot_no</span><span class="ruby-operator">|</span>
21
+ <span class="ruby-identifier">slot_start</span>=<span class="ruby-identifier">slot_no</span><span class="ruby-operator">*</span><span class="ruby-value">0x20</span>
22
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">directory</span>[<span class="ruby-identifier">slot_start</span><span class="ruby-operator">+</span><span class="ruby-value">2</span>]<span class="ruby-operator">==</span><span class="ruby-value">0x00</span>) <span class="ruby-operator">||</span> (<span class="ruby-identifier">directory</span>[<span class="ruby-identifier">slot_start</span><span class="ruby-operator">+</span><span class="ruby-value">2</span>]<span class="ruby-operator">==</span><span class="ruby-value">0x</span><span class="ruby-constant">FF</span>) <span class="ruby-keyword kw">then</span>
23
+ <span class="ruby-keyword kw">return</span> [<span class="ruby-identifier">directory_track_no</span>,<span class="ruby-identifier">directory_sector_no</span>,<span class="ruby-identifier">slot_start</span>]
24
+ <span class="ruby-keyword kw">end</span>
25
+ <span class="ruby-keyword kw">end</span>
26
+ <span class="ruby-identifier">directory_track_no</span>=<span class="ruby-identifier">directory</span>[<span class="ruby-value">00</span>]
27
+ <span class="ruby-identifier">directory_sector_no</span>=<span class="ruby-identifier">directory</span>[<span class="ruby-value">01</span>]
28
+ <span class="ruby-keyword kw">end</span>
29
+ <span class="ruby-keyword kw">nil</span>
30
+ <span class="ruby-keyword kw">end</span></pre>
31
+ </body>
32
+ </html>
@@ -0,0 +1,28 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>mark_sector_as_used (CbmDos)</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/file_systems/CbmDos.rb, line 203</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mark_sector_as_used</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-identifier">track_no</span>,<span class="ruby-identifier">sector_no</span>)
15
+ <span class="ruby-identifier">bam</span>=<span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">get_sector</span>(<span class="ruby-value">18</span>,<span class="ruby-value">0</span>)
16
+ <span class="ruby-identifier">bam_entry_offset</span>=<span class="ruby-identifier">track_no</span><span class="ruby-operator">*</span><span class="ruby-value">4</span>
17
+ <span class="ruby-identifier">sector_offset</span>=<span class="ruby-identifier">sector_no</span><span class="ruby-operator">/</span><span class="ruby-value">8</span>
18
+ <span class="ruby-identifier">bitmask</span>=<span class="ruby-value">2</span><span class="ruby-operator">**</span>(<span class="ruby-identifier">sector_no</span> <span class="ruby-operator">%</span> <span class="ruby-value">8</span>)
19
+ <span class="ruby-identifier">existing_bam_byte</span>=<span class="ruby-identifier">bam</span>[<span class="ruby-identifier">bam_entry_offset</span><span class="ruby-operator">+</span><span class="ruby-identifier">sector_offset</span><span class="ruby-operator">+</span><span class="ruby-value">1</span>]
20
+ <span class="ruby-comment cmt"># puts &quot;T #{&quot;%02x&quot;% track_no} S #{&quot;%02x&quot;% sector_no} L #{&quot;%02x&quot;% bam_entry_offset} sector_offset #{sector_offset} mask #{&quot;%08b&quot; % bitmask} was #{&quot;%08b&quot; % existing_bam_byte}&quot;
21
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">existing_bam_byte</span> <span class="ruby-operator">&amp;</span> <span class="ruby-identifier">bitmask</span>)<span class="ruby-operator">==</span>(<span class="ruby-identifier">bitmask</span>) <span class="ruby-keyword kw">then</span>
22
+ <span class="ruby-identifier">bam</span>[<span class="ruby-identifier">bam_entry_offset</span><span class="ruby-operator">+</span><span class="ruby-identifier">sector_offset</span><span class="ruby-operator">+</span><span class="ruby-value">1</span>]<span class="ruby-operator">-=</span><span class="ruby-identifier">bitmask</span>
23
+ <span class="ruby-identifier">bam</span>[<span class="ruby-identifier">bam_entry_offset</span>]<span class="ruby-operator">-=</span><span class="ruby-value">1</span>
24
+ <span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">set_sector</span>(<span class="ruby-value">18</span>,<span class="ruby-value">0</span>,<span class="ruby-identifier">bam</span>)
25
+ <span class="ruby-keyword kw">end</span>
26
+ <span class="ruby-keyword kw">end</span></pre>
27
+ </body>
28
+ </html>
@@ -0,0 +1,29 @@
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>mark_sector_as_free (CbmDos)</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/file_systems/CbmDos.rb, line 216</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mark_sector_as_free</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-identifier">track_no</span>,<span class="ruby-identifier">sector_no</span>)
15
+ <span class="ruby-identifier">bam</span>=<span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">get_sector</span>(<span class="ruby-value">18</span>,<span class="ruby-value">0</span>)
16
+ <span class="ruby-identifier">bam_entry_offset</span>=<span class="ruby-identifier">track_no</span><span class="ruby-operator">*</span><span class="ruby-value">4</span>
17
+ <span class="ruby-identifier">sector_offset</span>=<span class="ruby-identifier">sector_no</span><span class="ruby-operator">/</span><span class="ruby-value">8</span>
18
+ <span class="ruby-identifier">bitmask</span>=<span class="ruby-value">2</span><span class="ruby-operator">**</span>(<span class="ruby-identifier">sector_no</span> <span class="ruby-operator">%</span> <span class="ruby-value">8</span>)
19
+ <span class="ruby-identifier">existing_bam_byte</span>=<span class="ruby-identifier">bam</span>[<span class="ruby-identifier">bam_entry_offset</span><span class="ruby-operator">+</span><span class="ruby-identifier">sector_offset</span><span class="ruby-operator">+</span><span class="ruby-value">1</span>]
20
+ <span class="ruby-comment cmt"># puts &quot;T #{&quot;%02x&quot;% track_no} S #{&quot;%02x&quot;% sector_no} L #{&quot;%02x&quot;% bam_entry_offset} sector_offset #{sector_offset} mask #{&quot;%08b&quot; % bitmask} was #{&quot;%08b&quot; % existing_bam_byte}&quot;
21
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">existing_bam_byte</span> <span class="ruby-operator">&amp;</span> <span class="ruby-identifier">bitmask</span>)<span class="ruby-operator">!=</span>(<span class="ruby-identifier">bitmask</span>) <span class="ruby-keyword kw">then</span>
22
+ <span class="ruby-identifier">bam</span>[<span class="ruby-identifier">bam_entry_offset</span><span class="ruby-operator">+</span><span class="ruby-identifier">sector_offset</span><span class="ruby-operator">+</span><span class="ruby-value">1</span>]<span class="ruby-operator">+=</span><span class="ruby-identifier">bitmask</span>
23
+ <span class="ruby-identifier">bam</span>[<span class="ruby-identifier">bam_entry_offset</span>]<span class="ruby-operator">+=</span><span class="ruby-value">1</span>
24
+ <span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">set_sector</span>(<span class="ruby-value">18</span>,<span class="ruby-value">0</span>,<span class="ruby-identifier">bam</span>)
25
+ <span class="ruby-keyword kw">end</span>
26
+
27
+ <span class="ruby-keyword kw">end</span></pre>
28
+ </body>
29
+ </html>
@@ -0,0 +1,39 @@
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>create_empty_directory_sector (CbmDos)</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/file_systems/CbmDos.rb, line 231</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">create_empty_directory_sector</span>(<span class="ruby-identifier">file_system_image</span>)
15
+ <span class="ruby-identifier">directory_track_no</span>=<span class="ruby-value">18</span>
16
+ <span class="ruby-identifier">directory_sector_no</span>=<span class="ruby-value">1</span>
17
+ <span class="ruby-identifier">candidate_sectors</span>=<span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">sectors_in_track</span>(<span class="ruby-identifier">directory_track_no</span>)<span class="ruby-operator">-</span>[<span class="ruby-value">0</span>,<span class="ruby-value">1</span>]
18
+ <span class="ruby-keyword kw">while</span> (<span class="ruby-identifier">directory_track_no</span> <span class="ruby-operator">==</span><span class="ruby-value">18</span>) <span class="ruby-keyword kw">do</span>
19
+ <span class="ruby-identifier">candidate_sectors</span><span class="ruby-operator">-=</span>[<span class="ruby-identifier">directory_sector_no</span>]
20
+ <span class="ruby-identifier">directory</span>=<span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">get_sector</span>(<span class="ruby-identifier">directory_track_no</span>,<span class="ruby-identifier">directory_sector_no</span>)
21
+ <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;attempted to read invalid directory sector at T #{directory_track_no} S#{directory_sector_no}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">directory</span>.<span class="ruby-identifier">nil?</span>
22
+ <span class="ruby-identifier">next_directory_track_no</span>=<span class="ruby-identifier">directory</span>[<span class="ruby-value">00</span>]
23
+ <span class="ruby-identifier">next_directory_sector_no</span>=<span class="ruby-identifier">directory</span>[<span class="ruby-value">01</span>]
24
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">next_directory_track_no</span><span class="ruby-operator">==</span><span class="ruby-value">0</span>) <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-identifier">candidate_sectors</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">&gt;</span><span class="ruby-value">0</span>) <span class="ruby-keyword kw">then</span>
25
+ <span class="ruby-identifier">next_directory_sector_no</span> = (<span class="ruby-identifier">candidate_sectors</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">directory_sector_no</span><span class="ruby-operator">+</span><span class="ruby-value">3</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">directory_sector_no</span><span class="ruby-operator">+</span><span class="ruby-value">3</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">candidate_sectors</span>[<span class="ruby-value">0</span>])
26
+ <span class="ruby-identifier">directory</span>[<span class="ruby-value">00</span>]=<span class="ruby-value">18</span>
27
+ <span class="ruby-identifier">directory</span>[<span class="ruby-value">01</span>]=<span class="ruby-identifier">next_directory_sector_no</span>
28
+ <span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">set_sector</span>(<span class="ruby-identifier">directory_track_no</span>,<span class="ruby-identifier">directory_sector_no</span>,<span class="ruby-identifier">directory</span>)
29
+ <span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">set_sector</span>(<span class="ruby-identifier">directory_track_no</span>,<span class="ruby-identifier">next_directory_sector_no</span>,(<span class="ruby-value">0</span>.<span class="ruby-identifier">chr</span>)<span class="ruby-operator">*</span><span class="ruby-value">256</span>) <span class="ruby-comment cmt">#reset the directory sector we just added
30
+ <span class="ruby-identifier">mark_sector_as_used</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-identifier">directory_track_no</span>,<span class="ruby-identifier">next_directory_sector_no</span>)
31
+ <span class="ruby-keyword kw">return</span> [<span class="ruby-identifier">directory_track_no</span>,<span class="ruby-identifier">next_directory_sector_no</span>,<span class="ruby-value">0</span>]
32
+ <span class="ruby-keyword kw">end</span>
33
+ <span class="ruby-identifier">directory_sector_no</span>=<span class="ruby-identifier">next_directory_sector_no</span>
34
+ <span class="ruby-identifier">directory_track_no</span>=<span class="ruby-identifier">next_directory_track_no</span>
35
+ <span class="ruby-keyword kw">end</span>
36
+ <span class="ruby-keyword kw">nil</span>
37
+ <span class="ruby-keyword kw">end</span></pre>
38
+ </body>
39
+ </html>
@@ -0,0 +1,51 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>delete_file (CbmDos)</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/file_systems/CbmDos.rb, line 256</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">delete_file</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-identifier">filename</span>)
15
+ <span class="ruby-identifier">directory_filename</span>=<span class="ruby-identifier">directory_entry_for_filename</span>(<span class="ruby-identifier">filename</span>)
16
+ <span class="ruby-comment cmt">#first find this file's directory entry
17
+ <span class="ruby-identifier">directory_track_no</span>=<span class="ruby-value">18</span>
18
+ <span class="ruby-identifier">directory_sector_no</span>=<span class="ruby-value">1</span>
19
+ <span class="ruby-keyword kw">while</span> (<span class="ruby-identifier">directory_track_no</span> <span class="ruby-operator">!=</span><span class="ruby-value">0</span>) <span class="ruby-keyword kw">do</span>
20
+ <span class="ruby-identifier">directory</span>=<span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">get_sector</span>(<span class="ruby-identifier">directory_track_no</span>,<span class="ruby-identifier">directory_sector_no</span>)
21
+ <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;attempted to read invalid directory sector at T #{directory_track_no} S#{directory_sector_no}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">directory</span>.<span class="ruby-identifier">nil?</span>
22
+ <span class="ruby-value">8</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">slot_no</span><span class="ruby-operator">|</span>
23
+ <span class="ruby-identifier">slot_start</span>=<span class="ruby-identifier">slot_no</span><span class="ruby-operator">*</span><span class="ruby-value">0x20</span>
24
+ <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">directory</span>[<span class="ruby-identifier">slot_start</span><span class="ruby-operator">+</span><span class="ruby-value">2</span>]<span class="ruby-operator">==</span><span class="ruby-value">0</span> <span class="ruby-comment cmt">#skip files that are already deleted
25
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">directory</span>[<span class="ruby-identifier">slot_start</span><span class="ruby-operator">+</span><span class="ruby-value">5</span>,<span class="ruby-value">16</span>]<span class="ruby-operator">==</span><span class="ruby-identifier">directory_filename</span> <span class="ruby-keyword kw">then</span>
26
+ <span class="ruby-comment cmt">#found our file!
27
+ <span class="ruby-comment cmt"># puts &quot;found #{filename} at T #{directory_track_no} S #{directory_sector_no} slot #{slot_no}&quot;
28
+
29
+ <span class="ruby-comment cmt">#clear the directory entry
30
+ <span class="ruby-identifier">directory</span>[<span class="ruby-identifier">slot_start</span><span class="ruby-operator">+</span><span class="ruby-value">2</span>]=<span class="ruby-value">0</span>
31
+ <span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">set_sector</span>(<span class="ruby-identifier">directory_track_no</span>,<span class="ruby-identifier">directory_sector_no</span>,<span class="ruby-identifier">directory</span>)
32
+ <span class="ruby-comment cmt">#now mark the file sectors as being free in the BAM
33
+ <span class="ruby-identifier">file_track_no</span>=<span class="ruby-identifier">directory</span>[<span class="ruby-identifier">slot_start</span><span class="ruby-operator">+</span><span class="ruby-value">3</span>]
34
+ <span class="ruby-identifier">file_sector_no</span>=<span class="ruby-identifier">directory</span>[<span class="ruby-identifier">slot_start</span><span class="ruby-operator">+</span><span class="ruby-value">4</span>]
35
+
36
+ <span class="ruby-keyword kw">until</span> (<span class="ruby-identifier">file_track_no</span><span class="ruby-operator">==</span><span class="ruby-value">0</span>) <span class="ruby-keyword kw">do</span>
37
+ <span class="ruby-comment cmt"># puts &quot;freeing T #{file_track_no} S #{file_sector_no}&quot;
38
+ <span class="ruby-identifier">mark_sector_as_free</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-identifier">file_track_no</span>,<span class="ruby-identifier">file_sector_no</span>)
39
+ <span class="ruby-identifier">file_sector</span>=<span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">get_sector</span>(<span class="ruby-identifier">file_track_no</span>,<span class="ruby-identifier">file_sector_no</span>)
40
+ <span class="ruby-identifier">file_track_no</span>=<span class="ruby-identifier">file_sector</span>[<span class="ruby-value">0</span>]
41
+ <span class="ruby-identifier">file_sector_no</span>=<span class="ruby-identifier">file_sector</span>[<span class="ruby-value">1</span>]
42
+ <span class="ruby-keyword kw">end</span>
43
+ <span class="ruby-keyword kw">return</span>
44
+ <span class="ruby-keyword kw">end</span>
45
+ <span class="ruby-keyword kw">end</span>
46
+ <span class="ruby-identifier">directory_track_no</span>=<span class="ruby-identifier">directory</span>[<span class="ruby-value">00</span>]
47
+ <span class="ruby-identifier">directory_sector_no</span>=<span class="ruby-identifier">directory</span>[<span class="ruby-value">01</span>]
48
+ <span class="ruby-keyword kw">end</span>
49
+ <span class="ruby-keyword kw">end</span></pre>
50
+ </body>
51
+ </html>
@@ -88,8 +88,8 @@
88
88
  <h3 class="section-bar">Methods</h3>
89
89
 
90
90
  <div class="name-list">
91
- <a href="#M000344">file_system_file_types</a>&nbsp;&nbsp;
92
- <a href="#M000345">type_description</a>&nbsp;&nbsp;
91
+ <a href="#M000105">file_system_file_types</a>&nbsp;&nbsp;
92
+ <a href="#M000106">type_description</a>&nbsp;&nbsp;
93
93
  </div>
94
94
  </div>
95
95
 
@@ -111,12 +111,12 @@
111
111
  <div id="methods">
112
112
  <h3 class="section-bar">Public Class methods</h3>
113
113
 
114
- <div id="method-M000344" class="method-detail">
115
- <a name="M000344"></a>
114
+ <div id="method-M000105" class="method-detail">
115
+ <a name="M000105"></a>
116
116
 
117
117
  <div class="method-heading">
118
- <a href="CbmFile.src/M000344.html" target="Code" class="method-signature"
119
- onclick="popupCode('CbmFile.src/M000344.html');return false;">
118
+ <a href="CbmFile.src/M000105.html" target="Code" class="method-signature"
119
+ onclick="popupCode('CbmFile.src/M000105.html');return false;">
120
120
  <span class="method-name">file_system_file_types</span><span class="method-args">()</span>
121
121
  </a>
122
122
  </div>
@@ -127,12 +127,12 @@
127
127
 
128
128
  <h3 class="section-bar">Public Instance methods</h3>
129
129
 
130
- <div id="method-M000345" class="method-detail">
131
- <a name="M000345"></a>
130
+ <div id="method-M000106" class="method-detail">
131
+ <a name="M000106"></a>
132
132
 
133
133
  <div class="method-heading">
134
- <a href="CbmFile.src/M000345.html" target="Code" class="method-signature"
135
- onclick="popupCode('CbmFile.src/M000345.html');return false;">
134
+ <a href="CbmFile.src/M000106.html" target="Code" class="method-signature"
135
+ onclick="popupCode('CbmFile.src/M000106.html');return false;">
136
136
  <span class="method-name">type_description</span><span class="method-args">()</span>
137
137
  </a>
138
138
  </div>
@@ -0,0 +1,22 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>file_system_file_types (CbmFile)</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/native_file_types/c64/CbmFile.rb, line 5</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">file_system_file_types</span>
15
+ {
16
+ <span class="ruby-constant">CVTArchive</span>=<span class="ruby-operator">&gt;</span><span class="ruby-identifier">:any</span>,
17
+ <span class="ruby-constant">CbmDos</span>=<span class="ruby-operator">&gt;</span><span class="ruby-identifier">:any</span>,
18
+
19
+ }
20
+ <span class="ruby-keyword kw">end</span></pre>
21
+ </body>
22
+ </html>