ripxplore 0.13.0 → 0.14.0

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 (957) hide show
  1. data/doc/classes/A2Dsk.html +35 -35
  2. data/doc/classes/A2Dsk.src/M000351.html +4 -4
  3. data/doc/classes/A2Dsk.src/M000352.html +4 -4
  4. data/doc/classes/A2Dsk.src/M000353.html +4 -4
  5. data/doc/classes/A2Dsk.src/M000354.html +4 -4
  6. data/doc/classes/A2Dsk.src/M000355.html +4 -8
  7. data/doc/classes/A2Dsk.src/M000356.html +6 -7
  8. data/doc/classes/A2Dsk.src/M000357.html +23 -0
  9. data/doc/classes/A2Dsk.src/M000361.html +18 -0
  10. data/doc/classes/A2Dsk.src/M000362.html +18 -0
  11. data/doc/classes/A2Dsk.src/M000363.html +18 -0
  12. data/doc/classes/A2Dsk.src/M000364.html +18 -0
  13. data/doc/classes/A2Dsk.src/M000365.html +18 -0
  14. data/doc/classes/A2Dsk.src/M000366.html +22 -0
  15. data/doc/classes/A2Dsk.src/M000367.html +23 -0
  16. data/doc/classes/A2DskDosOrder.html +5 -5
  17. data/doc/classes/A2DskDosOrder.src/M000521.html +18 -0
  18. data/doc/classes/A2DskDosOrder.src/M000534.html +18 -0
  19. data/doc/classes/A2DskPhysicalOrder.html +5 -5
  20. data/doc/classes/A2DskPhysicalOrder.src/M000171.html +18 -0
  21. data/doc/classes/A2WriteTests.html +10 -10
  22. data/doc/classes/A2WriteTests.src/M000223.html +22 -47
  23. data/doc/classes/A2WriteTests.src/M000224.html +67 -0
  24. data/doc/classes/A2WriteTests.src/M000233.html +42 -0
  25. data/doc/classes/A2WriteTests.src/M000234.html +67 -0
  26. data/doc/classes/Apple2.html +70 -70
  27. data/doc/classes/Apple2.src/M000121.html +4 -4
  28. data/doc/classes/Apple2.src/M000122.html +4 -4
  29. data/doc/classes/Apple2.src/M000123.html +4 -5
  30. data/doc/classes/Apple2.src/M000124.html +4 -5
  31. data/doc/classes/Apple2.src/M000125.html +4 -4
  32. data/doc/classes/Apple2.src/M000126.html +5 -4
  33. data/doc/classes/Apple2.src/M000127.html +5 -4
  34. data/doc/classes/Apple2.src/M000128.html +4 -4
  35. data/doc/classes/Apple2.src/M000129.html +4 -4
  36. data/doc/classes/Apple2.src/M000130.html +4 -4
  37. data/doc/classes/Apple2.src/M000131.html +4 -4
  38. data/doc/classes/Apple2.src/M000132.html +4 -4
  39. data/doc/classes/Apple2.src/M000133.html +4 -4
  40. data/doc/classes/Apple2.src/M000134.html +18 -0
  41. data/doc/classes/Apple2.src/M000135.html +18 -0
  42. data/doc/classes/Apple2.src/M000136.html +18 -0
  43. data/doc/classes/AppleBinary.html +20 -20
  44. data/doc/classes/AppleBinary.src/M000322.html +6 -4
  45. data/doc/classes/AppleBinary.src/M000323.html +4 -4
  46. data/doc/classes/AppleBinary.src/M000324.html +4 -4
  47. data/doc/classes/AppleBinary.src/M000325.html +18 -0
  48. data/doc/classes/AppleBinary.src/M000332.html +20 -0
  49. data/doc/classes/AppleBinary.src/M000333.html +18 -0
  50. data/doc/classes/AppleBinary.src/M000334.html +18 -0
  51. data/doc/classes/AppleBinary.src/M000335.html +18 -0
  52. data/doc/classes/AppleCPM.html +40 -40
  53. data/doc/classes/AppleCPM.src/M000400.html +4 -4
  54. data/doc/classes/AppleCPM.src/M000401.html +5 -8
  55. data/doc/classes/AppleCPM.src/M000402.html +7 -9
  56. data/doc/classes/AppleCPM.src/M000403.html +10 -27
  57. data/doc/classes/AppleCPM.src/M000404.html +16 -11
  58. data/doc/classes/AppleCPM.src/M000405.html +21 -43
  59. data/doc/classes/AppleCPM.src/M000406.html +37 -10
  60. data/doc/classes/AppleCPM.src/M000407.html +30 -0
  61. data/doc/classes/AppleCPM.src/M000412.html +18 -0
  62. data/doc/classes/AppleCPM.src/M000413.html +18 -0
  63. data/doc/classes/AppleCPM.src/M000414.html +21 -0
  64. data/doc/classes/AppleCPM.src/M000415.html +23 -0
  65. data/doc/classes/AppleCPM.src/M000416.html +40 -0
  66. data/doc/classes/AppleCPM.src/M000417.html +35 -0
  67. data/doc/classes/AppleCPM.src/M000418.html +57 -0
  68. data/doc/classes/AppleCPM.src/M000419.html +30 -0
  69. data/doc/classes/AppleDos.html +55 -55
  70. data/doc/classes/AppleDos.src/M000247.html +4 -4
  71. data/doc/classes/AppleDos.src/M000248.html +4 -4
  72. data/doc/classes/AppleDos.src/M000249.html +4 -59
  73. data/doc/classes/AppleDos.src/M000250.html +58 -83
  74. data/doc/classes/AppleDos.src/M000251.html +84 -14
  75. data/doc/classes/AppleDos.src/M000252.html +12 -18
  76. data/doc/classes/AppleDos.src/M000253.html +18 -21
  77. data/doc/classes/AppleDos.src/M000254.html +20 -14
  78. data/doc/classes/AppleDos.src/M000255.html +17 -13
  79. data/doc/classes/AppleDos.src/M000256.html +11 -27
  80. data/doc/classes/AppleDos.src/M000257.html +18 -0
  81. data/doc/classes/AppleDos.src/M000258.html +18 -0
  82. data/doc/classes/AppleDos.src/M000259.html +18 -0
  83. data/doc/classes/AppleDos.src/M000260.html +73 -0
  84. data/doc/classes/AppleDos.src/M000261.html +98 -0
  85. data/doc/classes/AppleDos.src/M000262.html +28 -0
  86. data/doc/classes/AppleDos.src/M000263.html +34 -0
  87. data/doc/classes/AppleDos.src/M000264.html +37 -0
  88. data/doc/classes/AppleDos.src/M000265.html +31 -0
  89. data/doc/classes/AppleDos.src/M000266.html +27 -0
  90. data/doc/classes/AppleDos.src/M000267.html +43 -0
  91. data/doc/classes/AppleDosPic.html +20 -20
  92. data/doc/classes/AppleDosPic.src/M000157.html +7 -5
  93. data/doc/classes/AppleDosPic.src/M000158.html +5 -5
  94. data/doc/classes/AppleDosPic.src/M000159.html +4 -4
  95. data/doc/classes/AppleDosPic.src/M000167.html +20 -0
  96. data/doc/classes/AppleDosPic.src/M000168.html +18 -0
  97. data/doc/classes/AppleDosPic.src/M000169.html +18 -0
  98. data/doc/classes/AppleDosPic.src/M000170.html +18 -0
  99. data/doc/classes/AppleHiResPic.html +40 -40
  100. data/doc/classes/AppleHiResPic.src/M000459.html +18 -0
  101. data/doc/classes/AppleHiResPic.src/M000460.html +18 -0
  102. data/doc/classes/AppleHiResPic.src/M000461.html +18 -0
  103. data/doc/classes/AppleHiResPic.src/M000462.html +52 -0
  104. data/doc/classes/AppleHiResPic.src/M000463.html +18 -0
  105. data/doc/classes/AppleHiResPic.src/M000464.html +18 -0
  106. data/doc/classes/AppleHiResPic.src/M000465.html +18 -0
  107. data/doc/classes/AppleHiResPic.src/M000466.html +18 -0
  108. data/doc/classes/AppleHiResPic.src/M000472.html +18 -0
  109. data/doc/classes/AppleHiResPic.src/M000473.html +18 -0
  110. data/doc/classes/AppleHiResPic.src/M000474.html +18 -0
  111. data/doc/classes/AppleHiResPic.src/M000475.html +52 -0
  112. data/doc/classes/AppleHiResPic.src/M000476.html +18 -0
  113. data/doc/classes/AppleHiResPic.src/M000477.html +18 -0
  114. data/doc/classes/AppleHiResPic.src/M000478.html +18 -0
  115. data/doc/classes/AppleHiResPic.src/M000479.html +18 -0
  116. data/doc/classes/ApplePrintShopMiniPix.html +20 -20
  117. data/doc/classes/ApplePrintShopMiniPix.src/M000556.html +38 -0
  118. data/doc/classes/ApplePrintShopMiniPix.src/M000557.html +18 -0
  119. data/doc/classes/ApplePrintShopMiniPix.src/M000558.html +18 -0
  120. data/doc/classes/ApplePrintShopMiniPix.src/M000559.html +18 -0
  121. data/doc/classes/ApplePrintShopMiniPix.src/M000569.html +38 -0
  122. data/doc/classes/ApplePrintShopMiniPix.src/M000570.html +18 -0
  123. data/doc/classes/ApplePrintShopMiniPix.src/M000571.html +18 -0
  124. data/doc/classes/ApplePrintShopMiniPix.src/M000572.html +18 -0
  125. data/doc/classes/AppleText.html +15 -15
  126. data/doc/classes/AppleText.src/M000215.html +7 -6
  127. data/doc/classes/AppleText.src/M000216.html +6 -9
  128. data/doc/classes/AppleText.src/M000217.html +23 -0
  129. data/doc/classes/AppleText.src/M000225.html +21 -0
  130. data/doc/classes/AppleText.src/M000226.html +20 -0
  131. data/doc/classes/AppleText.src/M000227.html +23 -0
  132. data/doc/classes/AppleWorksWP.html +10 -10
  133. data/doc/classes/AppleWorksWP.src/M000522.html +20 -0
  134. data/doc/classes/AppleWorksWP.src/M000523.html +45 -0
  135. data/doc/classes/AppleWorksWP.src/M000535.html +20 -0
  136. data/doc/classes/AppleWorksWP.src/M000536.html +45 -0
  137. data/doc/classes/Applesoft.html +10 -10
  138. data/doc/classes/Applesoft.src/M000423.html +8 -62
  139. data/doc/classes/Applesoft.src/M000424.html +75 -0
  140. data/doc/classes/Applesoft.src/M000435.html +21 -0
  141. data/doc/classes/Applesoft.src/M000436.html +75 -0
  142. data/doc/classes/Atari800.html +65 -65
  143. data/doc/classes/Atari800.src/M000362.html +4 -9
  144. data/doc/classes/Atari800.src/M000363.html +9 -4
  145. data/doc/classes/Atari800.src/M000364.html +4 -5
  146. data/doc/classes/Atari800.src/M000365.html +5 -4
  147. data/doc/classes/Atari800.src/M000366.html +4 -4
  148. data/doc/classes/Atari800.src/M000367.html +4 -4
  149. data/doc/classes/Atari800.src/M000368.html +4 -4
  150. data/doc/classes/Atari800.src/M000369.html +3 -3
  151. data/doc/classes/Atari800.src/M000370.html +4 -4
  152. data/doc/classes/Atari800.src/M000371.html +3 -3
  153. data/doc/classes/Atari800.src/M000372.html +4 -4
  154. data/doc/classes/Atari800.src/M000373.html +9 -4
  155. data/doc/classes/Atari800.src/M000374.html +18 -0
  156. data/doc/classes/Atari800.src/M000375.html +19 -0
  157. data/doc/classes/Atari800.src/M000376.html +18 -0
  158. data/doc/classes/Atari800.src/M000377.html +18 -0
  159. data/doc/classes/Atari800.src/M000378.html +18 -0
  160. data/doc/classes/Atari800.src/M000379.html +18 -0
  161. data/doc/classes/Atari800.src/M000380.html +18 -0
  162. data/doc/classes/Atari800.src/M000381.html +18 -0
  163. data/doc/classes/Atari800.src/M000382.html +18 -0
  164. data/doc/classes/Atari800.src/M000383.html +18 -0
  165. data/doc/classes/Atari800.src/M000384.html +18 -0
  166. data/doc/classes/AtariBasic.html +10 -10
  167. data/doc/classes/AtariBasic.src/M000282.html +6 -94
  168. data/doc/classes/AtariBasic.src/M000283.html +108 -0
  169. data/doc/classes/AtariBasic.src/M000292.html +20 -0
  170. data/doc/classes/AtariBasic.src/M000293.html +108 -0
  171. data/doc/classes/AtariDos.html +10 -10
  172. data/doc/classes/AtariDos.src/M000412.html +4 -29
  173. data/doc/classes/AtariDos.src/M000413.html +43 -0
  174. data/doc/classes/AtariDos.src/M000424.html +18 -0
  175. data/doc/classes/AtariDos.src/M000425.html +43 -0
  176. data/doc/classes/AtariText.html +10 -10
  177. data/doc/classes/AtariText.src/M000336.html +6 -4
  178. data/doc/classes/AtariText.src/M000337.html +18 -0
  179. data/doc/classes/AtariText.src/M000346.html +20 -0
  180. data/doc/classes/AtariText.src/M000347.html +18 -0
  181. data/doc/classes/Atr.html +35 -35
  182. data/doc/classes/Atr.src/M000240.html +4 -4
  183. data/doc/classes/Atr.src/M000241.html +4 -5
  184. data/doc/classes/Atr.src/M000242.html +5 -4
  185. data/doc/classes/Atr.src/M000243.html +4 -4
  186. data/doc/classes/Atr.src/M000244.html +4 -5
  187. data/doc/classes/Atr.src/M000245.html +5 -5
  188. data/doc/classes/Atr.src/M000246.html +19 -0
  189. data/doc/classes/Atr.src/M000250.html +18 -0
  190. data/doc/classes/Atr.src/M000251.html +18 -0
  191. data/doc/classes/Atr.src/M000252.html +19 -0
  192. data/doc/classes/Atr.src/M000253.html +18 -0
  193. data/doc/classes/Atr.src/M000254.html +18 -0
  194. data/doc/classes/Atr.src/M000255.html +19 -0
  195. data/doc/classes/Atr.src/M000256.html +19 -0
  196. data/doc/classes/C64.html +105 -105
  197. data/doc/classes/C64.src/M000535.html +4 -4
  198. data/doc/classes/C64.src/M000536.html +4 -5
  199. data/doc/classes/C64.src/M000537.html +17 -5
  200. data/doc/classes/C64.src/M000538.html +6 -4
  201. data/doc/classes/C64.src/M000539.html +8 -4
  202. data/doc/classes/C64.src/M000540.html +8 -55
  203. data/doc/classes/C64.src/M000541.html +5 -99
  204. data/doc/classes/C64.src/M000542.html +19 -0
  205. data/doc/classes/C64.src/M000543.html +18 -0
  206. data/doc/classes/C64.src/M000544.html +18 -0
  207. data/doc/classes/C64.src/M000545.html +18 -0
  208. data/doc/classes/C64.src/M000546.html +18 -0
  209. data/doc/classes/C64.src/M000547.html +18 -0
  210. data/doc/classes/C64.src/M000548.html +18 -0
  211. data/doc/classes/C64.src/M000549.html +18 -0
  212. data/doc/classes/C64.src/M000550.html +31 -0
  213. data/doc/classes/C64.src/M000551.html +20 -0
  214. data/doc/classes/C64.src/M000552.html +22 -0
  215. data/doc/classes/C64.src/M000553.html +22 -0
  216. data/doc/classes/C64.src/M000554.html +19 -0
  217. data/doc/classes/C64.src/M000555.html +19 -0
  218. data/doc/classes/C64.src/M000556.html +18 -0
  219. data/doc/classes/C64.src/M000557.html +18 -0
  220. data/doc/classes/C64.src/M000558.html +18 -0
  221. data/doc/classes/C64.src/M000559.html +18 -0
  222. data/doc/classes/C64.src/M000560.html +18 -0
  223. data/doc/classes/C64.src/M000561.html +18 -0
  224. data/doc/classes/C64.src/M000562.html +18 -0
  225. data/doc/classes/C64.src/M000563.html +19 -0
  226. data/doc/classes/C64.src/M000564.html +19 -0
  227. data/doc/classes/C64.src/M000565.html +18 -0
  228. data/doc/classes/C64.src/M000566.html +18 -0
  229. data/doc/classes/C64.src/M000567.html +69 -0
  230. data/doc/classes/C64.src/M000568.html +113 -0
  231. data/doc/classes/C64BasicPrg.html +15 -15
  232. data/doc/classes/C64BasicPrg.src/M000115.html +7 -5
  233. data/doc/classes/C64BasicPrg.src/M000116.html +4 -45
  234. data/doc/classes/C64BasicPrg.src/M000117.html +20 -0
  235. data/doc/classes/C64BasicPrg.src/M000118.html +18 -0
  236. data/doc/classes/C64BasicPrg.src/M000119.html +59 -0
  237. data/doc/classes/C64GeoPaintPic.html +30 -30
  238. data/doc/classes/C64GeoPaintPic.src/M000417.html +4 -4
  239. data/doc/classes/C64GeoPaintPic.src/M000418.html +4 -4
  240. data/doc/classes/C64GeoPaintPic.src/M000419.html +4 -52
  241. data/doc/classes/C64GeoPaintPic.src/M000420.html +50 -27
  242. data/doc/classes/C64GeoPaintPic.src/M000421.html +29 -6
  243. data/doc/classes/C64GeoPaintPic.src/M000422.html +20 -0
  244. data/doc/classes/C64GeoPaintPic.src/M000429.html +18 -0
  245. data/doc/classes/C64GeoPaintPic.src/M000430.html +18 -0
  246. data/doc/classes/C64GeoPaintPic.src/M000431.html +18 -0
  247. data/doc/classes/C64GeoPaintPic.src/M000432.html +71 -0
  248. data/doc/classes/C64GeoPaintPic.src/M000433.html +43 -0
  249. data/doc/classes/C64GeoPaintPic.src/M000434.html +20 -0
  250. data/doc/classes/C64GeosBASICFile.html +10 -10
  251. data/doc/classes/C64GeosBASICFile.src/M000294.html +5 -4
  252. data/doc/classes/C64GeosBASICFile.src/M000295.html +18 -0
  253. data/doc/classes/C64GeosBASICFile.src/M000304.html +19 -0
  254. data/doc/classes/C64GeosBASICFile.src/M000305.html +18 -0
  255. data/doc/classes/C64GeosFile.html +167 -43
  256. data/doc/classes/C64GeosFile.src/M000141.html +4 -5
  257. data/doc/classes/C64GeosFile.src/M000142.html +4 -4
  258. data/doc/classes/C64GeosFile.src/M000143.html +4 -4
  259. data/doc/classes/C64GeosFile.src/M000144.html +5 -8
  260. data/doc/classes/C64GeosFile.src/M000145.html +5 -4
  261. data/doc/classes/C64GeosFile.src/M000146.html +4 -8
  262. data/doc/classes/C64GeosFile.src/M000147.html +5 -14
  263. data/doc/classes/C64GeosFile.src/M000148.html +4 -21
  264. data/doc/classes/C64GeosFile.src/M000149.html +8 -21
  265. data/doc/classes/C64GeosFile.src/M000150.html +18 -0
  266. data/doc/classes/C64GeosFile.src/M000151.html +22 -0
  267. data/doc/classes/C64GeosFile.src/M000152.html +27 -0
  268. data/doc/classes/C64GeosFile.src/M000153.html +19 -0
  269. data/doc/classes/C64GeosFile.src/M000154.html +39 -0
  270. data/doc/classes/C64GeosFile.src/M000155.html +18 -0
  271. data/doc/classes/C64GeosFile.src/M000156.html +18 -0
  272. data/doc/classes/C64GeosFile.src/M000157.html +18 -0
  273. data/doc/classes/C64GeosFile.src/M000158.html +21 -0
  274. data/doc/classes/C64GeosFile.src/M000159.html +35 -0
  275. data/doc/classes/C64GeosFont.html +90 -90
  276. data/doc/classes/C64GeosFont.src/M000180.html +4 -4
  277. data/doc/classes/C64GeosFont.src/M000181.html +4 -4
  278. data/doc/classes/C64GeosFont.src/M000182.html +4 -4
  279. data/doc/classes/C64GeosFont.src/M000183.html +4 -5
  280. data/doc/classes/C64GeosFont.src/M000184.html +4 -49
  281. data/doc/classes/C64GeosFont.src/M000185.html +49 -11
  282. data/doc/classes/C64GeosFont.src/M000186.html +11 -8
  283. data/doc/classes/C64GeosFont.src/M000187.html +8 -11
  284. data/doc/classes/C64GeosFont.src/M000188.html +12 -12
  285. data/doc/classes/C64GeosFont.src/M000189.html +10 -4
  286. data/doc/classes/C64GeosFont.src/M000190.html +4 -6
  287. data/doc/classes/C64GeosFont.src/M000191.html +4 -6
  288. data/doc/classes/C64GeosFont.src/M000192.html +4 -27
  289. data/doc/classes/C64GeosFont.src/M000193.html +4 -9
  290. data/doc/classes/C64GeosFont.src/M000194.html +6 -10
  291. data/doc/classes/C64GeosFont.src/M000195.html +51 -18
  292. data/doc/classes/C64GeosFont.src/M000196.html +12 -21
  293. data/doc/classes/C64GeosFont.src/M000197.html +23 -0
  294. data/doc/classes/C64GeosFont.src/M000198.html +26 -0
  295. data/doc/classes/C64GeosFont.src/M000199.html +26 -0
  296. data/doc/classes/C64GeosFont.src/M000200.html +20 -0
  297. data/doc/classes/C64GeosFont.src/M000201.html +20 -0
  298. data/doc/classes/C64GeosFont.src/M000202.html +20 -0
  299. data/doc/classes/C64GeosFont.src/M000203.html +41 -0
  300. data/doc/classes/C64GeosFont.src/M000204.html +23 -0
  301. data/doc/classes/C64GeosFont.src/M000205.html +23 -0
  302. data/doc/classes/C64GeosFont.src/M000206.html +31 -0
  303. data/doc/classes/C64GeosFont.src/M000207.html +35 -0
  304. data/doc/classes/C64GeosPhotoAlbum.html +169 -0
  305. data/doc/classes/C64GeosPhotoAlbum.src/M000114.html +18 -0
  306. data/doc/classes/C64GeosPhotoAlbum.src/M000115.html +19 -0
  307. data/doc/classes/C64GeosPhotoAlbum.src/M000116.html +39 -0
  308. data/doc/classes/C64PhotoScrap.html +349 -0
  309. data/doc/classes/C64PhotoScrap.src/M000445.html +18 -0
  310. data/doc/classes/C64PhotoScrap.src/M000446.html +18 -0
  311. data/doc/classes/C64PhotoScrap.src/M000447.html +18 -0
  312. data/doc/classes/C64PhotoScrap.src/M000448.html +18 -0
  313. data/doc/classes/C64PhotoScrap.src/M000449.html +18 -0
  314. data/doc/classes/C64PhotoScrap.src/M000450.html +18 -0
  315. data/doc/classes/C64PhotoScrap.src/M000451.html +21 -0
  316. data/doc/classes/C64PhotoScrap.src/M000452.html +18 -0
  317. data/doc/classes/C64PhotoScrap.src/M000453.html +18 -0
  318. data/doc/classes/C64PhotoScrap.src/M000454.html +18 -0
  319. data/doc/classes/C64PhotoScrap.src/M000455.html +53 -0
  320. data/doc/classes/C64PhotoScrap.src/M000456.html +44 -0
  321. data/doc/classes/C64PhotoScrap.src/M000457.html +18 -0
  322. data/doc/classes/C64PhotoScrap.src/M000458.html +18 -0
  323. data/doc/classes/C64PhotoScrap.src/M000459.html +18 -0
  324. data/doc/classes/C64PhotoScrap.src/M000460.html +18 -0
  325. data/doc/classes/C64PhotoScrap.src/M000461.html +18 -0
  326. data/doc/classes/C64PhotoScrap.src/M000462.html +18 -0
  327. data/doc/classes/C64PhotoScrap.src/M000463.html +18 -0
  328. data/doc/classes/C64PhotoScrap.src/M000464.html +21 -0
  329. data/doc/classes/C64PhotoScrap.src/M000465.html +18 -0
  330. data/doc/classes/C64PhotoScrap.src/M000466.html +18 -0
  331. data/doc/classes/C64PhotoScrap.src/M000467.html +18 -0
  332. data/doc/classes/C64PhotoScrap.src/M000468.html +53 -0
  333. data/doc/classes/C64PhotoScrap.src/M000469.html +45 -0
  334. data/doc/classes/C64PhotoScrap.src/M000470.html +24 -0
  335. data/doc/classes/C64Seq.html +15 -15
  336. data/doc/classes/C64Seq.src/M000397.html +6 -4
  337. data/doc/classes/C64Seq.src/M000398.html +4 -4
  338. data/doc/classes/C64Seq.src/M000399.html +18 -0
  339. data/doc/classes/C64Seq.src/M000409.html +20 -0
  340. data/doc/classes/C64Seq.src/M000410.html +18 -0
  341. data/doc/classes/C64Seq.src/M000411.html +18 -0
  342. data/doc/classes/CPMFile.html +15 -15
  343. data/doc/classes/CPMFile.src/M000177.html +6 -4
  344. data/doc/classes/CPMFile.src/M000178.html +5 -9
  345. data/doc/classes/CPMFile.src/M000187.html +20 -0
  346. data/doc/classes/CPMFile.src/M000188.html +18 -0
  347. data/doc/classes/CPMFile.src/M000189.html +22 -0
  348. data/doc/classes/CVT.html +10 -10
  349. data/doc/classes/CVT.src/M000500.html +18 -0
  350. data/doc/classes/CVT.src/M000501.html +18 -0
  351. data/doc/classes/CVT.src/M000513.html +18 -0
  352. data/doc/classes/CVT.src/M000514.html +18 -0
  353. data/doc/classes/CVTArchive.html +12 -12
  354. data/doc/classes/CVTArchive.src/M000386.html +4 -53
  355. data/doc/classes/CVTArchive.src/M000387.html +70 -0
  356. data/doc/classes/CVTArchive.src/M000398.html +18 -0
  357. data/doc/classes/CVTArchive.src/M000399.html +70 -0
  358. data/doc/classes/CbmDos.src/M000099.html +10 -7
  359. data/doc/classes/CbmDos.src/M000100.html +1 -1
  360. data/doc/classes/CbmDos.src/M000101.html +1 -1
  361. data/doc/classes/CbmDos.src/M000102.html +1 -1
  362. data/doc/classes/CbmDos.src/M000103.html +1 -1
  363. data/doc/classes/CbmDos.src/M000104.html +1 -1
  364. data/doc/classes/CbmDos.src/M000105.html +1 -1
  365. data/doc/classes/CbmDos.src/M000106.html +1 -1
  366. data/doc/classes/CbmDos.src/M000107.html +1 -1
  367. data/doc/classes/CbmFile.html +10 -10
  368. data/doc/classes/CbmFile.src/M000334.html +8 -4
  369. data/doc/classes/CbmFile.src/M000335.html +18 -0
  370. data/doc/classes/CbmFile.src/M000344.html +22 -0
  371. data/doc/classes/CbmFile.src/M000345.html +18 -0
  372. data/doc/classes/Coco.html +65 -65
  373. data/doc/classes/Coco.src/M000469.html +18 -0
  374. data/doc/classes/Coco.src/M000470.html +18 -0
  375. data/doc/classes/Coco.src/M000471.html +18 -0
  376. data/doc/classes/Coco.src/M000472.html +18 -0
  377. data/doc/classes/Coco.src/M000473.html +18 -0
  378. data/doc/classes/Coco.src/M000474.html +18 -0
  379. data/doc/classes/Coco.src/M000475.html +18 -0
  380. data/doc/classes/Coco.src/M000476.html +18 -0
  381. data/doc/classes/Coco.src/M000477.html +18 -0
  382. data/doc/classes/Coco.src/M000478.html +18 -0
  383. data/doc/classes/Coco.src/M000479.html +18 -0
  384. data/doc/classes/Coco.src/M000480.html +18 -0
  385. data/doc/classes/Coco.src/M000481.html +55 -0
  386. data/doc/classes/Coco.src/M000482.html +18 -0
  387. data/doc/classes/Coco.src/M000483.html +18 -0
  388. data/doc/classes/Coco.src/M000484.html +18 -0
  389. data/doc/classes/Coco.src/M000485.html +18 -0
  390. data/doc/classes/Coco.src/M000486.html +18 -0
  391. data/doc/classes/Coco.src/M000487.html +18 -0
  392. data/doc/classes/Coco.src/M000488.html +18 -0
  393. data/doc/classes/Coco.src/M000489.html +18 -0
  394. data/doc/classes/Coco.src/M000490.html +18 -0
  395. data/doc/classes/Coco.src/M000491.html +18 -0
  396. data/doc/classes/Coco.src/M000492.html +18 -0
  397. data/doc/classes/Coco.src/M000493.html +18 -0
  398. data/doc/classes/Coco.src/M000494.html +55 -0
  399. data/doc/classes/CocoBasic.html +10 -10
  400. data/doc/classes/CocoBasic.src/M000415.html +6 -58
  401. data/doc/classes/CocoBasic.src/M000416.html +72 -0
  402. data/doc/classes/CocoBasic.src/M000427.html +20 -0
  403. data/doc/classes/CocoBasic.src/M000428.html +72 -0
  404. data/doc/classes/CocoMachineLanguage.html +15 -15
  405. data/doc/classes/CocoMachineLanguage.src/M000138.html +6 -4
  406. data/doc/classes/CocoMachineLanguage.src/M000139.html +4 -5
  407. data/doc/classes/CocoMachineLanguage.src/M000140.html +20 -0
  408. data/doc/classes/CocoMachineLanguage.src/M000141.html +18 -0
  409. data/doc/classes/CocoMachineLanguage.src/M000142.html +19 -0
  410. data/doc/classes/CocoScreen.html +20 -20
  411. data/doc/classes/CocoScreen.src/M000278.html +4 -4
  412. data/doc/classes/CocoScreen.src/M000279.html +4 -4
  413. data/doc/classes/CocoScreen.src/M000280.html +4 -4
  414. data/doc/classes/CocoScreen.src/M000281.html +18 -0
  415. data/doc/classes/CocoScreen.src/M000288.html +18 -0
  416. data/doc/classes/CocoScreen.src/M000289.html +18 -0
  417. data/doc/classes/CocoScreen.src/M000290.html +18 -0
  418. data/doc/classes/CocoScreen.src/M000291.html +18 -0
  419. data/doc/classes/D81.html +45 -45
  420. data/doc/classes/D81.src/M000425.html +4 -4
  421. data/doc/classes/D81.src/M000426.html +4 -4
  422. data/doc/classes/D81.src/M000427.html +4 -4
  423. data/doc/classes/D81.src/M000428.html +4 -4
  424. data/doc/classes/D81.src/M000429.html +4 -4
  425. data/doc/classes/D81.src/M000430.html +4 -4
  426. data/doc/classes/D81.src/M000431.html +4 -9
  427. data/doc/classes/D81.src/M000432.html +7 -8
  428. data/doc/classes/D81.src/M000433.html +24 -0
  429. data/doc/classes/D81.src/M000437.html +18 -0
  430. data/doc/classes/D81.src/M000438.html +18 -0
  431. data/doc/classes/D81.src/M000439.html +18 -0
  432. data/doc/classes/D81.src/M000440.html +18 -0
  433. data/doc/classes/D81.src/M000441.html +18 -0
  434. data/doc/classes/D81.src/M000442.html +18 -0
  435. data/doc/classes/D81.src/M000443.html +18 -0
  436. data/doc/classes/D81.src/M000444.html +23 -0
  437. data/doc/classes/D81.src/M000445.html +24 -0
  438. data/doc/classes/DumpUtilities.html +10 -10
  439. data/doc/classes/DumpUtilities.src/M000218.html +19 -13
  440. data/doc/classes/DumpUtilities.src/M000219.html +27 -0
  441. data/doc/classes/DumpUtilities.src/M000228.html +33 -0
  442. data/doc/classes/DumpUtilities.src/M000229.html +27 -0
  443. data/doc/classes/FileCache.html +85 -55
  444. data/doc/classes/FileCache.src/M000375.html +12 -6
  445. data/doc/classes/FileCache.src/M000376.html +6 -10
  446. data/doc/classes/FileCache.src/M000377.html +10 -8
  447. data/doc/classes/FileCache.src/M000378.html +6 -16
  448. data/doc/classes/FileCache.src/M000379.html +18 -7
  449. data/doc/classes/FileCache.src/M000380.html +7 -8
  450. data/doc/classes/FileCache.src/M000381.html +7 -8
  451. data/doc/classes/FileCache.src/M000382.html +8 -12
  452. data/doc/classes/FileCache.src/M000383.html +13 -10
  453. data/doc/classes/FileCache.src/M000384.html +10 -7
  454. data/doc/classes/FileCache.src/M000385.html +26 -0
  455. data/doc/classes/FileCache.src/M000386.html +20 -0
  456. data/doc/classes/FileCache.src/M000387.html +18 -0
  457. data/doc/classes/FileCache.src/M000388.html +24 -0
  458. data/doc/classes/FileCache.src/M000389.html +22 -0
  459. data/doc/classes/FileCache.src/M000390.html +32 -0
  460. data/doc/classes/FileCache.src/M000391.html +21 -0
  461. data/doc/classes/FileCache.src/M000392.html +22 -0
  462. data/doc/classes/FileCache.src/M000393.html +23 -0
  463. data/doc/classes/FileCache.src/M000394.html +27 -0
  464. data/doc/classes/FileCache.src/M000395.html +24 -0
  465. data/doc/classes/FileCache.src/M000396.html +24 -0
  466. data/doc/classes/FileCache.src/M000397.html +21 -0
  467. data/doc/classes/FileContainer.html +5 -5
  468. data/doc/classes/FileContainer.src/M000458.html +26 -0
  469. data/doc/classes/FileContainer.src/M000471.html +26 -0
  470. data/doc/classes/FileSystem.html +41 -41
  471. data/doc/classes/FileSystem.src/M000434.html +4 -4
  472. data/doc/classes/FileSystem.src/M000435.html +4 -4
  473. data/doc/classes/FileSystem.src/M000436.html +4 -4
  474. data/doc/classes/FileSystem.src/M000437.html +4 -4
  475. data/doc/classes/FileSystem.src/M000438.html +5 -5
  476. data/doc/classes/FileSystem.src/M000439.html +4 -6
  477. data/doc/classes/FileSystem.src/M000440.html +6 -11
  478. data/doc/classes/FileSystem.src/M000441.html +25 -0
  479. data/doc/classes/FileSystem.src/M000446.html +18 -0
  480. data/doc/classes/FileSystem.src/M000447.html +18 -0
  481. data/doc/classes/FileSystem.src/M000448.html +18 -0
  482. data/doc/classes/FileSystem.src/M000449.html +18 -0
  483. data/doc/classes/FileSystem.src/M000450.html +18 -0
  484. data/doc/classes/FileSystem.src/M000451.html +18 -0
  485. data/doc/classes/FileSystem.src/M000452.html +20 -0
  486. data/doc/classes/FileSystem.src/M000453.html +25 -0
  487. data/doc/classes/FileSystemImage.html +127 -127
  488. data/doc/classes/FileSystemImage.src/M000297.html +7 -26
  489. data/doc/classes/FileSystemImage.src/M000298.html +25 -11
  490. data/doc/classes/FileSystemImage.src/M000299.html +13 -4
  491. data/doc/classes/FileSystemImage.src/M000300.html +4 -4
  492. data/doc/classes/FileSystemImage.src/M000301.html +4 -5
  493. data/doc/classes/FileSystemImage.src/M000302.html +5 -4
  494. data/doc/classes/FileSystemImage.src/M000303.html +4 -8
  495. data/doc/classes/FileSystemImage.src/M000304.html +9 -6
  496. data/doc/classes/FileSystemImage.src/M000305.html +6 -5
  497. data/doc/classes/FileSystemImage.src/M000306.html +4 -4
  498. data/doc/classes/FileSystemImage.src/M000307.html +8 -4
  499. data/doc/classes/FileSystemImage.src/M000308.html +27 -4
  500. data/doc/classes/FileSystemImage.src/M000309.html +14 -7
  501. data/doc/classes/FileSystemImage.src/M000310.html +5 -9
  502. data/doc/classes/FileSystemImage.src/M000311.html +5 -9
  503. data/doc/classes/FileSystemImage.src/M000312.html +5 -4
  504. data/doc/classes/FileSystemImage.src/M000313.html +4 -9
  505. data/doc/classes/FileSystemImage.src/M000314.html +8 -9
  506. data/doc/classes/FileSystemImage.src/M000315.html +5 -11
  507. data/doc/classes/FileSystemImage.src/M000316.html +4 -4
  508. data/doc/classes/FileSystemImage.src/M000317.html +4 -4
  509. data/doc/classes/FileSystemImage.src/M000318.html +4 -4
  510. data/doc/classes/FileSystemImage.src/M000319.html +4 -13
  511. data/doc/classes/FileSystemImage.src/M000320.html +7 -7
  512. data/doc/classes/FileSystemImage.src/M000321.html +22 -0
  513. data/doc/classes/FileSystemImage.src/M000322.html +22 -0
  514. data/doc/classes/FileSystemImage.src/M000323.html +18 -0
  515. data/doc/classes/FileSystemImage.src/M000324.html +24 -0
  516. data/doc/classes/FileSystemImage.src/M000325.html +23 -0
  517. data/doc/classes/FileSystemImage.src/M000326.html +25 -0
  518. data/doc/classes/FileSystemImage.src/M000327.html +18 -0
  519. data/doc/classes/FileSystemImage.src/M000328.html +18 -0
  520. data/doc/classes/FileSystemImage.src/M000329.html +18 -0
  521. data/doc/classes/FileSystemImage.src/M000330.html +27 -0
  522. data/doc/classes/FileSystemImage.src/M000331.html +20 -0
  523. data/doc/classes/GenericFile.html +10 -10
  524. data/doc/classes/GenericFile.src/M000236.html +6 -4
  525. data/doc/classes/GenericFile.src/M000237.html +18 -0
  526. data/doc/classes/GenericFile.src/M000246.html +20 -0
  527. data/doc/classes/GenericFile.src/M000247.html +18 -0
  528. data/doc/classes/GenericGIF.html +25 -25
  529. data/doc/classes/GenericGIF.src/M000564.html +18 -0
  530. data/doc/classes/GenericGIF.src/M000565.html +18 -0
  531. data/doc/classes/GenericGIF.src/M000566.html +18 -0
  532. data/doc/classes/GenericGIF.src/M000567.html +18 -0
  533. data/doc/classes/GenericGIF.src/M000568.html +18 -0
  534. data/doc/classes/GenericGIF.src/M000577.html +18 -0
  535. data/doc/classes/GenericGIF.src/M000578.html +18 -0
  536. data/doc/classes/GenericGIF.src/M000579.html +18 -0
  537. data/doc/classes/GenericGIF.src/M000580.html +18 -0
  538. data/doc/classes/GenericGIF.src/M000581.html +18 -0
  539. data/doc/classes/HostSystem.html +91 -91
  540. data/doc/classes/HostSystem.src/M000482.html +5 -5
  541. data/doc/classes/HostSystem.src/M000483.html +9 -5
  542. data/doc/classes/HostSystem.src/M000484.html +5 -16
  543. data/doc/classes/HostSystem.src/M000485.html +4 -4
  544. data/doc/classes/HostSystem.src/M000486.html +22 -0
  545. data/doc/classes/HostSystem.src/M000487.html +33 -0
  546. data/doc/classes/HostSystem.src/M000488.html +18 -0
  547. data/doc/classes/HostSystem.src/M000489.html +19 -0
  548. data/doc/classes/HostSystem.src/M000490.html +18 -0
  549. data/doc/classes/HostSystem.src/M000491.html +18 -0
  550. data/doc/classes/HostSystem.src/M000492.html +18 -0
  551. data/doc/classes/HostSystem.src/M000493.html +18 -0
  552. data/doc/classes/HostSystem.src/M000494.html +18 -0
  553. data/doc/classes/HostSystem.src/M000495.html +18 -0
  554. data/doc/classes/HostSystem.src/M000496.html +22 -0
  555. data/doc/classes/HostSystem.src/M000497.html +18 -0
  556. data/doc/classes/HostSystem.src/M000498.html +18 -0
  557. data/doc/classes/HostSystem.src/M000499.html +22 -0
  558. data/doc/classes/HostSystem.src/M000500.html +33 -0
  559. data/doc/classes/HostSystem.src/M000501.html +18 -0
  560. data/doc/classes/HostSystem.src/M000502.html +19 -0
  561. data/doc/classes/HostSystem.src/M000503.html +18 -0
  562. data/doc/classes/HostSystem.src/M000504.html +18 -0
  563. data/doc/classes/HostSystem.src/M000505.html +18 -0
  564. data/doc/classes/HostSystem.src/M000506.html +18 -0
  565. data/doc/classes/HostSystem.src/M000507.html +18 -0
  566. data/doc/classes/HostSystem.src/M000508.html +18 -0
  567. data/doc/classes/HostSystem.src/M000509.html +18 -0
  568. data/doc/classes/HostSystem.src/M000510.html +18 -0
  569. data/doc/classes/HostSystem.src/M000511.html +29 -0
  570. data/doc/classes/HostSystem.src/M000512.html +18 -0
  571. data/doc/classes/ImageFormat.html +85 -85
  572. data/doc/classes/ImageFormat.src/M000198.html +4 -4
  573. data/doc/classes/ImageFormat.src/M000199.html +4 -4
  574. data/doc/classes/ImageFormat.src/M000200.html +3 -3
  575. data/doc/classes/ImageFormat.src/M000201.html +4 -4
  576. data/doc/classes/ImageFormat.src/M000202.html +4 -8
  577. data/doc/classes/ImageFormat.src/M000203.html +8 -5
  578. data/doc/classes/ImageFormat.src/M000204.html +5 -4
  579. data/doc/classes/ImageFormat.src/M000205.html +4 -4
  580. data/doc/classes/ImageFormat.src/M000206.html +4 -4
  581. data/doc/classes/ImageFormat.src/M000207.html +4 -4
  582. data/doc/classes/ImageFormat.src/M000208.html +4 -4
  583. data/doc/classes/ImageFormat.src/M000209.html +4 -4
  584. data/doc/classes/ImageFormat.src/M000210.html +4 -4
  585. data/doc/classes/ImageFormat.src/M000211.html +4 -6
  586. data/doc/classes/ImageFormat.src/M000212.html +4 -12
  587. data/doc/classes/ImageFormat.src/M000213.html +8 -4
  588. data/doc/classes/ImageFormat.src/M000214.html +19 -0
  589. data/doc/classes/ImageFormat.src/M000215.html +18 -0
  590. data/doc/classes/ImageFormat.src/M000216.html +18 -0
  591. data/doc/classes/ImageFormat.src/M000217.html +18 -0
  592. data/doc/classes/ImageFormat.src/M000218.html +18 -0
  593. data/doc/classes/ImageFormat.src/M000219.html +18 -0
  594. data/doc/classes/ImageFormat.src/M000220.html +18 -0
  595. data/doc/classes/ImageFormat.src/M000221.html +18 -0
  596. data/doc/classes/ImageFormat.src/M000222.html +20 -0
  597. data/doc/classes/ImageFormat.src/M000223.html +26 -0
  598. data/doc/classes/ImageFormat.src/M000224.html +18 -0
  599. data/doc/classes/ImageSniffing.html +40 -40
  600. data/doc/classes/ImageSniffing.src/M000512.html +120 -0
  601. data/doc/classes/ImageSniffing.src/M000513.html +36 -0
  602. data/doc/classes/ImageSniffing.src/M000514.html +130 -0
  603. data/doc/classes/ImageSniffing.src/M000515.html +47 -0
  604. data/doc/classes/ImageSniffing.src/M000516.html +46 -0
  605. data/doc/classes/ImageSniffing.src/M000517.html +59 -0
  606. data/doc/classes/ImageSniffing.src/M000518.html +74 -0
  607. data/doc/classes/ImageSniffing.src/M000519.html +44 -0
  608. data/doc/classes/ImageSniffing.src/M000525.html +120 -0
  609. data/doc/classes/ImageSniffing.src/M000526.html +36 -0
  610. data/doc/classes/ImageSniffing.src/M000527.html +155 -0
  611. data/doc/classes/ImageSniffing.src/M000528.html +47 -0
  612. data/doc/classes/ImageSniffing.src/M000529.html +46 -0
  613. data/doc/classes/ImageSniffing.src/M000530.html +59 -0
  614. data/doc/classes/ImageSniffing.src/M000531.html +74 -0
  615. data/doc/classes/ImageSniffing.src/M000532.html +44 -0
  616. data/doc/classes/IntegerBASIC.html +10 -10
  617. data/doc/classes/IntegerBASIC.src/M000290.html +6 -72
  618. data/doc/classes/IntegerBASIC.src/M000291.html +86 -0
  619. data/doc/classes/IntegerBASIC.src/M000300.html +20 -0
  620. data/doc/classes/IntegerBASIC.src/M000301.html +86 -0
  621. data/doc/classes/JvcDsk.html +30 -30
  622. data/doc/classes/JvcDsk.src/M000284.html +4 -25
  623. data/doc/classes/JvcDsk.src/M000285.html +25 -4
  624. data/doc/classes/JvcDsk.src/M000286.html +4 -4
  625. data/doc/classes/JvcDsk.src/M000287.html +4 -4
  626. data/doc/classes/JvcDsk.src/M000288.html +4 -8
  627. data/doc/classes/JvcDsk.src/M000289.html +22 -0
  628. data/doc/classes/JvcDsk.src/M000294.html +18 -0
  629. data/doc/classes/JvcDsk.src/M000295.html +39 -0
  630. data/doc/classes/JvcDsk.src/M000296.html +18 -0
  631. data/doc/classes/JvcDsk.src/M000297.html +18 -0
  632. data/doc/classes/JvcDsk.src/M000298.html +18 -0
  633. data/doc/classes/JvcDsk.src/M000299.html +22 -0
  634. data/doc/classes/MBasic.html +10 -10
  635. data/doc/classes/MBasic.src/M000238.html +6 -8
  636. data/doc/classes/MBasic.src/M000239.html +22 -0
  637. data/doc/classes/MBasic.src/M000248.html +20 -0
  638. data/doc/classes/MBasic.src/M000249.html +22 -0
  639. data/doc/classes/NADOLDos.html +10 -10
  640. data/doc/classes/NADOLDos.src/M000155.html +5 -39
  641. data/doc/classes/NADOLDos.src/M000165.html +18 -0
  642. data/doc/classes/NADOLDos.src/M000166.html +52 -0
  643. data/doc/classes/NADOLPic.html +10 -10
  644. data/doc/classes/NADOLPic.src/M000118.html +6 -4
  645. data/doc/classes/NADOLPic.src/M000119.html +18 -0
  646. data/doc/classes/NADOLPic.src/M000120.html +20 -0
  647. data/doc/classes/NADOLPic.src/M000121.html +18 -0
  648. data/doc/classes/NADOLTokens.html +5 -5
  649. data/doc/classes/NADOLTokens.src/M000120.html +41 -0
  650. data/doc/classes/NADOLTokens.src/M000122.html +41 -0
  651. data/doc/classes/NativeFileType.html +101 -101
  652. data/doc/classes/NativeFileType.src/M000258.html +10 -5
  653. data/doc/classes/NativeFileType.src/M000259.html +4 -4
  654. data/doc/classes/NativeFileType.src/M000260.html +4 -4
  655. data/doc/classes/NativeFileType.src/M000261.html +4 -8
  656. data/doc/classes/NativeFileType.src/M000262.html +8 -4
  657. data/doc/classes/NativeFileType.src/M000263.html +4 -4
  658. data/doc/classes/NativeFileType.src/M000264.html +3 -3
  659. data/doc/classes/NativeFileType.src/M000265.html +4 -9
  660. data/doc/classes/NativeFileType.src/M000266.html +9 -4
  661. data/doc/classes/NativeFileType.src/M000267.html +4 -8
  662. data/doc/classes/NativeFileType.src/M000268.html +10 -5
  663. data/doc/classes/NativeFileType.src/M000269.html +4 -10
  664. data/doc/classes/NativeFileType.src/M000270.html +5 -28
  665. data/doc/classes/NativeFileType.src/M000271.html +5 -11
  666. data/doc/classes/NativeFileType.src/M000272.html +9 -5
  667. data/doc/classes/NativeFileType.src/M000273.html +5 -5
  668. data/doc/classes/NativeFileType.src/M000274.html +5 -5
  669. data/doc/classes/NativeFileType.src/M000275.html +5 -7
  670. data/doc/classes/NativeFileType.src/M000276.html +10 -15
  671. data/doc/classes/NativeFileType.src/M000277.html +18 -0
  672. data/doc/classes/NativeFileType.src/M000278.html +22 -0
  673. data/doc/classes/NativeFileType.src/M000279.html +18 -0
  674. data/doc/classes/NativeFileType.src/M000280.html +24 -0
  675. data/doc/classes/NativeFileType.src/M000281.html +46 -0
  676. data/doc/classes/NativeFileType.src/M000282.html +24 -0
  677. data/doc/classes/NativeFileType.src/M000283.html +18 -0
  678. data/doc/classes/NativeFileType.src/M000284.html +18 -0
  679. data/doc/classes/NativeFileType.src/M000285.html +18 -0
  680. data/doc/classes/NativeFileType.src/M000286.html +20 -0
  681. data/doc/classes/NativeFileType.src/M000287.html +28 -0
  682. data/doc/classes/PackedProDosPic.html +5 -5
  683. data/doc/classes/PackedProDosPic.src/M000414.html +40 -0
  684. data/doc/classes/PackedProDosPic.src/M000426.html +40 -0
  685. data/doc/classes/PascalDos.html +15 -15
  686. data/doc/classes/PascalDos.src/M000524.html +18 -0
  687. data/doc/classes/PascalDos.src/M000525.html +21 -0
  688. data/doc/classes/PascalDos.src/M000526.html +62 -0
  689. data/doc/classes/PascalDos.src/M000537.html +18 -0
  690. data/doc/classes/PascalDos.src/M000538.html +21 -0
  691. data/doc/classes/PascalDos.src/M000539.html +62 -0
  692. data/doc/classes/PascalFile.html +10 -10
  693. data/doc/classes/PascalFile.src/M000153.html +7 -5
  694. data/doc/classes/PascalFile.src/M000163.html +20 -0
  695. data/doc/classes/PascalFile.src/M000164.html +18 -0
  696. data/doc/classes/PascalPic.html +10 -10
  697. data/doc/classes/PascalPic.src/M000506.html +20 -0
  698. data/doc/classes/PascalPic.src/M000507.html +18 -0
  699. data/doc/classes/PascalPic.src/M000519.html +20 -0
  700. data/doc/classes/PascalPic.src/M000520.html +18 -0
  701. data/doc/classes/ProDosBINFile.html +20 -20
  702. data/doc/classes/ProDosBINFile.src/M000502.html +20 -0
  703. data/doc/classes/ProDosBINFile.src/M000503.html +18 -0
  704. data/doc/classes/ProDosBINFile.src/M000504.html +18 -0
  705. data/doc/classes/ProDosBINFile.src/M000505.html +18 -0
  706. data/doc/classes/ProDosBINFile.src/M000515.html +20 -0
  707. data/doc/classes/ProDosBINFile.src/M000516.html +18 -0
  708. data/doc/classes/ProDosBINFile.src/M000517.html +18 -0
  709. data/doc/classes/ProDosBINFile.src/M000518.html +18 -0
  710. data/doc/classes/ProDosBinPic.html +15 -15
  711. data/doc/classes/ProDosBinPic.src/M000150.html +7 -5
  712. data/doc/classes/ProDosBinPic.src/M000151.html +4 -4
  713. data/doc/classes/ProDosBinPic.src/M000160.html +20 -0
  714. data/doc/classes/ProDosBinPic.src/M000161.html +18 -0
  715. data/doc/classes/ProDosBinPic.src/M000162.html +18 -0
  716. data/doc/classes/ProDosFile.html +15 -15
  717. data/doc/classes/ProDosFile.src/M000220.html +6 -4
  718. data/doc/classes/ProDosFile.src/M000221.html +4 -5
  719. data/doc/classes/ProDosFile.src/M000222.html +19 -0
  720. data/doc/classes/ProDosFile.src/M000230.html +20 -0
  721. data/doc/classes/ProDosFile.src/M000231.html +18 -0
  722. data/doc/classes/ProDosFile.src/M000232.html +19 -0
  723. data/doc/classes/Proc.html +55 -55
  724. data/doc/classes/Proc.src/M000225.html +7 -5
  725. data/doc/classes/Proc.src/M000226.html +5 -8
  726. data/doc/classes/Proc.src/M000227.html +6 -6
  727. data/doc/classes/Proc.src/M000228.html +6 -6
  728. data/doc/classes/Proc.src/M000229.html +8 -5
  729. data/doc/classes/Proc.src/M000230.html +6 -3
  730. data/doc/classes/Proc.src/M000231.html +3 -7
  731. data/doc/classes/Proc.src/M000232.html +6 -4
  732. data/doc/classes/Proc.src/M000233.html +5 -3
  733. data/doc/classes/Proc.src/M000234.html +2 -2
  734. data/doc/classes/Proc.src/M000235.html +21 -0
  735. data/doc/classes/Proc.src/M000236.html +19 -0
  736. data/doc/classes/Proc.src/M000237.html +22 -0
  737. data/doc/classes/Proc.src/M000238.html +22 -0
  738. data/doc/classes/Proc.src/M000239.html +22 -0
  739. data/doc/classes/Proc.src/M000240.html +19 -0
  740. data/doc/classes/Proc.src/M000241.html +16 -0
  741. data/doc/classes/Proc.src/M000242.html +20 -0
  742. data/doc/classes/Proc.src/M000243.html +18 -0
  743. data/doc/classes/Proc.src/M000244.html +16 -0
  744. data/doc/classes/Proc.src/M000245.html +16 -0
  745. data/doc/classes/ProcSource.html +10 -10
  746. data/doc/classes/ProcSource.src/M000562.html +38 -0
  747. data/doc/classes/ProcSource.src/M000563.html +109 -0
  748. data/doc/classes/ProcSource.src/M000575.html +38 -0
  749. data/doc/classes/ProcSource.src/M000576.html +109 -0
  750. data/doc/classes/RDoc.html +5 -5
  751. data/doc/classes/RDoc.src/M000561.html +40 -0
  752. data/doc/classes/RDoc.src/M000574.html +40 -0
  753. data/doc/classes/RawDisk.html +10 -10
  754. data/doc/classes/RawDisk.src/M000338.html +4 -9
  755. data/doc/classes/RawDisk.src/M000339.html +23 -0
  756. data/doc/classes/RawDisk.src/M000348.html +18 -0
  757. data/doc/classes/RawDisk.src/M000349.html +23 -0
  758. data/doc/classes/RipXplore.html +1 -1
  759. data/doc/classes/RipXploreLog.html +15 -15
  760. data/doc/classes/RipXploreLog.src/M000174.html +4 -6
  761. data/doc/classes/RipXploreLog.src/M000175.html +6 -4
  762. data/doc/classes/RipXploreLog.src/M000184.html +18 -0
  763. data/doc/classes/RipXploreLog.src/M000185.html +20 -0
  764. data/doc/classes/RipXploreLog.src/M000186.html +18 -0
  765. data/doc/classes/RsDos.html +20 -20
  766. data/doc/classes/RsDos.src/M000508.html +18 -0
  767. data/doc/classes/RsDos.src/M000509.html +18 -0
  768. data/doc/classes/RsDos.src/M000510.html +18 -0
  769. data/doc/classes/RsDos.src/M000511.html +62 -0
  770. data/doc/classes/RsDos.src/M000521.html +18 -0
  771. data/doc/classes/RsDos.src/M000522.html +18 -0
  772. data/doc/classes/RsDos.src/M000523.html +18 -0
  773. data/doc/classes/RsDos.src/M000524.html +62 -0
  774. data/doc/classes/ScAsm.html +5 -5
  775. data/doc/classes/ScAsm.src/M000520.html +45 -0
  776. data/doc/classes/ScAsm.src/M000533.html +45 -0
  777. data/doc/classes/ScreenDump.html +5 -5
  778. data/doc/classes/ScreenDump.src/M000560.html +24 -0
  779. data/doc/classes/ScreenDump.src/M000573.html +24 -0
  780. data/doc/classes/ScreenDumps.html +15 -15
  781. data/doc/classes/ScreenDumps.src/M000390.html +8 -10
  782. data/doc/classes/ScreenDumps.src/M000391.html +10 -21
  783. data/doc/classes/ScreenDumps.src/M000392.html +35 -0
  784. data/doc/classes/ScreenDumps.src/M000402.html +22 -0
  785. data/doc/classes/ScreenDumps.src/M000403.html +24 -0
  786. data/doc/classes/ScreenDumps.src/M000404.html +35 -0
  787. data/doc/classes/ScrunchedAppleDosPic.html +5 -5
  788. data/doc/classes/ScrunchedAppleDosPic.src/M000296.html +37 -0
  789. data/doc/classes/ScrunchedAppleDosPic.src/M000306.html +37 -0
  790. data/doc/classes/SubclassTracking.html +5 -5
  791. data/doc/classes/SubclassTracking.src/M000569.html +23 -0
  792. data/doc/classes/SubclassTracking.src/M000582.html +23 -0
  793. data/doc/classes/Ti99.html +60 -60
  794. data/doc/classes/Ti99.src/M000162.html +4 -4
  795. data/doc/classes/Ti99.src/M000163.html +4 -4
  796. data/doc/classes/Ti99.src/M000164.html +4 -4
  797. data/doc/classes/Ti99.src/M000165.html +4 -4
  798. data/doc/classes/Ti99.src/M000166.html +4 -4
  799. data/doc/classes/Ti99.src/M000167.html +4 -4
  800. data/doc/classes/Ti99.src/M000168.html +4 -4
  801. data/doc/classes/Ti99.src/M000169.html +4 -4
  802. data/doc/classes/Ti99.src/M000170.html +4 -4
  803. data/doc/classes/Ti99.src/M000171.html +4 -4
  804. data/doc/classes/Ti99.src/M000172.html +4 -4
  805. data/doc/classes/Ti99.src/M000173.html +4 -4
  806. data/doc/classes/Ti99.src/M000174.html +18 -0
  807. data/doc/classes/Ti99.src/M000175.html +18 -0
  808. data/doc/classes/Ti99.src/M000176.html +18 -0
  809. data/doc/classes/Ti99.src/M000177.html +18 -0
  810. data/doc/classes/Ti99.src/M000178.html +18 -0
  811. data/doc/classes/Ti99.src/M000179.html +18 -0
  812. data/doc/classes/Ti99.src/M000180.html +18 -0
  813. data/doc/classes/Ti99.src/M000181.html +18 -0
  814. data/doc/classes/Ti99.src/M000182.html +18 -0
  815. data/doc/classes/Ti99.src/M000183.html +18 -0
  816. data/doc/classes/Ti99BasicFile.html +5 -5
  817. data/doc/classes/Ti99BasicFile.src/M000361.html +72 -0
  818. data/doc/classes/Ti99BasicFile.src/M000371.html +72 -0
  819. data/doc/classes/Ti99File.html +10 -10
  820. data/doc/classes/Ti99File.src/M000292.html +6 -4
  821. data/doc/classes/Ti99File.src/M000293.html +18 -0
  822. data/doc/classes/Ti99File.src/M000302.html +20 -0
  823. data/doc/classes/Ti99File.src/M000303.html +18 -0
  824. data/doc/classes/Ti99Fms.html +10 -10
  825. data/doc/classes/Ti99Fms.src/M000467.html +18 -0
  826. data/doc/classes/Ti99Fms.src/M000468.html +77 -0
  827. data/doc/classes/Ti99Fms.src/M000480.html +18 -0
  828. data/doc/classes/Ti99Fms.src/M000481.html +77 -0
  829. data/doc/classes/Ti99TextFile.html +10 -10
  830. data/doc/classes/Ti99TextFile.src/M000533.html +33 -0
  831. data/doc/classes/Ti99TextFile.src/M000534.html +18 -0
  832. data/doc/classes/Ti99TextFile.src/M000546.html +33 -0
  833. data/doc/classes/Ti99TextFile.src/M000547.html +18 -0
  834. data/doc/classes/TiArtistPattern.html +20 -20
  835. data/doc/classes/TiArtistPattern.src/M000393.html +36 -4
  836. data/doc/classes/TiArtistPattern.src/M000394.html +4 -4
  837. data/doc/classes/TiArtistPattern.src/M000395.html +4 -4
  838. data/doc/classes/TiArtistPattern.src/M000396.html +18 -0
  839. data/doc/classes/TiArtistPattern.src/M000405.html +50 -0
  840. data/doc/classes/TiArtistPattern.src/M000406.html +18 -0
  841. data/doc/classes/TiArtistPattern.src/M000407.html +18 -0
  842. data/doc/classes/TiArtistPattern.src/M000408.html +18 -0
  843. data/doc/classes/TiRLE.html +20 -20
  844. data/doc/classes/TiRLE.src/M000529.html +22 -0
  845. data/doc/classes/TiRLE.src/M000530.html +22 -0
  846. data/doc/classes/TiRLE.src/M000531.html +43 -0
  847. data/doc/classes/TiRLE.src/M000532.html +18 -0
  848. data/doc/classes/TiRLE.src/M000542.html +22 -0
  849. data/doc/classes/TiRLE.src/M000543.html +22 -0
  850. data/doc/classes/TiRLE.src/M000544.html +43 -0
  851. data/doc/classes/TiRLE.src/M000545.html +18 -0
  852. data/doc/classes/Trs80.html +55 -55
  853. data/doc/classes/Trs80.src/M000340.html +4 -4
  854. data/doc/classes/Trs80.src/M000341.html +4 -4
  855. data/doc/classes/Trs80.src/M000342.html +4 -4
  856. data/doc/classes/Trs80.src/M000343.html +4 -4
  857. data/doc/classes/Trs80.src/M000344.html +4 -4
  858. data/doc/classes/Trs80.src/M000345.html +4 -4
  859. data/doc/classes/Trs80.src/M000346.html +4 -4
  860. data/doc/classes/Trs80.src/M000347.html +4 -4
  861. data/doc/classes/Trs80.src/M000348.html +4 -4
  862. data/doc/classes/Trs80.src/M000349.html +4 -4
  863. data/doc/classes/Trs80.src/M000350.html +18 -0
  864. data/doc/classes/Trs80.src/M000351.html +18 -0
  865. data/doc/classes/Trs80.src/M000352.html +18 -0
  866. data/doc/classes/Trs80.src/M000353.html +18 -0
  867. data/doc/classes/Trs80.src/M000354.html +18 -0
  868. data/doc/classes/Trs80.src/M000355.html +18 -0
  869. data/doc/classes/Trs80.src/M000356.html +18 -0
  870. data/doc/classes/Trs80.src/M000357.html +18 -0
  871. data/doc/classes/Trs80.src/M000358.html +18 -0
  872. data/doc/classes/Trs80.src/M000359.html +18 -0
  873. data/doc/classes/Trs80.src/M000360.html +18 -0
  874. data/doc/classes/Trs80BasicListing.html +15 -15
  875. data/doc/classes/Trs80BasicListing.src/M000358.html +6 -4
  876. data/doc/classes/Trs80BasicListing.src/M000359.html +4 -4
  877. data/doc/classes/Trs80BasicListing.src/M000360.html +18 -0
  878. data/doc/classes/Trs80BasicListing.src/M000368.html +20 -0
  879. data/doc/classes/Trs80BasicListing.src/M000369.html +18 -0
  880. data/doc/classes/Trs80BasicListing.src/M000370.html +18 -0
  881. data/doc/classes/Trs80LevelIIBasic.html +15 -15
  882. data/doc/classes/Trs80LevelIIBasic.src/M000135.html +6 -4
  883. data/doc/classes/Trs80LevelIIBasic.src/M000136.html +4 -29
  884. data/doc/classes/Trs80LevelIIBasic.src/M000137.html +20 -0
  885. data/doc/classes/Trs80LevelIIBasic.src/M000138.html +18 -0
  886. data/doc/classes/Trs80LevelIIBasic.src/M000139.html +43 -0
  887. data/doc/classes/Trs80PascalSource.html +10 -10
  888. data/doc/classes/Trs80PascalSource.src/M000527.html +20 -0
  889. data/doc/classes/Trs80PascalSource.src/M000528.html +30 -0
  890. data/doc/classes/Trs80PascalSource.src/M000540.html +20 -0
  891. data/doc/classes/Trs80PascalSource.src/M000541.html +30 -0
  892. data/doc/classes/Trs80Text.html +15 -15
  893. data/doc/classes/Trs80Text.src/M000442.html +6 -4
  894. data/doc/classes/Trs80Text.src/M000443.html +4 -4
  895. data/doc/classes/Trs80Text.src/M000444.html +18 -0
  896. data/doc/classes/Trs80Text.src/M000454.html +20 -0
  897. data/doc/classes/Trs80Text.src/M000455.html +18 -0
  898. data/doc/classes/Trs80Text.src/M000456.html +18 -0
  899. data/doc/classes/TrsDos.html +20 -20
  900. data/doc/classes/TrsDos.src/M000408.html +4 -4
  901. data/doc/classes/TrsDos.src/M000409.html +4 -4
  902. data/doc/classes/TrsDos.src/M000410.html +4 -50
  903. data/doc/classes/TrsDos.src/M000411.html +64 -0
  904. data/doc/classes/TrsDos.src/M000420.html +18 -0
  905. data/doc/classes/TrsDos.src/M000421.html +18 -0
  906. data/doc/classes/TrsDos.src/M000422.html +18 -0
  907. data/doc/classes/TrsDos.src/M000423.html +64 -0
  908. data/doc/classes/Zx81.html +25 -25
  909. data/doc/classes/Zx81.src/M000326.html +4 -192
  910. data/doc/classes/Zx81.src/M000327.html +192 -4
  911. data/doc/classes/Zx81.src/M000328.html +4 -9
  912. data/doc/classes/Zx81.src/M000329.html +8 -14
  913. data/doc/classes/Zx81.src/M000330.html +29 -0
  914. data/doc/classes/Zx81.src/M000336.html +18 -0
  915. data/doc/classes/Zx81.src/M000337.html +206 -0
  916. data/doc/classes/Zx81.src/M000338.html +18 -0
  917. data/doc/classes/Zx81.src/M000339.html +23 -0
  918. data/doc/classes/Zx81.src/M000340.html +29 -0
  919. data/doc/classes/Zx81Basic.html +15 -15
  920. data/doc/classes/Zx81Basic.src/M000331.html +6 -4
  921. data/doc/classes/Zx81Basic.src/M000332.html +4 -109
  922. data/doc/classes/Zx81Basic.src/M000333.html +123 -0
  923. data/doc/classes/Zx81Basic.src/M000341.html +20 -0
  924. data/doc/classes/Zx81Basic.src/M000342.html +18 -0
  925. data/doc/classes/Zx81Basic.src/M000343.html +123 -0
  926. data/doc/classes/Zx81PFile.html +10 -10
  927. data/doc/classes/Zx81PFile.src/M000388.html +4 -4
  928. data/doc/classes/Zx81PFile.src/M000389.html +18 -0
  929. data/doc/classes/Zx81PFile.src/M000400.html +18 -0
  930. data/doc/classes/Zx81PFile.src/M000401.html +18 -0
  931. data/doc/created.rid +1 -1
  932. data/doc/files/lib/FileCache_rb.html +1 -1
  933. data/doc/files/lib/FileSystemImage_rb.html +1 -1
  934. data/doc/files/lib/LibRipXplore_rb.html +1 -1
  935. data/doc/files/lib/NativeFileType_rb.html +1 -1
  936. data/doc/files/lib/file_systems/CVTArchive_rb.html +1 -1
  937. data/doc/files/lib/file_systems/CbmDos_rb.html +1 -1
  938. data/doc/files/lib/native_file_types/c64/C64GeoPaintPic_rb.html +1 -1
  939. data/doc/files/lib/native_file_types/c64/C64GeosFile_rb.html +2 -1
  940. data/doc/files/lib/native_file_types/c64/C64GeosPhotoAlbum_rb.html +109 -0
  941. data/doc/files/lib/native_file_types/c64/C64PhotoScrap_rb.html +119 -0
  942. data/doc/files/test/tc_c64_rb.html +1 -1
  943. data/doc/fr_class_index.html +2 -0
  944. data/doc/fr_file_index.html +2 -0
  945. data/doc/fr_method_index.html +494 -467
  946. data/lib/FileCache.rb +14 -0
  947. data/lib/FileSystemImage.rb +3 -2
  948. data/lib/LibRipXplore.rb +1 -1
  949. data/lib/NativeFileType.rb +7 -2
  950. data/lib/file_systems/CVTArchive.rb +8 -5
  951. data/lib/file_systems/CbmDos.rb +10 -7
  952. data/lib/native_file_types/c64/C64GeoPaintPic.rb +6 -1
  953. data/lib/native_file_types/c64/C64GeosFile.rb +52 -3
  954. data/lib/native_file_types/c64/C64GeosPhotoAlbum.rb +76 -0
  955. data/lib/native_file_types/c64/C64PhotoScrap.rb +141 -0
  956. data/test/tc_c64.rb +44 -3
  957. metadata +560 -3
@@ -5,31 +5,36 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>find_free_space (AppleCPM)</title>
8
+ <title>files (AppleCPM)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/file_systems/AppleCPM.rb, line 107</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">find_free_space</span>(<span class="ruby-identifier">file_system_image</span>)
15
- <span class="ruby-identifier">free_blocks</span>=[]
16
- <span class="ruby-identifier">free_directory_entries</span>=[]
17
- <span class="ruby-comment cmt">#first two blocks are where the catalog lives
18
- (<span class="ruby-value">2</span><span class="ruby-operator">..</span>((<span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">track_count</span><span class="ruby-operator">-</span><span class="ruby-value">3</span>)<span class="ruby-operator">*</span><span class="ruby-value">4</span>)<span class="ruby-operator">-</span><span class="ruby-value">1</span>).<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">block</span><span class="ruby-operator">|</span> <span class="ruby-identifier">free_blocks</span><span class="ruby-operator">&lt;&lt;</span><span class="ruby-identifier">block</span>}
13
+ <pre><span class="ruby-comment cmt"># File lib/file_systems/AppleCPM.rb, line 81</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>
19
16
  <span class="ruby-identifier">catalog</span>=<span class="ruby-identifier">get_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">0</span>)<span class="ruby-operator">+</span><span class="ruby-identifier">get_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">1</span>)
20
17
  <span class="ruby-value">0</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-value">63</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dir_entry_no</span><span class="ruby-operator">|</span>
21
18
  <span class="ruby-identifier">dir_entry_start</span>=<span class="ruby-identifier">dir_entry_no</span><span class="ruby-operator">*</span><span class="ruby-value">0x20</span>
22
19
  <span class="ruby-identifier">dir_entry</span>=<span class="ruby-identifier">catalog</span>[<span class="ruby-identifier">dir_entry_start</span><span class="ruby-operator">..</span><span class="ruby-identifier">dir_entry_start</span><span class="ruby-operator">+</span><span class="ruby-value">0x1</span><span class="ruby-constant">F</span>]
23
20
  <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">dir_entry</span>[<span class="ruby-value">0</span>]<span class="ruby-operator">&lt;</span><span class="ruby-value">0x10</span>) <span class="ruby-keyword kw">then</span>
21
+ <span class="ruby-identifier">file_name</span>=<span class="ruby-identifier">dir_entry</span>[<span class="ruby-value">0x01</span><span class="ruby-operator">..</span><span class="ruby-value">0x08</span>].<span class="ruby-identifier">gsub</span>(<span class="ruby-value str">' '</span>,<span class="ruby-value str">''</span>)
22
+ <span class="ruby-identifier">file_ext</span>=<span class="ruby-identifier">dir_entry</span>[<span class="ruby-value">0x09</span><span class="ruby-operator">..</span><span class="ruby-value">0x0</span><span class="ruby-constant">B</span>].<span class="ruby-identifier">gsub</span>(<span class="ruby-value str">' '</span>,<span class="ruby-value str">''</span>)
23
+ <span class="ruby-identifier">full_filename</span>=<span class="ruby-node">&quot;#{file_name}.#{file_ext}&quot;</span>
24
+ <span class="ruby-identifier">files</span><span class="ruby-operator">&lt;&lt;</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">full_filename</span>,<span class="ruby-value str">''</span>,<span class="ruby-identifier">file_ext</span>)
25
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">files</span>[<span class="ruby-identifier">full_filename</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-keyword kw">then</span>
26
+ <span class="ruby-identifier">files</span><span class="ruby-operator">&lt;&lt;</span><span class="ruby-identifier">file</span>
27
+ <span class="ruby-keyword kw">end</span>
28
+ <span class="ruby-identifier">s</span>=<span class="ruby-value str">&quot;&quot;</span>
24
29
  <span class="ruby-value">0x10</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-value">0x1f</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
25
30
  <span class="ruby-identifier">block</span>=<span class="ruby-identifier">dir_entry</span>[<span class="ruby-identifier">i</span>]
26
- <span class="ruby-identifier">free_blocks</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">block</span>)
31
+ <span class="ruby-identifier">s</span><span class="ruby-operator">+=</span><span class="ruby-identifier">get_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-identifier">block</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">block</span><span class="ruby-operator">==</span><span class="ruby-value">0</span>
27
32
  <span class="ruby-keyword kw">end</span>
28
- <span class="ruby-keyword kw">else</span>
29
- <span class="ruby-identifier">free_directory_entries</span><span class="ruby-operator">&lt;&lt;</span><span class="ruby-identifier">dir_entry_no</span>
33
+ <span class="ruby-identifier">records_allocated</span>=<span class="ruby-identifier">dir_entry</span>[<span class="ruby-value">0x0</span><span class="ruby-constant">F</span>]
34
+ <span class="ruby-identifier">files</span>[<span class="ruby-identifier">full_filename</span>].<span class="ruby-identifier">contents</span><span class="ruby-operator">+=</span><span class="ruby-identifier">s</span>[<span class="ruby-value">0</span>,(<span class="ruby-identifier">records_allocated</span><span class="ruby-operator">*</span><span class="ruby-value">128</span>)]
30
35
  <span class="ruby-keyword kw">end</span>
31
36
  <span class="ruby-keyword kw">end</span>
32
- [<span class="ruby-identifier">free_blocks</span>,<span class="ruby-identifier">free_directory_entries</span>]
37
+ <span class="ruby-identifier">files</span>
33
38
  <span class="ruby-keyword kw">end</span></pre>
34
39
  </body>
35
40
  </html>
@@ -5,53 +5,31 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>add_file (AppleCPM)</title>
8
+ <title>find_free_space (AppleCPM)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/file_systems/AppleCPM.rb, line 129</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">full_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-identifier">raise</span> <span class="ruby-node">&quot;#{native_filetype_class} not supported on Apple CPM 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>
16
- <span class="ruby-identifier">partial_filename</span>,<span class="ruby-identifier">file_type</span>=<span class="ruby-constant">CPMFile</span>.<span class="ruby-identifier">split_filename</span>(<span class="ruby-identifier">full_filename</span>)
17
- <span class="ruby-identifier">full_filename</span> =<span class="ruby-node">&quot;#{partial_filename}.#{file_type}&quot;</span>
18
- <span class="ruby-comment cmt"># puts &quot;#{full_filename},#{partial_filename},#{file_type}&quot;
19
- <span class="ruby-identifier">delete_file</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-identifier">full_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">full_filename</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-comment cmt">#so we can overwrite the file if it already exists
20
- <span class="ruby-identifier">free_blocks</span>,<span class="ruby-identifier">free_directory_entries</span>=<span class="ruby-identifier">find_free_space</span>(<span class="ruby-identifier">file_system_image</span>)
21
- <span class="ruby-identifier">total_record_count</span>=(<span class="ruby-identifier">file_contents</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">/</span><span class="ruby-constant">RECORD_SIZE</span>.<span class="ruby-identifier">to_f</span>).<span class="ruby-identifier">ceil</span>
22
- <span class="ruby-identifier">total_blocks_needed</span>=(<span class="ruby-identifier">total_record_count</span><span class="ruby-operator">/</span><span class="ruby-constant">RECORDS_PER_BLOCK</span>.<span class="ruby-identifier">to_f</span>).<span class="ruby-identifier">ceil</span>
23
- <span class="ruby-identifier">total_extents_needed</span>=(<span class="ruby-identifier">total_blocks_needed</span><span class="ruby-operator">/</span><span class="ruby-constant">BLOCKS_PER_EXTENT</span>.<span class="ruby-identifier">to_f</span>).<span class="ruby-identifier">ceil</span>
24
- <span class="ruby-comment cmt"># puts &quot;#{total_extents_needed} extents needed&quot;
25
- <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;#{total_blocks_needed} free blocks required, only #{free_blocks.length} available&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">total_blocks_needed</span><span class="ruby-operator">&lt;=</span><span class="ruby-identifier">free_blocks</span>.<span class="ruby-identifier">length</span>
26
- <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;#{total_extents_needed} free directory entries required, only #{free_directory_entries.length} available&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">total_extents_needed</span><span class="ruby-operator">&lt;=</span><span class="ruby-identifier">free_directory_entries</span>.<span class="ruby-identifier">length</span>
27
- <span class="ruby-identifier">catalog</span>=<span class="ruby-identifier">get_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">0</span>)<span class="ruby-operator">+</span><span class="ruby-identifier">get_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">1</span>)
28
- <span class="ruby-identifier">padded_file_contents</span>=<span class="ruby-identifier">file_contents</span><span class="ruby-operator">+</span>(<span class="ruby-value">0x1</span><span class="ruby-constant">A</span>.<span class="ruby-identifier">chr</span><span class="ruby-operator">*</span><span class="ruby-constant">BLOCK_SIZE</span>)
29
-
30
- <span class="ruby-identifier">total_extents_needed</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">extent_no</span><span class="ruby-operator">|</span>
31
- <span class="ruby-identifier">records_this_extent</span>=(<span class="ruby-identifier">extent_no</span><span class="ruby-operator">==</span>(<span class="ruby-identifier">total_extents_needed</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>) <span class="ruby-operator">?</span> (<span class="ruby-identifier">total_record_count</span> <span class="ruby-operator">%</span> <span class="ruby-constant">RECORDS_PER_EXTENT</span>)<span class="ruby-operator">:</span><span class="ruby-constant">RECORDS_PER_EXTENT</span>)
32
- <span class="ruby-identifier">blocks_this_extent</span>=(<span class="ruby-identifier">records_this_extent</span><span class="ruby-operator">/</span><span class="ruby-constant">RECORDS_PER_BLOCK</span>.<span class="ruby-identifier">to_f</span>).<span class="ruby-identifier">ceil</span>
33
- <span class="ruby-identifier">blocks_used</span>=[<span class="ruby-value">0</span>]<span class="ruby-operator">*</span><span class="ruby-constant">BLOCKS_PER_EXTENT</span>
34
- <span class="ruby-identifier">first_record_this_extent</span>=<span class="ruby-identifier">extent_no</span><span class="ruby-operator">*</span><span class="ruby-constant">RECORDS_PER_EXTENT</span>
35
- <span class="ruby-identifier">contents_this_extent</span>=<span class="ruby-identifier">padded_file_contents</span>[(<span class="ruby-identifier">first_record_this_extent</span><span class="ruby-operator">*</span><span class="ruby-constant">RECORD_SIZE</span>),<span class="ruby-identifier">blocks_this_extent</span><span class="ruby-operator">*</span><span class="ruby-constant">BLOCK_SIZE</span>]
36
-
37
- <span class="ruby-identifier">blocks_this_extent</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">block_no</span><span class="ruby-operator">|</span>
38
- <span class="ruby-identifier">this_block</span>=<span class="ruby-identifier">free_blocks</span>[<span class="ruby-identifier">block_no</span><span class="ruby-operator">+</span>(<span class="ruby-identifier">extent_no</span><span class="ruby-operator">*</span><span class="ruby-constant">BLOCKS_PER_EXTENT</span>)]
39
- <span class="ruby-identifier">set_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-identifier">this_block</span>,<span class="ruby-identifier">contents_this_extent</span>[<span class="ruby-identifier">block_no</span><span class="ruby-operator">*</span><span class="ruby-constant">BLOCK_SIZE</span>,<span class="ruby-constant">BLOCK_SIZE</span>])
40
- <span class="ruby-identifier">blocks_used</span>[<span class="ruby-identifier">block_no</span>]=<span class="ruby-identifier">this_block</span>
41
- <span class="ruby-keyword kw">end</span>
42
- <span class="ruby-identifier">dir_entry_no</span>=<span class="ruby-identifier">free_directory_entries</span>[<span class="ruby-identifier">extent_no</span>]
43
- <span class="ruby-identifier">dir_entry_start</span>=<span class="ruby-identifier">dir_entry_no</span><span class="ruby-operator">*</span><span class="ruby-value">0x20</span>
44
- <span class="ruby-identifier">dir_entry</span>=[<span class="ruby-value">0</span>,<span class="ruby-identifier">partial_filename</span>,<span class="ruby-identifier">file_type</span>,<span class="ruby-identifier">extent_no</span>,<span class="ruby-value">0</span>,<span class="ruby-value">0</span>,<span class="ruby-identifier">records_this_extent</span>,<span class="ruby-identifier">blocks_used</span>].<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">pack</span>(<span class="ruby-value str">&quot;CA8A3C4C16&quot;</span>)
45
- <span class="ruby-identifier">catalog</span>[<span class="ruby-identifier">dir_entry_start</span>,<span class="ruby-value">0x20</span>]=<span class="ruby-identifier">dir_entry</span>
46
- <span class="ruby-comment cmt"># puts &quot;dir entry # #{dir_entry_no}&quot;
13
+ <pre><span class="ruby-comment cmt"># File lib/file_systems/AppleCPM.rb, line 107</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">find_free_space</span>(<span class="ruby-identifier">file_system_image</span>)
15
+ <span class="ruby-identifier">free_blocks</span>=[]
16
+ <span class="ruby-identifier">free_directory_entries</span>=[]
17
+ <span class="ruby-comment cmt">#first two blocks are where the catalog lives
18
+ (<span class="ruby-value">2</span><span class="ruby-operator">..</span>((<span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">track_count</span><span class="ruby-operator">-</span><span class="ruby-value">3</span>)<span class="ruby-operator">*</span><span class="ruby-value">4</span>)<span class="ruby-operator">-</span><span class="ruby-value">1</span>).<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">block</span><span class="ruby-operator">|</span> <span class="ruby-identifier">free_blocks</span><span class="ruby-operator">&lt;&lt;</span><span class="ruby-identifier">block</span>}
19
+ <span class="ruby-identifier">catalog</span>=<span class="ruby-identifier">get_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">0</span>)<span class="ruby-operator">+</span><span class="ruby-identifier">get_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">1</span>)
20
+ <span class="ruby-value">0</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-value">63</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dir_entry_no</span><span class="ruby-operator">|</span>
21
+ <span class="ruby-identifier">dir_entry_start</span>=<span class="ruby-identifier">dir_entry_no</span><span class="ruby-operator">*</span><span class="ruby-value">0x20</span>
22
+ <span class="ruby-identifier">dir_entry</span>=<span class="ruby-identifier">catalog</span>[<span class="ruby-identifier">dir_entry_start</span><span class="ruby-operator">..</span><span class="ruby-identifier">dir_entry_start</span><span class="ruby-operator">+</span><span class="ruby-value">0x1</span><span class="ruby-constant">F</span>]
23
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">dir_entry</span>[<span class="ruby-value">0</span>]<span class="ruby-operator">&lt;</span><span class="ruby-value">0x10</span>) <span class="ruby-keyword kw">then</span>
24
+ <span class="ruby-value">0x10</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-value">0x1f</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
25
+ <span class="ruby-identifier">block</span>=<span class="ruby-identifier">dir_entry</span>[<span class="ruby-identifier">i</span>]
26
+ <span class="ruby-identifier">free_blocks</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">block</span>)
27
+ <span class="ruby-keyword kw">end</span>
28
+ <span class="ruby-keyword kw">else</span>
29
+ <span class="ruby-identifier">free_directory_entries</span><span class="ruby-operator">&lt;&lt;</span><span class="ruby-identifier">dir_entry_no</span>
47
30
  <span class="ruby-keyword kw">end</span>
48
-
49
- <span class="ruby-identifier">set_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">0</span>,<span class="ruby-identifier">catalog</span>[<span class="ruby-value">0</span>,<span class="ruby-constant">BLOCK_SIZE</span>])
50
- <span class="ruby-identifier">set_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">1</span>,<span class="ruby-identifier">catalog</span>[<span class="ruby-constant">BLOCK_SIZE</span>,<span class="ruby-constant">BLOCK_SIZE</span>])
51
-
52
- <span class="ruby-identifier">native_file</span>=<span class="ruby-identifier">files</span>(<span class="ruby-identifier">file_system_image</span>)[<span class="ruby-identifier">full_filename</span>]
53
- <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;error: file should now be in catalog\n #{file_system_image.catalog}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">native_file</span>.<span class="ruby-identifier">nil?</span>
54
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">native_file</span>
55
- <span class="ruby-keyword kw">end</span></pre>
31
+ <span class="ruby-keyword kw">end</span>
32
+ [<span class="ruby-identifier">free_blocks</span>,<span class="ruby-identifier">free_directory_entries</span>]
33
+ <span class="ruby-keyword kw">end</span></pre>
56
34
  </body>
57
35
  </html>
@@ -5,26 +5,53 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>delete_file (AppleCPM)</title>
8
+ <title>add_file (AppleCPM)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/file_systems/AppleCPM.rb, line 172</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">full_filename</span>)
13
+ <pre><span class="ruby-comment cmt"># File lib/file_systems/AppleCPM.rb, line 129</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">full_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-identifier">raise</span> <span class="ruby-node">&quot;#{native_filetype_class} not supported on Apple CPM 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>
16
+ <span class="ruby-identifier">partial_filename</span>,<span class="ruby-identifier">file_type</span>=<span class="ruby-constant">CPMFile</span>.<span class="ruby-identifier">split_filename</span>(<span class="ruby-identifier">full_filename</span>)
17
+ <span class="ruby-identifier">full_filename</span> =<span class="ruby-node">&quot;#{partial_filename}.#{file_type}&quot;</span>
18
+ <span class="ruby-comment cmt"># puts &quot;#{full_filename},#{partial_filename},#{file_type}&quot;
19
+ <span class="ruby-identifier">delete_file</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-identifier">full_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">full_filename</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-comment cmt">#so we can overwrite the file if it already exists
20
+ <span class="ruby-identifier">free_blocks</span>,<span class="ruby-identifier">free_directory_entries</span>=<span class="ruby-identifier">find_free_space</span>(<span class="ruby-identifier">file_system_image</span>)
21
+ <span class="ruby-identifier">total_record_count</span>=(<span class="ruby-identifier">file_contents</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">/</span><span class="ruby-constant">RECORD_SIZE</span>.<span class="ruby-identifier">to_f</span>).<span class="ruby-identifier">ceil</span>
22
+ <span class="ruby-identifier">total_blocks_needed</span>=(<span class="ruby-identifier">total_record_count</span><span class="ruby-operator">/</span><span class="ruby-constant">RECORDS_PER_BLOCK</span>.<span class="ruby-identifier">to_f</span>).<span class="ruby-identifier">ceil</span>
23
+ <span class="ruby-identifier">total_extents_needed</span>=(<span class="ruby-identifier">total_blocks_needed</span><span class="ruby-operator">/</span><span class="ruby-constant">BLOCKS_PER_EXTENT</span>.<span class="ruby-identifier">to_f</span>).<span class="ruby-identifier">ceil</span>
24
+ <span class="ruby-comment cmt"># puts &quot;#{total_extents_needed} extents needed&quot;
25
+ <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;#{total_blocks_needed} free blocks required, only #{free_blocks.length} available&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">total_blocks_needed</span><span class="ruby-operator">&lt;=</span><span class="ruby-identifier">free_blocks</span>.<span class="ruby-identifier">length</span>
26
+ <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;#{total_extents_needed} free directory entries required, only #{free_directory_entries.length} available&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">total_extents_needed</span><span class="ruby-operator">&lt;=</span><span class="ruby-identifier">free_directory_entries</span>.<span class="ruby-identifier">length</span>
15
27
  <span class="ruby-identifier">catalog</span>=<span class="ruby-identifier">get_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">0</span>)<span class="ruby-operator">+</span><span class="ruby-identifier">get_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">1</span>)
16
- (<span class="ruby-identifier">partial_filename</span>,<span class="ruby-identifier">file_ext</span>)=<span class="ruby-constant">CPMFile</span>.<span class="ruby-identifier">split_filename</span>(<span class="ruby-identifier">full_filename</span>)
17
- <span class="ruby-value">0</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-value">63</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dir_entry_no</span><span class="ruby-operator">|</span>
18
- <span class="ruby-identifier">dir_entry_start</span>=<span class="ruby-identifier">dir_entry_no</span><span class="ruby-operator">*</span><span class="ruby-value">0x20</span>
19
- <span class="ruby-identifier">dir_entry</span>=<span class="ruby-identifier">catalog</span>[<span class="ruby-identifier">dir_entry_start</span><span class="ruby-operator">..</span><span class="ruby-identifier">dir_entry_start</span><span class="ruby-operator">+</span><span class="ruby-value">0x1</span><span class="ruby-constant">F</span>]
20
- <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">partial_filename</span><span class="ruby-operator">==</span><span class="ruby-identifier">dir_entry</span>[<span class="ruby-value">0x01</span><span class="ruby-operator">..</span><span class="ruby-value">0x08</span>].<span class="ruby-identifier">gsub</span>(<span class="ruby-value str">' '</span>,<span class="ruby-value str">''</span>)) <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-identifier">file_ext</span><span class="ruby-operator">==</span><span class="ruby-identifier">dir_entry</span>[<span class="ruby-value">0x09</span><span class="ruby-operator">..</span><span class="ruby-value">0x0</span><span class="ruby-constant">B</span>].<span class="ruby-identifier">gsub</span>(<span class="ruby-value str">' '</span>,<span class="ruby-value str">''</span>))
21
- <span class="ruby-comment cmt">#we found a matching filename, so set the 'user number' field to a 'blank' entry
22
- <span class="ruby-identifier">catalog</span>[<span class="ruby-identifier">dir_entry_start</span>]=<span class="ruby-value">0x</span><span class="ruby-constant">E5</span>
28
+ <span class="ruby-identifier">padded_file_contents</span>=<span class="ruby-identifier">file_contents</span><span class="ruby-operator">+</span>(<span class="ruby-value">0x1</span><span class="ruby-constant">A</span>.<span class="ruby-identifier">chr</span><span class="ruby-operator">*</span><span class="ruby-constant">BLOCK_SIZE</span>)
29
+
30
+ <span class="ruby-identifier">total_extents_needed</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">extent_no</span><span class="ruby-operator">|</span>
31
+ <span class="ruby-identifier">records_this_extent</span>=(<span class="ruby-identifier">extent_no</span><span class="ruby-operator">==</span>(<span class="ruby-identifier">total_extents_needed</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>) <span class="ruby-operator">?</span> (<span class="ruby-identifier">total_record_count</span> <span class="ruby-operator">%</span> <span class="ruby-constant">RECORDS_PER_EXTENT</span>)<span class="ruby-operator">:</span><span class="ruby-constant">RECORDS_PER_EXTENT</span>)
32
+ <span class="ruby-identifier">blocks_this_extent</span>=(<span class="ruby-identifier">records_this_extent</span><span class="ruby-operator">/</span><span class="ruby-constant">RECORDS_PER_BLOCK</span>.<span class="ruby-identifier">to_f</span>).<span class="ruby-identifier">ceil</span>
33
+ <span class="ruby-identifier">blocks_used</span>=[<span class="ruby-value">0</span>]<span class="ruby-operator">*</span><span class="ruby-constant">BLOCKS_PER_EXTENT</span>
34
+ <span class="ruby-identifier">first_record_this_extent</span>=<span class="ruby-identifier">extent_no</span><span class="ruby-operator">*</span><span class="ruby-constant">RECORDS_PER_EXTENT</span>
35
+ <span class="ruby-identifier">contents_this_extent</span>=<span class="ruby-identifier">padded_file_contents</span>[(<span class="ruby-identifier">first_record_this_extent</span><span class="ruby-operator">*</span><span class="ruby-constant">RECORD_SIZE</span>),<span class="ruby-identifier">blocks_this_extent</span><span class="ruby-operator">*</span><span class="ruby-constant">BLOCK_SIZE</span>]
36
+
37
+ <span class="ruby-identifier">blocks_this_extent</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">block_no</span><span class="ruby-operator">|</span>
38
+ <span class="ruby-identifier">this_block</span>=<span class="ruby-identifier">free_blocks</span>[<span class="ruby-identifier">block_no</span><span class="ruby-operator">+</span>(<span class="ruby-identifier">extent_no</span><span class="ruby-operator">*</span><span class="ruby-constant">BLOCKS_PER_EXTENT</span>)]
39
+ <span class="ruby-identifier">set_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-identifier">this_block</span>,<span class="ruby-identifier">contents_this_extent</span>[<span class="ruby-identifier">block_no</span><span class="ruby-operator">*</span><span class="ruby-constant">BLOCK_SIZE</span>,<span class="ruby-constant">BLOCK_SIZE</span>])
40
+ <span class="ruby-identifier">blocks_used</span>[<span class="ruby-identifier">block_no</span>]=<span class="ruby-identifier">this_block</span>
23
41
  <span class="ruby-keyword kw">end</span>
42
+ <span class="ruby-identifier">dir_entry_no</span>=<span class="ruby-identifier">free_directory_entries</span>[<span class="ruby-identifier">extent_no</span>]
43
+ <span class="ruby-identifier">dir_entry_start</span>=<span class="ruby-identifier">dir_entry_no</span><span class="ruby-operator">*</span><span class="ruby-value">0x20</span>
44
+ <span class="ruby-identifier">dir_entry</span>=[<span class="ruby-value">0</span>,<span class="ruby-identifier">partial_filename</span>,<span class="ruby-identifier">file_type</span>,<span class="ruby-identifier">extent_no</span>,<span class="ruby-value">0</span>,<span class="ruby-value">0</span>,<span class="ruby-identifier">records_this_extent</span>,<span class="ruby-identifier">blocks_used</span>].<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">pack</span>(<span class="ruby-value str">&quot;CA8A3C4C16&quot;</span>)
45
+ <span class="ruby-identifier">catalog</span>[<span class="ruby-identifier">dir_entry_start</span>,<span class="ruby-value">0x20</span>]=<span class="ruby-identifier">dir_entry</span>
46
+ <span class="ruby-comment cmt"># puts &quot;dir entry # #{dir_entry_no}&quot;
24
47
  <span class="ruby-keyword kw">end</span>
25
48
 
26
49
  <span class="ruby-identifier">set_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">0</span>,<span class="ruby-identifier">catalog</span>[<span class="ruby-value">0</span>,<span class="ruby-constant">BLOCK_SIZE</span>])
27
50
  <span class="ruby-identifier">set_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">1</span>,<span class="ruby-identifier">catalog</span>[<span class="ruby-constant">BLOCK_SIZE</span>,<span class="ruby-constant">BLOCK_SIZE</span>])
51
+
52
+ <span class="ruby-identifier">native_file</span>=<span class="ruby-identifier">files</span>(<span class="ruby-identifier">file_system_image</span>)[<span class="ruby-identifier">full_filename</span>]
53
+ <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;error: file should now be in catalog\n #{file_system_image.catalog}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">native_file</span>.<span class="ruby-identifier">nil?</span>
54
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">native_file</span>
28
55
  <span class="ruby-keyword kw">end</span></pre>
29
56
  </body>
30
57
  </html>
@@ -0,0 +1,30 @@
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 (AppleCPM)</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/AppleCPM.rb, line 172</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">full_filename</span>)
15
+ <span class="ruby-identifier">catalog</span>=<span class="ruby-identifier">get_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">0</span>)<span class="ruby-operator">+</span><span class="ruby-identifier">get_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">1</span>)
16
+ (<span class="ruby-identifier">partial_filename</span>,<span class="ruby-identifier">file_ext</span>)=<span class="ruby-constant">CPMFile</span>.<span class="ruby-identifier">split_filename</span>(<span class="ruby-identifier">full_filename</span>)
17
+ <span class="ruby-value">0</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-value">63</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dir_entry_no</span><span class="ruby-operator">|</span>
18
+ <span class="ruby-identifier">dir_entry_start</span>=<span class="ruby-identifier">dir_entry_no</span><span class="ruby-operator">*</span><span class="ruby-value">0x20</span>
19
+ <span class="ruby-identifier">dir_entry</span>=<span class="ruby-identifier">catalog</span>[<span class="ruby-identifier">dir_entry_start</span><span class="ruby-operator">..</span><span class="ruby-identifier">dir_entry_start</span><span class="ruby-operator">+</span><span class="ruby-value">0x1</span><span class="ruby-constant">F</span>]
20
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">partial_filename</span><span class="ruby-operator">==</span><span class="ruby-identifier">dir_entry</span>[<span class="ruby-value">0x01</span><span class="ruby-operator">..</span><span class="ruby-value">0x08</span>].<span class="ruby-identifier">gsub</span>(<span class="ruby-value str">' '</span>,<span class="ruby-value str">''</span>)) <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-identifier">file_ext</span><span class="ruby-operator">==</span><span class="ruby-identifier">dir_entry</span>[<span class="ruby-value">0x09</span><span class="ruby-operator">..</span><span class="ruby-value">0x0</span><span class="ruby-constant">B</span>].<span class="ruby-identifier">gsub</span>(<span class="ruby-value str">' '</span>,<span class="ruby-value str">''</span>))
21
+ <span class="ruby-comment cmt">#we found a matching filename, so set the 'user number' field to a 'blank' entry
22
+ <span class="ruby-identifier">catalog</span>[<span class="ruby-identifier">dir_entry_start</span>]=<span class="ruby-value">0x</span><span class="ruby-constant">E5</span>
23
+ <span class="ruby-keyword kw">end</span>
24
+ <span class="ruby-keyword kw">end</span>
25
+
26
+ <span class="ruby-identifier">set_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">0</span>,<span class="ruby-identifier">catalog</span>[<span class="ruby-value">0</span>,<span class="ruby-constant">BLOCK_SIZE</span>])
27
+ <span class="ruby-identifier">set_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">1</span>,<span class="ruby-identifier">catalog</span>[<span class="ruby-constant">BLOCK_SIZE</span>,<span class="ruby-constant">BLOCK_SIZE</span>])
28
+ <span class="ruby-keyword kw">end</span></pre>
29
+ </body>
30
+ </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>host_system (AppleCPM)</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/AppleCPM.rb, line 11</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">host_system</span>
15
+ <span class="ruby-constant">Apple2</span>
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>matching_score (AppleCPM)</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/AppleCPM.rb, line 15</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">matching_score</span>
15
+ <span class="ruby-value">20</span>
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,21 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>get_block (AppleCPM)</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/AppleCPM.rb, line 32</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">get_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-identifier">block_no</span>)
15
+ <span class="ruby-identifier">track_no</span>= ((<span class="ruby-identifier">block_no</span><span class="ruby-operator">/</span><span class="ruby-value">4</span>)<span class="ruby-operator">+</span><span class="ruby-value">3</span>)<span class="ruby-operator">%</span><span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">track_count</span>
16
+ <span class="ruby-identifier">s</span>=<span class="ruby-value str">&quot;&quot;</span>
17
+ <span class="ruby-constant">SECTORS_IN_BLOCK</span>[<span class="ruby-identifier">block_no</span><span class="ruby-operator">%</span><span class="ruby-value">4</span>].<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">sector_no</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span><span class="ruby-operator">+=</span><span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">get_sector</span>(<span class="ruby-identifier">track_no</span>,<span class="ruby-identifier">sector_no</span>)}
18
+ <span class="ruby-identifier">s</span>
19
+ <span class="ruby-keyword kw">end</span></pre>
20
+ </body>
21
+ </html>
@@ -0,0 +1,23 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>set_block (AppleCPM)</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/AppleCPM.rb, line 39</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">set_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-identifier">block_no</span>,<span class="ruby-identifier">contents</span>)
15
+ <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;invalid block #{block_no} - length was #{contents.length}&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">contents</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">==</span><span class="ruby-constant">BLOCK_SIZE</span>
16
+ <span class="ruby-identifier">track_no</span>=(<span class="ruby-identifier">block_no</span><span class="ruby-operator">/</span><span class="ruby-value">4</span>)<span class="ruby-operator">+</span><span class="ruby-value">3</span>
17
+ <span class="ruby-value">0</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-value">3</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
18
+ <span class="ruby-identifier">sector_no</span>=<span class="ruby-constant">SECTORS_IN_BLOCK</span>[<span class="ruby-identifier">block_no</span><span class="ruby-operator">%</span><span class="ruby-value">4</span>][<span class="ruby-identifier">i</span>]
19
+ <span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">set_sector</span>(<span class="ruby-identifier">track_no</span>,<span class="ruby-identifier">sector_no</span>,<span class="ruby-identifier">contents</span>[(<span class="ruby-identifier">i</span><span class="ruby-operator">*</span><span class="ruby-value">256</span>),<span class="ruby-value">256</span>])
20
+ <span class="ruby-keyword kw">end</span>
21
+ <span class="ruby-keyword kw">end</span></pre>
22
+ </body>
23
+ </html>
@@ -0,0 +1,40 @@
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 (AppleCPM)</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/AppleCPM.rb, line 81</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">catalog</span>=<span class="ruby-identifier">get_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">0</span>)<span class="ruby-operator">+</span><span class="ruby-identifier">get_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">1</span>)
17
+ <span class="ruby-value">0</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-value">63</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dir_entry_no</span><span class="ruby-operator">|</span>
18
+ <span class="ruby-identifier">dir_entry_start</span>=<span class="ruby-identifier">dir_entry_no</span><span class="ruby-operator">*</span><span class="ruby-value">0x20</span>
19
+ <span class="ruby-identifier">dir_entry</span>=<span class="ruby-identifier">catalog</span>[<span class="ruby-identifier">dir_entry_start</span><span class="ruby-operator">..</span><span class="ruby-identifier">dir_entry_start</span><span class="ruby-operator">+</span><span class="ruby-value">0x1</span><span class="ruby-constant">F</span>]
20
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">dir_entry</span>[<span class="ruby-value">0</span>]<span class="ruby-operator">&lt;</span><span class="ruby-value">0x10</span>) <span class="ruby-keyword kw">then</span>
21
+ <span class="ruby-identifier">file_name</span>=<span class="ruby-identifier">dir_entry</span>[<span class="ruby-value">0x01</span><span class="ruby-operator">..</span><span class="ruby-value">0x08</span>].<span class="ruby-identifier">gsub</span>(<span class="ruby-value str">' '</span>,<span class="ruby-value str">''</span>)
22
+ <span class="ruby-identifier">file_ext</span>=<span class="ruby-identifier">dir_entry</span>[<span class="ruby-value">0x09</span><span class="ruby-operator">..</span><span class="ruby-value">0x0</span><span class="ruby-constant">B</span>].<span class="ruby-identifier">gsub</span>(<span class="ruby-value str">' '</span>,<span class="ruby-value str">''</span>)
23
+ <span class="ruby-identifier">full_filename</span>=<span class="ruby-node">&quot;#{file_name}.#{file_ext}&quot;</span>
24
+ <span class="ruby-identifier">files</span><span class="ruby-operator">&lt;&lt;</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">full_filename</span>,<span class="ruby-value str">''</span>,<span class="ruby-identifier">file_ext</span>)
25
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">files</span>[<span class="ruby-identifier">full_filename</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-keyword kw">then</span>
26
+ <span class="ruby-identifier">files</span><span class="ruby-operator">&lt;&lt;</span><span class="ruby-identifier">file</span>
27
+ <span class="ruby-keyword kw">end</span>
28
+ <span class="ruby-identifier">s</span>=<span class="ruby-value str">&quot;&quot;</span>
29
+ <span class="ruby-value">0x10</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-value">0x1f</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
30
+ <span class="ruby-identifier">block</span>=<span class="ruby-identifier">dir_entry</span>[<span class="ruby-identifier">i</span>]
31
+ <span class="ruby-identifier">s</span><span class="ruby-operator">+=</span><span class="ruby-identifier">get_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-identifier">block</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">block</span><span class="ruby-operator">==</span><span class="ruby-value">0</span>
32
+ <span class="ruby-keyword kw">end</span>
33
+ <span class="ruby-identifier">records_allocated</span>=<span class="ruby-identifier">dir_entry</span>[<span class="ruby-value">0x0</span><span class="ruby-constant">F</span>]
34
+ <span class="ruby-identifier">files</span>[<span class="ruby-identifier">full_filename</span>].<span class="ruby-identifier">contents</span><span class="ruby-operator">+=</span><span class="ruby-identifier">s</span>[<span class="ruby-value">0</span>,(<span class="ruby-identifier">records_allocated</span><span class="ruby-operator">*</span><span class="ruby-value">128</span>)]
35
+ <span class="ruby-keyword kw">end</span>
36
+ <span class="ruby-keyword kw">end</span>
37
+ <span class="ruby-identifier">files</span>
38
+ <span class="ruby-keyword kw">end</span></pre>
39
+ </body>
40
+ </html>
@@ -0,0 +1,35 @@
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_space (AppleCPM)</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/AppleCPM.rb, line 107</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">find_free_space</span>(<span class="ruby-identifier">file_system_image</span>)
15
+ <span class="ruby-identifier">free_blocks</span>=[]
16
+ <span class="ruby-identifier">free_directory_entries</span>=[]
17
+ <span class="ruby-comment cmt">#first two blocks are where the catalog lives
18
+ (<span class="ruby-value">2</span><span class="ruby-operator">..</span>((<span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">track_count</span><span class="ruby-operator">-</span><span class="ruby-value">3</span>)<span class="ruby-operator">*</span><span class="ruby-value">4</span>)<span class="ruby-operator">-</span><span class="ruby-value">1</span>).<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">block</span><span class="ruby-operator">|</span> <span class="ruby-identifier">free_blocks</span><span class="ruby-operator">&lt;&lt;</span><span class="ruby-identifier">block</span>}
19
+ <span class="ruby-identifier">catalog</span>=<span class="ruby-identifier">get_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">0</span>)<span class="ruby-operator">+</span><span class="ruby-identifier">get_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">1</span>)
20
+ <span class="ruby-value">0</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-value">63</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dir_entry_no</span><span class="ruby-operator">|</span>
21
+ <span class="ruby-identifier">dir_entry_start</span>=<span class="ruby-identifier">dir_entry_no</span><span class="ruby-operator">*</span><span class="ruby-value">0x20</span>
22
+ <span class="ruby-identifier">dir_entry</span>=<span class="ruby-identifier">catalog</span>[<span class="ruby-identifier">dir_entry_start</span><span class="ruby-operator">..</span><span class="ruby-identifier">dir_entry_start</span><span class="ruby-operator">+</span><span class="ruby-value">0x1</span><span class="ruby-constant">F</span>]
23
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">dir_entry</span>[<span class="ruby-value">0</span>]<span class="ruby-operator">&lt;</span><span class="ruby-value">0x10</span>) <span class="ruby-keyword kw">then</span>
24
+ <span class="ruby-value">0x10</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-value">0x1f</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
25
+ <span class="ruby-identifier">block</span>=<span class="ruby-identifier">dir_entry</span>[<span class="ruby-identifier">i</span>]
26
+ <span class="ruby-identifier">free_blocks</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">block</span>)
27
+ <span class="ruby-keyword kw">end</span>
28
+ <span class="ruby-keyword kw">else</span>
29
+ <span class="ruby-identifier">free_directory_entries</span><span class="ruby-operator">&lt;&lt;</span><span class="ruby-identifier">dir_entry_no</span>
30
+ <span class="ruby-keyword kw">end</span>
31
+ <span class="ruby-keyword kw">end</span>
32
+ [<span class="ruby-identifier">free_blocks</span>,<span class="ruby-identifier">free_directory_entries</span>]
33
+ <span class="ruby-keyword kw">end</span></pre>
34
+ </body>
35
+ </html>
@@ -0,0 +1,57 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>add_file (AppleCPM)</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/AppleCPM.rb, line 129</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">full_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-identifier">raise</span> <span class="ruby-node">&quot;#{native_filetype_class} not supported on Apple CPM 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>
16
+ <span class="ruby-identifier">partial_filename</span>,<span class="ruby-identifier">file_type</span>=<span class="ruby-constant">CPMFile</span>.<span class="ruby-identifier">split_filename</span>(<span class="ruby-identifier">full_filename</span>)
17
+ <span class="ruby-identifier">full_filename</span> =<span class="ruby-node">&quot;#{partial_filename}.#{file_type}&quot;</span>
18
+ <span class="ruby-comment cmt"># puts &quot;#{full_filename},#{partial_filename},#{file_type}&quot;
19
+ <span class="ruby-identifier">delete_file</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-identifier">full_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">full_filename</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-comment cmt">#so we can overwrite the file if it already exists
20
+ <span class="ruby-identifier">free_blocks</span>,<span class="ruby-identifier">free_directory_entries</span>=<span class="ruby-identifier">find_free_space</span>(<span class="ruby-identifier">file_system_image</span>)
21
+ <span class="ruby-identifier">total_record_count</span>=(<span class="ruby-identifier">file_contents</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">/</span><span class="ruby-constant">RECORD_SIZE</span>.<span class="ruby-identifier">to_f</span>).<span class="ruby-identifier">ceil</span>
22
+ <span class="ruby-identifier">total_blocks_needed</span>=(<span class="ruby-identifier">total_record_count</span><span class="ruby-operator">/</span><span class="ruby-constant">RECORDS_PER_BLOCK</span>.<span class="ruby-identifier">to_f</span>).<span class="ruby-identifier">ceil</span>
23
+ <span class="ruby-identifier">total_extents_needed</span>=(<span class="ruby-identifier">total_blocks_needed</span><span class="ruby-operator">/</span><span class="ruby-constant">BLOCKS_PER_EXTENT</span>.<span class="ruby-identifier">to_f</span>).<span class="ruby-identifier">ceil</span>
24
+ <span class="ruby-comment cmt"># puts &quot;#{total_extents_needed} extents needed&quot;
25
+ <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;#{total_blocks_needed} free blocks required, only #{free_blocks.length} available&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">total_blocks_needed</span><span class="ruby-operator">&lt;=</span><span class="ruby-identifier">free_blocks</span>.<span class="ruby-identifier">length</span>
26
+ <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;#{total_extents_needed} free directory entries required, only #{free_directory_entries.length} available&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">total_extents_needed</span><span class="ruby-operator">&lt;=</span><span class="ruby-identifier">free_directory_entries</span>.<span class="ruby-identifier">length</span>
27
+ <span class="ruby-identifier">catalog</span>=<span class="ruby-identifier">get_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">0</span>)<span class="ruby-operator">+</span><span class="ruby-identifier">get_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">1</span>)
28
+ <span class="ruby-identifier">padded_file_contents</span>=<span class="ruby-identifier">file_contents</span><span class="ruby-operator">+</span>(<span class="ruby-value">0x1</span><span class="ruby-constant">A</span>.<span class="ruby-identifier">chr</span><span class="ruby-operator">*</span><span class="ruby-constant">BLOCK_SIZE</span>)
29
+
30
+ <span class="ruby-identifier">total_extents_needed</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">extent_no</span><span class="ruby-operator">|</span>
31
+ <span class="ruby-identifier">records_this_extent</span>=(<span class="ruby-identifier">extent_no</span><span class="ruby-operator">==</span>(<span class="ruby-identifier">total_extents_needed</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>) <span class="ruby-operator">?</span> (<span class="ruby-identifier">total_record_count</span> <span class="ruby-operator">%</span> <span class="ruby-constant">RECORDS_PER_EXTENT</span>)<span class="ruby-operator">:</span><span class="ruby-constant">RECORDS_PER_EXTENT</span>)
32
+ <span class="ruby-identifier">blocks_this_extent</span>=(<span class="ruby-identifier">records_this_extent</span><span class="ruby-operator">/</span><span class="ruby-constant">RECORDS_PER_BLOCK</span>.<span class="ruby-identifier">to_f</span>).<span class="ruby-identifier">ceil</span>
33
+ <span class="ruby-identifier">blocks_used</span>=[<span class="ruby-value">0</span>]<span class="ruby-operator">*</span><span class="ruby-constant">BLOCKS_PER_EXTENT</span>
34
+ <span class="ruby-identifier">first_record_this_extent</span>=<span class="ruby-identifier">extent_no</span><span class="ruby-operator">*</span><span class="ruby-constant">RECORDS_PER_EXTENT</span>
35
+ <span class="ruby-identifier">contents_this_extent</span>=<span class="ruby-identifier">padded_file_contents</span>[(<span class="ruby-identifier">first_record_this_extent</span><span class="ruby-operator">*</span><span class="ruby-constant">RECORD_SIZE</span>),<span class="ruby-identifier">blocks_this_extent</span><span class="ruby-operator">*</span><span class="ruby-constant">BLOCK_SIZE</span>]
36
+
37
+ <span class="ruby-identifier">blocks_this_extent</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">block_no</span><span class="ruby-operator">|</span>
38
+ <span class="ruby-identifier">this_block</span>=<span class="ruby-identifier">free_blocks</span>[<span class="ruby-identifier">block_no</span><span class="ruby-operator">+</span>(<span class="ruby-identifier">extent_no</span><span class="ruby-operator">*</span><span class="ruby-constant">BLOCKS_PER_EXTENT</span>)]
39
+ <span class="ruby-identifier">set_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-identifier">this_block</span>,<span class="ruby-identifier">contents_this_extent</span>[<span class="ruby-identifier">block_no</span><span class="ruby-operator">*</span><span class="ruby-constant">BLOCK_SIZE</span>,<span class="ruby-constant">BLOCK_SIZE</span>])
40
+ <span class="ruby-identifier">blocks_used</span>[<span class="ruby-identifier">block_no</span>]=<span class="ruby-identifier">this_block</span>
41
+ <span class="ruby-keyword kw">end</span>
42
+ <span class="ruby-identifier">dir_entry_no</span>=<span class="ruby-identifier">free_directory_entries</span>[<span class="ruby-identifier">extent_no</span>]
43
+ <span class="ruby-identifier">dir_entry_start</span>=<span class="ruby-identifier">dir_entry_no</span><span class="ruby-operator">*</span><span class="ruby-value">0x20</span>
44
+ <span class="ruby-identifier">dir_entry</span>=[<span class="ruby-value">0</span>,<span class="ruby-identifier">partial_filename</span>,<span class="ruby-identifier">file_type</span>,<span class="ruby-identifier">extent_no</span>,<span class="ruby-value">0</span>,<span class="ruby-value">0</span>,<span class="ruby-identifier">records_this_extent</span>,<span class="ruby-identifier">blocks_used</span>].<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">pack</span>(<span class="ruby-value str">&quot;CA8A3C4C16&quot;</span>)
45
+ <span class="ruby-identifier">catalog</span>[<span class="ruby-identifier">dir_entry_start</span>,<span class="ruby-value">0x20</span>]=<span class="ruby-identifier">dir_entry</span>
46
+ <span class="ruby-comment cmt"># puts &quot;dir entry # #{dir_entry_no}&quot;
47
+ <span class="ruby-keyword kw">end</span>
48
+
49
+ <span class="ruby-identifier">set_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">0</span>,<span class="ruby-identifier">catalog</span>[<span class="ruby-value">0</span>,<span class="ruby-constant">BLOCK_SIZE</span>])
50
+ <span class="ruby-identifier">set_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">1</span>,<span class="ruby-identifier">catalog</span>[<span class="ruby-constant">BLOCK_SIZE</span>,<span class="ruby-constant">BLOCK_SIZE</span>])
51
+
52
+ <span class="ruby-identifier">native_file</span>=<span class="ruby-identifier">files</span>(<span class="ruby-identifier">file_system_image</span>)[<span class="ruby-identifier">full_filename</span>]
53
+ <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;error: file should now be in catalog\n #{file_system_image.catalog}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">native_file</span>.<span class="ruby-identifier">nil?</span>
54
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">native_file</span>
55
+ <span class="ruby-keyword kw">end</span></pre>
56
+ </body>
57
+ </html>