ripxplore 0.11.0 → 0.12.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 (559) hide show
  1. data/doc/classes/A2Dsk.html +35 -35
  2. data/doc/classes/A2Dsk.src/M000346.html +18 -0
  3. data/doc/classes/A2Dsk.src/M000347.html +4 -4
  4. data/doc/classes/A2Dsk.src/M000348.html +4 -4
  5. data/doc/classes/A2Dsk.src/M000349.html +4 -4
  6. data/doc/classes/A2Dsk.src/M000350.html +4 -4
  7. data/doc/classes/A2Dsk.src/M000351.html +8 -4
  8. data/doc/classes/A2Dsk.src/M000352.html +7 -6
  9. data/doc/classes/A2DskDosOrder.html +5 -5
  10. data/doc/classes/A2DskDosOrder.src/M000503.html +18 -0
  11. data/doc/classes/A2DskDosOrder.src/M000504.html +18 -0
  12. data/doc/classes/A2DskPhysicalOrder.html +5 -5
  13. data/doc/classes/A2DskPhysicalOrder.src/M000160.html +18 -0
  14. data/doc/classes/A2WriteTests.html +10 -10
  15. data/doc/classes/A2WriteTests.src/M000218.html +42 -0
  16. data/doc/classes/A2WriteTests.src/M000219.html +47 -22
  17. data/doc/classes/AppleBinary.html +20 -20
  18. data/doc/classes/AppleBinary.src/M000317.html +20 -0
  19. data/doc/classes/AppleBinary.src/M000318.html +4 -6
  20. data/doc/classes/AppleBinary.src/M000319.html +4 -4
  21. data/doc/classes/AppleBinary.src/M000320.html +4 -4
  22. data/doc/classes/AppleCPM.html +40 -40
  23. data/doc/classes/AppleCPM.src/M000395.html +4 -4
  24. data/doc/classes/AppleCPM.src/M000396.html +5 -8
  25. data/doc/classes/AppleCPM.src/M000397.html +7 -9
  26. data/doc/classes/AppleCPM.src/M000398.html +10 -27
  27. data/doc/classes/AppleCPM.src/M000399.html +16 -11
  28. data/doc/classes/AppleCPM.src/M000400.html +21 -43
  29. data/doc/classes/AppleCPM.src/M000401.html +37 -10
  30. data/doc/classes/AppleCPM.src/M000402.html +30 -0
  31. data/doc/classes/AppleCPM.src/M000403.html +30 -0
  32. data/doc/classes/AppleDos.html +55 -55
  33. data/doc/classes/AppleDos.src/M000242.html +18 -0
  34. data/doc/classes/AppleDos.src/M000243.html +4 -4
  35. data/doc/classes/AppleDos.src/M000244.html +4 -4
  36. data/doc/classes/AppleDos.src/M000245.html +59 -4
  37. data/doc/classes/AppleDos.src/M000246.html +83 -58
  38. data/doc/classes/AppleDos.src/M000247.html +14 -84
  39. data/doc/classes/AppleDos.src/M000248.html +18 -12
  40. data/doc/classes/AppleDos.src/M000249.html +21 -18
  41. data/doc/classes/AppleDos.src/M000250.html +14 -20
  42. data/doc/classes/AppleDos.src/M000251.html +13 -17
  43. data/doc/classes/AppleDos.src/M000252.html +27 -11
  44. data/doc/classes/AppleDosPic.html +20 -20
  45. data/doc/classes/AppleDosPic.src/M000156.html +6 -4
  46. data/doc/classes/AppleDosPic.src/M000157.html +5 -7
  47. data/doc/classes/AppleDosPic.src/M000158.html +5 -5
  48. data/doc/classes/AppleDosPic.src/M000159.html +4 -4
  49. data/doc/classes/AppleHiResPic.html +40 -40
  50. data/doc/classes/AppleHiResPic.src/M000441.html +5 -5
  51. data/doc/classes/AppleHiResPic.src/M000442.html +4 -4
  52. data/doc/classes/AppleHiResPic.src/M000443.html +4 -38
  53. data/doc/classes/AppleHiResPic.src/M000444.html +38 -4
  54. data/doc/classes/AppleHiResPic.src/M000445.html +4 -4
  55. data/doc/classes/AppleHiResPic.src/M000446.html +4 -4
  56. data/doc/classes/AppleHiResPic.src/M000447.html +4 -4
  57. data/doc/classes/AppleHiResPic.src/M000448.html +18 -0
  58. data/doc/classes/AppleHiResPic.src/M000449.html +18 -0
  59. data/doc/classes/ApplePrintShopMiniPix.html +20 -20
  60. data/doc/classes/ApplePrintShopMiniPix.src/M000538.html +24 -4
  61. data/doc/classes/ApplePrintShopMiniPix.src/M000539.html +18 -0
  62. data/doc/classes/ApplePrintShopMiniPix.src/M000540.html +18 -0
  63. data/doc/classes/ApplePrintShopMiniPix.src/M000541.html +18 -0
  64. data/doc/classes/ApplePrintShopMiniPix.src/M000542.html +18 -0
  65. data/doc/classes/AppleText.html +15 -15
  66. data/doc/classes/AppleText.src/M000210.html +21 -0
  67. data/doc/classes/AppleText.src/M000211.html +6 -7
  68. data/doc/classes/AppleText.src/M000212.html +9 -6
  69. data/doc/classes/AppleWorksWP.html +10 -10
  70. data/doc/classes/AppleWorksWP.src/M000504.html +20 -0
  71. data/doc/classes/AppleWorksWP.src/M000505.html +45 -0
  72. data/doc/classes/AppleWorksWP.src/M000506.html +45 -0
  73. data/doc/classes/Applesoft.html +10 -10
  74. data/doc/classes/Applesoft.src/M000418.html +8 -62
  75. data/doc/classes/Applesoft.src/M000419.html +75 -0
  76. data/doc/classes/Applesoft.src/M000420.html +75 -0
  77. data/doc/classes/Atari800.html +65 -65
  78. data/doc/classes/Atari800.src/M000357.html +18 -0
  79. data/doc/classes/Atari800.src/M000358.html +9 -4
  80. data/doc/classes/Atari800.src/M000359.html +4 -9
  81. data/doc/classes/Atari800.src/M000360.html +5 -4
  82. data/doc/classes/Atari800.src/M000361.html +4 -5
  83. data/doc/classes/Atari800.src/M000362.html +4 -4
  84. data/doc/classes/Atari800.src/M000363.html +4 -4
  85. data/doc/classes/Atari800.src/M000364.html +4 -4
  86. data/doc/classes/Atari800.src/M000365.html +3 -3
  87. data/doc/classes/Atari800.src/M000366.html +4 -4
  88. data/doc/classes/Atari800.src/M000367.html +3 -3
  89. data/doc/classes/Atari800.src/M000368.html +4 -4
  90. data/doc/classes/Atari800.src/M000369.html +4 -4
  91. data/doc/classes/AtariBasic.html +10 -10
  92. data/doc/classes/AtariBasic.src/M000277.html +20 -0
  93. data/doc/classes/AtariBasic.src/M000278.html +94 -6
  94. data/doc/classes/AtariDos.html +10 -10
  95. data/doc/classes/AtariDos.src/M000407.html +4 -29
  96. data/doc/classes/AtariDos.src/M000408.html +43 -0
  97. data/doc/classes/AtariDos.src/M000409.html +43 -0
  98. data/doc/classes/AtariText.html +10 -10
  99. data/doc/classes/AtariText.src/M000331.html +20 -0
  100. data/doc/classes/AtariText.src/M000332.html +4 -6
  101. data/doc/classes/Atr.html +35 -35
  102. data/doc/classes/Atr.src/M000235.html +18 -0
  103. data/doc/classes/Atr.src/M000236.html +4 -4
  104. data/doc/classes/Atr.src/M000237.html +5 -4
  105. data/doc/classes/Atr.src/M000238.html +4 -5
  106. data/doc/classes/Atr.src/M000239.html +4 -4
  107. data/doc/classes/Atr.src/M000240.html +5 -4
  108. data/doc/classes/Atr.src/M000241.html +5 -5
  109. data/doc/classes/C64.html +105 -105
  110. data/doc/classes/C64.src/M000517.html +4 -6
  111. data/doc/classes/C64.src/M000518.html +4 -8
  112. data/doc/classes/C64.src/M000519.html +16 -7
  113. data/doc/classes/C64.src/M000520.html +6 -5
  114. data/doc/classes/C64.src/M000521.html +8 -5
  115. data/doc/classes/C64.src/M000522.html +8 -4
  116. data/doc/classes/C64.src/M000523.html +5 -4
  117. data/doc/classes/C64.src/M000524.html +5 -4
  118. data/doc/classes/C64.src/M000525.html +4 -4
  119. data/doc/classes/C64.src/M000526.html +4 -4
  120. data/doc/classes/C64.src/M000527.html +4 -4
  121. data/doc/classes/C64.src/M000528.html +4 -4
  122. data/doc/classes/C64.src/M000529.html +4 -5
  123. data/doc/classes/C64.src/M000530.html +4 -5
  124. data/doc/classes/C64.src/M000531.html +4 -4
  125. data/doc/classes/C64.src/M000532.html +5 -4
  126. data/doc/classes/C64.src/M000533.html +5 -55
  127. data/doc/classes/C64.src/M000534.html +4 -99
  128. data/doc/classes/C64.src/M000535.html +18 -0
  129. data/doc/classes/C64.src/M000536.html +69 -0
  130. data/doc/classes/C64.src/M000537.html +113 -0
  131. data/doc/classes/C64.src/M000538.html +113 -0
  132. data/doc/classes/C64GeoPaintPic.html +30 -30
  133. data/doc/classes/C64GeoPaintPic.src/M000412.html +4 -4
  134. data/doc/classes/C64GeoPaintPic.src/M000413.html +4 -4
  135. data/doc/classes/C64GeoPaintPic.src/M000414.html +4 -52
  136. data/doc/classes/C64GeoPaintPic.src/M000415.html +50 -27
  137. data/doc/classes/C64GeoPaintPic.src/M000416.html +29 -6
  138. data/doc/classes/C64GeoPaintPic.src/M000417.html +20 -0
  139. data/doc/classes/C64GeoPaintPic.src/M000418.html +20 -0
  140. data/doc/classes/C64GeosBASICFile.html +10 -10
  141. data/doc/classes/C64GeosBASICFile.src/M000289.html +19 -0
  142. data/doc/classes/C64GeosBASICFile.src/M000290.html +4 -5
  143. data/doc/classes/C64GeosBASICFile.src/M000291.html +1 -1
  144. data/doc/classes/C64GeosFile.html +30 -47
  145. data/doc/classes/C64GeosFile.src/M000140.html +1 -1
  146. data/doc/classes/C64GeosFile.src/M000141.html +1 -1
  147. data/doc/classes/C64GeosFile.src/M000142.html +1 -1
  148. data/doc/classes/C64GeosFile.src/M000143.html +4 -6
  149. data/doc/classes/C64GeosFile.src/M000144.html +8 -4
  150. data/doc/classes/C64GeosFile.src/M000145.html +4 -8
  151. data/doc/classes/C64GeosFile.src/M000146.html +8 -4
  152. data/doc/classes/C64GeosFile.src/M000147.html +14 -9
  153. data/doc/classes/C64GeosFile.src/M000148.html +22 -14
  154. data/doc/classes/C64GeosFile.src/M000149.html +1 -1
  155. data/doc/classes/C64GeosFont.html +70 -70
  156. data/doc/classes/C64GeosFont.src/M000179.html +18 -0
  157. data/doc/classes/C64GeosFont.src/M000180.html +4 -4
  158. data/doc/classes/C64GeosFont.src/M000181.html +4 -4
  159. data/doc/classes/C64GeosFont.src/M000182.html +12 -4
  160. data/doc/classes/C64GeosFont.src/M000183.html +8 -11
  161. data/doc/classes/C64GeosFont.src/M000184.html +12 -4
  162. data/doc/classes/C64GeosFont.src/M000185.html +12 -12
  163. data/doc/classes/C64GeosFont.src/M000186.html +5 -11
  164. data/doc/classes/C64GeosFont.src/M000187.html +5 -5
  165. data/doc/classes/C64GeosFont.src/M000188.html +26 -5
  166. data/doc/classes/C64GeosFont.src/M000189.html +9 -27
  167. data/doc/classes/C64GeosFont.src/M000190.html +9 -27
  168. data/doc/classes/C64GeosFont.src/M000191.html +16 -8
  169. data/doc/classes/C64GeosFont.src/M000192.html +22 -16
  170. data/doc/classes/C64Seq.html +15 -15
  171. data/doc/classes/C64Seq.src/M000392.html +6 -4
  172. data/doc/classes/C64Seq.src/M000393.html +4 -4
  173. data/doc/classes/C64Seq.src/M000394.html +18 -0
  174. data/doc/classes/C64Seq.src/M000395.html +18 -0
  175. data/doc/classes/CPMFile.html +15 -15
  176. data/doc/classes/CPMFile.src/M000176.html +7 -9
  177. data/doc/classes/CPMFile.src/M000177.html +4 -6
  178. data/doc/classes/CPMFile.src/M000178.html +9 -5
  179. data/doc/classes/CVT.html +165 -0
  180. data/doc/classes/CVT.src/M000482.html +18 -0
  181. data/doc/classes/CVT.src/M000483.html +18 -0
  182. data/doc/classes/CVT.src/M000484.html +18 -0
  183. data/doc/classes/CVTArchive.html +187 -0
  184. data/doc/classes/CVTArchive.src/M000381.html +18 -0
  185. data/doc/classes/CVTArchive.src/M000382.html +67 -0
  186. data/doc/classes/CVTArchive.src/M000383.html +58 -0
  187. data/doc/classes/CbmFile.html +10 -10
  188. data/doc/classes/CbmFile.src/M000329.html +22 -0
  189. data/doc/classes/CbmFile.src/M000330.html +4 -6
  190. data/doc/classes/CbmFile.src/M000331.html +1 -1
  191. data/doc/classes/Coco.html +65 -65
  192. data/doc/classes/Coco.src/M000451.html +4 -4
  193. data/doc/classes/Coco.src/M000452.html +4 -4
  194. data/doc/classes/Coco.src/M000453.html +4 -4
  195. data/doc/classes/Coco.src/M000454.html +4 -4
  196. data/doc/classes/Coco.src/M000455.html +4 -4
  197. data/doc/classes/Coco.src/M000456.html +3 -3
  198. data/doc/classes/Coco.src/M000457.html +4 -4
  199. data/doc/classes/Coco.src/M000458.html +4 -4
  200. data/doc/classes/Coco.src/M000459.html +4 -4
  201. data/doc/classes/Coco.src/M000460.html +4 -4
  202. data/doc/classes/Coco.src/M000461.html +4 -4
  203. data/doc/classes/Coco.src/M000462.html +4 -41
  204. data/doc/classes/Coco.src/M000463.html +55 -0
  205. data/doc/classes/Coco.src/M000464.html +55 -0
  206. data/doc/classes/CocoBasic.html +10 -10
  207. data/doc/classes/CocoBasic.src/M000410.html +6 -58
  208. data/doc/classes/CocoBasic.src/M000411.html +72 -0
  209. data/doc/classes/CocoBasic.src/M000412.html +72 -0
  210. data/doc/classes/CocoScreen.html +20 -20
  211. data/doc/classes/CocoScreen.src/M000273.html +18 -0
  212. data/doc/classes/CocoScreen.src/M000274.html +4 -4
  213. data/doc/classes/CocoScreen.src/M000275.html +4 -4
  214. data/doc/classes/CocoScreen.src/M000276.html +4 -4
  215. data/doc/classes/D81.html +45 -45
  216. data/doc/classes/D81.src/M000420.html +4 -4
  217. data/doc/classes/D81.src/M000421.html +4 -4
  218. data/doc/classes/D81.src/M000422.html +4 -4
  219. data/doc/classes/D81.src/M000423.html +4 -4
  220. data/doc/classes/D81.src/M000424.html +4 -4
  221. data/doc/classes/D81.src/M000425.html +4 -4
  222. data/doc/classes/D81.src/M000426.html +4 -9
  223. data/doc/classes/D81.src/M000427.html +7 -8
  224. data/doc/classes/D81.src/M000428.html +24 -0
  225. data/doc/classes/D81.src/M000429.html +24 -0
  226. data/doc/classes/DumpUtilities.html +10 -10
  227. data/doc/classes/DumpUtilities.src/M000213.html +33 -0
  228. data/doc/classes/DumpUtilities.src/M000214.html +13 -19
  229. data/doc/classes/FileCache.html +55 -55
  230. data/doc/classes/FileCache.src/M000370.html +26 -0
  231. data/doc/classes/FileCache.src/M000371.html +6 -12
  232. data/doc/classes/FileCache.src/M000372.html +10 -6
  233. data/doc/classes/FileCache.src/M000373.html +8 -10
  234. data/doc/classes/FileCache.src/M000374.html +16 -6
  235. data/doc/classes/FileCache.src/M000375.html +7 -18
  236. data/doc/classes/FileCache.src/M000376.html +8 -7
  237. data/doc/classes/FileCache.src/M000377.html +8 -7
  238. data/doc/classes/FileCache.src/M000378.html +12 -8
  239. data/doc/classes/FileCache.src/M000379.html +10 -13
  240. data/doc/classes/FileCache.src/M000380.html +7 -10
  241. data/doc/classes/FileContainer.html +5 -5
  242. data/doc/classes/FileContainer.src/M000440.html +26 -0
  243. data/doc/classes/FileContainer.src/M000441.html +26 -0
  244. data/doc/classes/FileSystem.html +41 -41
  245. data/doc/classes/FileSystem.src/M000429.html +4 -4
  246. data/doc/classes/FileSystem.src/M000430.html +4 -4
  247. data/doc/classes/FileSystem.src/M000431.html +4 -4
  248. data/doc/classes/FileSystem.src/M000432.html +4 -4
  249. data/doc/classes/FileSystem.src/M000433.html +5 -5
  250. data/doc/classes/FileSystem.src/M000434.html +4 -6
  251. data/doc/classes/FileSystem.src/M000435.html +6 -11
  252. data/doc/classes/FileSystem.src/M000436.html +25 -0
  253. data/doc/classes/FileSystem.src/M000437.html +25 -0
  254. data/doc/classes/FileSystemImage.html +127 -127
  255. data/doc/classes/FileSystemImage.src/M000292.html +8 -4
  256. data/doc/classes/FileSystemImage.src/M000293.html +26 -7
  257. data/doc/classes/FileSystemImage.src/M000294.html +11 -25
  258. data/doc/classes/FileSystemImage.src/M000295.html +4 -13
  259. data/doc/classes/FileSystemImage.src/M000296.html +4 -4
  260. data/doc/classes/FileSystemImage.src/M000297.html +5 -4
  261. data/doc/classes/FileSystemImage.src/M000298.html +4 -5
  262. data/doc/classes/FileSystemImage.src/M000299.html +8 -4
  263. data/doc/classes/FileSystemImage.src/M000300.html +6 -9
  264. data/doc/classes/FileSystemImage.src/M000301.html +5 -6
  265. data/doc/classes/FileSystemImage.src/M000302.html +4 -4
  266. data/doc/classes/FileSystemImage.src/M000303.html +4 -4
  267. data/doc/classes/FileSystemImage.src/M000304.html +4 -4
  268. data/doc/classes/FileSystemImage.src/M000305.html +7 -5
  269. data/doc/classes/FileSystemImage.src/M000306.html +8 -6
  270. data/doc/classes/FileSystemImage.src/M000307.html +8 -8
  271. data/doc/classes/FileSystemImage.src/M000308.html +5 -9
  272. data/doc/classes/FileSystemImage.src/M000309.html +9 -4
  273. data/doc/classes/FileSystemImage.src/M000310.html +7 -7
  274. data/doc/classes/FileSystemImage.src/M000311.html +12 -10
  275. data/doc/classes/FileSystemImage.src/M000312.html +5 -12
  276. data/doc/classes/FileSystemImage.src/M000313.html +4 -4
  277. data/doc/classes/FileSystemImage.src/M000314.html +4 -4
  278. data/doc/classes/FileSystemImage.src/M000315.html +13 -4
  279. data/doc/classes/FileSystemImage.src/M000316.html +5 -12
  280. data/doc/classes/GenericFile.html +10 -10
  281. data/doc/classes/GenericFile.src/M000231.html +20 -0
  282. data/doc/classes/GenericFile.src/M000232.html +4 -6
  283. data/doc/classes/GenericGIF.html +25 -25
  284. data/doc/classes/GenericGIF.src/M000546.html +4 -4
  285. data/doc/classes/GenericGIF.src/M000547.html +4 -4
  286. data/doc/classes/GenericGIF.src/M000548.html +18 -0
  287. data/doc/classes/GenericGIF.src/M000549.html +18 -0
  288. data/doc/classes/GenericGIF.src/M000550.html +18 -0
  289. data/doc/classes/GenericGIF.src/M000551.html +18 -0
  290. data/doc/classes/HostSystem.html +91 -91
  291. data/doc/classes/HostSystem.src/M000464.html +4 -8
  292. data/doc/classes/HostSystem.src/M000465.html +8 -4
  293. data/doc/classes/HostSystem.src/M000466.html +5 -5
  294. data/doc/classes/HostSystem.src/M000467.html +4 -8
  295. data/doc/classes/HostSystem.src/M000468.html +8 -19
  296. data/doc/classes/HostSystem.src/M000469.html +19 -4
  297. data/doc/classes/HostSystem.src/M000470.html +4 -5
  298. data/doc/classes/HostSystem.src/M000471.html +5 -4
  299. data/doc/classes/HostSystem.src/M000472.html +4 -4
  300. data/doc/classes/HostSystem.src/M000473.html +4 -4
  301. data/doc/classes/HostSystem.src/M000474.html +4 -4
  302. data/doc/classes/HostSystem.src/M000475.html +3 -3
  303. data/doc/classes/HostSystem.src/M000476.html +4 -4
  304. data/doc/classes/HostSystem.src/M000477.html +4 -4
  305. data/doc/classes/HostSystem.src/M000478.html +4 -4
  306. data/doc/classes/HostSystem.src/M000479.html +4 -15
  307. data/doc/classes/HostSystem.src/M000480.html +15 -4
  308. data/doc/classes/HostSystem.src/M000481.html +18 -0
  309. data/doc/classes/HostSystem.src/M000482.html +18 -0
  310. data/doc/classes/ImageFormat.html +84 -84
  311. data/doc/classes/ImageFormat.src/M000193.html +4 -4
  312. data/doc/classes/ImageFormat.src/M000194.html +4 -4
  313. data/doc/classes/ImageFormat.src/M000195.html +4 -4
  314. data/doc/classes/ImageFormat.src/M000196.html +3 -3
  315. data/doc/classes/ImageFormat.src/M000197.html +4 -4
  316. data/doc/classes/ImageFormat.src/M000198.html +8 -4
  317. data/doc/classes/ImageFormat.src/M000199.html +5 -8
  318. data/doc/classes/ImageFormat.src/M000200.html +4 -5
  319. data/doc/classes/ImageFormat.src/M000201.html +4 -4
  320. data/doc/classes/ImageFormat.src/M000202.html +4 -4
  321. data/doc/classes/ImageFormat.src/M000203.html +4 -4
  322. data/doc/classes/ImageFormat.src/M000204.html +4 -4
  323. data/doc/classes/ImageFormat.src/M000205.html +4 -4
  324. data/doc/classes/ImageFormat.src/M000206.html +4 -4
  325. data/doc/classes/ImageFormat.src/M000207.html +6 -4
  326. data/doc/classes/ImageFormat.src/M000208.html +12 -6
  327. data/doc/classes/ImageFormat.src/M000209.html +4 -12
  328. data/doc/classes/ImageSniffing.html +40 -40
  329. data/doc/classes/ImageSniffing.src/M000494.html +105 -32
  330. data/doc/classes/ImageSniffing.src/M000495.html +15 -25
  331. data/doc/classes/ImageSniffing.src/M000496.html +97 -45
  332. data/doc/classes/ImageSniffing.src/M000497.html +31 -58
  333. data/doc/classes/ImageSniffing.src/M000498.html +24 -22
  334. data/doc/classes/ImageSniffing.src/M000499.html +59 -0
  335. data/doc/classes/ImageSniffing.src/M000500.html +74 -0
  336. data/doc/classes/ImageSniffing.src/M000501.html +44 -0
  337. data/doc/classes/ImageSniffing.src/M000502.html +44 -0
  338. data/doc/classes/IntegerBASIC.html +10 -10
  339. data/doc/classes/IntegerBASIC.src/M000285.html +20 -0
  340. data/doc/classes/IntegerBASIC.src/M000286.html +72 -6
  341. data/doc/classes/JvcDsk.html +30 -30
  342. data/doc/classes/JvcDsk.src/M000279.html +18 -0
  343. data/doc/classes/JvcDsk.src/M000280.html +25 -4
  344. data/doc/classes/JvcDsk.src/M000281.html +4 -25
  345. data/doc/classes/JvcDsk.src/M000282.html +4 -4
  346. data/doc/classes/JvcDsk.src/M000283.html +4 -4
  347. data/doc/classes/JvcDsk.src/M000284.html +8 -4
  348. data/doc/classes/MBasic.html +10 -10
  349. data/doc/classes/MBasic.src/M000233.html +20 -0
  350. data/doc/classes/MBasic.src/M000234.html +8 -6
  351. data/doc/classes/NADOLDos.html +10 -10
  352. data/doc/classes/NADOLDos.src/M000154.html +18 -0
  353. data/doc/classes/NADOLDos.src/M000155.html +39 -5
  354. data/doc/classes/NativeFileType.html +100 -100
  355. data/doc/classes/NativeFileType.src/M000253.html +10 -5
  356. data/doc/classes/NativeFileType.src/M000254.html +5 -10
  357. data/doc/classes/NativeFileType.src/M000255.html +4 -4
  358. data/doc/classes/NativeFileType.src/M000256.html +4 -4
  359. data/doc/classes/NativeFileType.src/M000257.html +8 -4
  360. data/doc/classes/NativeFileType.src/M000258.html +4 -8
  361. data/doc/classes/NativeFileType.src/M000259.html +4 -4
  362. data/doc/classes/NativeFileType.src/M000260.html +3 -3
  363. data/doc/classes/NativeFileType.src/M000261.html +9 -4
  364. data/doc/classes/NativeFileType.src/M000262.html +4 -9
  365. data/doc/classes/NativeFileType.src/M000263.html +8 -4
  366. data/doc/classes/NativeFileType.src/M000264.html +4 -6
  367. data/doc/classes/NativeFileType.src/M000265.html +10 -4
  368. data/doc/classes/NativeFileType.src/M000266.html +28 -11
  369. data/doc/classes/NativeFileType.src/M000267.html +9 -26
  370. data/doc/classes/NativeFileType.src/M000268.html +4 -10
  371. data/doc/classes/NativeFileType.src/M000269.html +4 -4
  372. data/doc/classes/NativeFileType.src/M000270.html +4 -4
  373. data/doc/classes/NativeFileType.src/M000271.html +6 -4
  374. data/doc/classes/NativeFileType.src/M000272.html +14 -6
  375. data/doc/classes/NativeFileType.src/M000273.html +1 -1
  376. data/doc/classes/PackedProDosPic.html +5 -5
  377. data/doc/classes/PackedProDosPic.src/M000409.html +40 -0
  378. data/doc/classes/PackedProDosPic.src/M000410.html +40 -0
  379. data/doc/classes/PascalDos.html +15 -15
  380. data/doc/classes/PascalDos.src/M000506.html +18 -0
  381. data/doc/classes/PascalDos.src/M000507.html +21 -0
  382. data/doc/classes/PascalDos.src/M000508.html +62 -0
  383. data/doc/classes/PascalDos.src/M000509.html +62 -0
  384. data/doc/classes/PascalFile.html +10 -10
  385. data/doc/classes/PascalFile.src/M000152.html +20 -0
  386. data/doc/classes/PascalFile.src/M000153.html +5 -7
  387. data/doc/classes/PascalPic.html +10 -10
  388. data/doc/classes/PascalPic.src/M000488.html +20 -0
  389. data/doc/classes/PascalPic.src/M000489.html +18 -0
  390. data/doc/classes/PascalPic.src/M000490.html +18 -0
  391. data/doc/classes/ProDosBINFile.html +20 -20
  392. data/doc/classes/ProDosBINFile.src/M000484.html +7 -5
  393. data/doc/classes/ProDosBINFile.src/M000485.html +18 -0
  394. data/doc/classes/ProDosBINFile.src/M000486.html +18 -0
  395. data/doc/classes/ProDosBINFile.src/M000487.html +18 -0
  396. data/doc/classes/ProDosBINFile.src/M000488.html +18 -0
  397. data/doc/classes/ProDosBinPic.html +15 -15
  398. data/doc/classes/ProDosBinPic.src/M000149.html +7 -5
  399. data/doc/classes/ProDosBinPic.src/M000150.html +5 -7
  400. data/doc/classes/ProDosBinPic.src/M000151.html +4 -4
  401. data/doc/classes/ProDosFile.html +15 -15
  402. data/doc/classes/ProDosFile.src/M000215.html +20 -0
  403. data/doc/classes/ProDosFile.src/M000216.html +4 -6
  404. data/doc/classes/ProDosFile.src/M000217.html +5 -4
  405. data/doc/classes/Proc.html +54 -54
  406. data/doc/classes/Proc.src/M000220.html +21 -0
  407. data/doc/classes/Proc.src/M000221.html +5 -7
  408. data/doc/classes/Proc.src/M000222.html +8 -5
  409. data/doc/classes/Proc.src/M000223.html +6 -6
  410. data/doc/classes/Proc.src/M000224.html +6 -6
  411. data/doc/classes/Proc.src/M000225.html +5 -8
  412. data/doc/classes/Proc.src/M000226.html +3 -6
  413. data/doc/classes/Proc.src/M000227.html +7 -3
  414. data/doc/classes/Proc.src/M000228.html +4 -6
  415. data/doc/classes/Proc.src/M000229.html +3 -5
  416. data/doc/classes/Proc.src/M000230.html +2 -2
  417. data/doc/classes/ProcSource.html +10 -10
  418. data/doc/classes/ProcSource.src/M000544.html +38 -0
  419. data/doc/classes/ProcSource.src/M000545.html +109 -0
  420. data/doc/classes/ProcSource.src/M000546.html +109 -0
  421. data/doc/classes/RDoc.html +5 -5
  422. data/doc/classes/RDoc.src/M000543.html +40 -0
  423. data/doc/classes/RDoc.src/M000544.html +40 -0
  424. data/doc/classes/RawDisk.html +10 -10
  425. data/doc/classes/RawDisk.src/M000333.html +18 -0
  426. data/doc/classes/RawDisk.src/M000334.html +9 -4
  427. data/doc/classes/RipXplore.html +1 -1
  428. data/doc/classes/RipXploreLog.html +15 -15
  429. data/doc/classes/RipXploreLog.src/M000173.html +4 -4
  430. data/doc/classes/RipXploreLog.src/M000174.html +6 -4
  431. data/doc/classes/RipXploreLog.src/M000175.html +4 -6
  432. data/doc/classes/RsDos.html +20 -20
  433. data/doc/classes/RsDos.src/M000490.html +4 -48
  434. data/doc/classes/RsDos.src/M000491.html +18 -0
  435. data/doc/classes/RsDos.src/M000492.html +18 -0
  436. data/doc/classes/RsDos.src/M000493.html +62 -0
  437. data/doc/classes/RsDos.src/M000494.html +62 -0
  438. data/doc/classes/ScAsm.html +5 -5
  439. data/doc/classes/ScAsm.src/M000502.html +45 -0
  440. data/doc/classes/ScAsm.src/M000503.html +45 -0
  441. data/doc/classes/ScreenDump.html +5 -5
  442. data/doc/classes/ScreenDump.src/M000542.html +24 -0
  443. data/doc/classes/ScreenDump.src/M000543.html +24 -0
  444. data/doc/classes/ScreenDumps.html +15 -15
  445. data/doc/classes/ScreenDumps.src/M000385.html +8 -10
  446. data/doc/classes/ScreenDumps.src/M000386.html +10 -21
  447. data/doc/classes/ScreenDumps.src/M000387.html +35 -0
  448. data/doc/classes/ScreenDumps.src/M000388.html +35 -0
  449. data/doc/classes/ScrunchedAppleDosPic.html +5 -5
  450. data/doc/classes/ScrunchedAppleDosPic.src/M000291.html +37 -0
  451. data/doc/classes/SubclassTracking.html +5 -5
  452. data/doc/classes/SubclassTracking.src/M000551.html +23 -0
  453. data/doc/classes/SubclassTracking.src/M000552.html +23 -0
  454. data/doc/classes/Ti99.html +60 -60
  455. data/doc/classes/Ti99.src/M000161.html +4 -4
  456. data/doc/classes/Ti99.src/M000162.html +4 -4
  457. data/doc/classes/Ti99.src/M000163.html +4 -4
  458. data/doc/classes/Ti99.src/M000164.html +4 -4
  459. data/doc/classes/Ti99.src/M000165.html +4 -4
  460. data/doc/classes/Ti99.src/M000166.html +4 -4
  461. data/doc/classes/Ti99.src/M000167.html +4 -4
  462. data/doc/classes/Ti99.src/M000168.html +4 -4
  463. data/doc/classes/Ti99.src/M000169.html +4 -4
  464. data/doc/classes/Ti99.src/M000170.html +4 -4
  465. data/doc/classes/Ti99.src/M000171.html +4 -4
  466. data/doc/classes/Ti99.src/M000172.html +4 -4
  467. data/doc/classes/Ti99BasicFile.html +5 -5
  468. data/doc/classes/Ti99BasicFile.src/M000356.html +72 -0
  469. data/doc/classes/Ti99File.html +10 -10
  470. data/doc/classes/Ti99File.src/M000287.html +20 -0
  471. data/doc/classes/Ti99File.src/M000288.html +4 -6
  472. data/doc/classes/Ti99Fms.html +10 -10
  473. data/doc/classes/Ti99Fms.src/M000449.html +4 -63
  474. data/doc/classes/Ti99Fms.src/M000450.html +77 -0
  475. data/doc/classes/Ti99Fms.src/M000451.html +77 -0
  476. data/doc/classes/Ti99TextFile.html +10 -10
  477. data/doc/classes/Ti99TextFile.src/M000515.html +33 -0
  478. data/doc/classes/Ti99TextFile.src/M000516.html +18 -0
  479. data/doc/classes/Ti99TextFile.src/M000517.html +18 -0
  480. data/doc/classes/TiArtistPattern.html +20 -20
  481. data/doc/classes/TiArtistPattern.src/M000388.html +36 -4
  482. data/doc/classes/TiArtistPattern.src/M000389.html +4 -4
  483. data/doc/classes/TiArtistPattern.src/M000390.html +4 -4
  484. data/doc/classes/TiArtistPattern.src/M000391.html +18 -0
  485. data/doc/classes/TiArtistPattern.src/M000392.html +18 -0
  486. data/doc/classes/TiRLE.html +20 -20
  487. data/doc/classes/TiRLE.src/M000511.html +8 -4
  488. data/doc/classes/TiRLE.src/M000512.html +22 -0
  489. data/doc/classes/TiRLE.src/M000513.html +43 -0
  490. data/doc/classes/TiRLE.src/M000514.html +18 -0
  491. data/doc/classes/TiRLE.src/M000515.html +18 -0
  492. data/doc/classes/Trs80.html +55 -55
  493. data/doc/classes/Trs80.src/M000335.html +18 -0
  494. data/doc/classes/Trs80.src/M000336.html +4 -4
  495. data/doc/classes/Trs80.src/M000337.html +4 -4
  496. data/doc/classes/Trs80.src/M000338.html +4 -4
  497. data/doc/classes/Trs80.src/M000339.html +4 -4
  498. data/doc/classes/Trs80.src/M000340.html +4 -4
  499. data/doc/classes/Trs80.src/M000341.html +4 -4
  500. data/doc/classes/Trs80.src/M000342.html +4 -4
  501. data/doc/classes/Trs80.src/M000343.html +4 -4
  502. data/doc/classes/Trs80.src/M000344.html +4 -4
  503. data/doc/classes/Trs80.src/M000345.html +4 -4
  504. data/doc/classes/Trs80BasicListing.html +15 -15
  505. data/doc/classes/Trs80BasicListing.src/M000353.html +20 -0
  506. data/doc/classes/Trs80BasicListing.src/M000354.html +4 -6
  507. data/doc/classes/Trs80BasicListing.src/M000355.html +4 -4
  508. data/doc/classes/Trs80PascalSource.html +10 -10
  509. data/doc/classes/Trs80PascalSource.src/M000509.html +20 -0
  510. data/doc/classes/Trs80PascalSource.src/M000510.html +30 -0
  511. data/doc/classes/Trs80PascalSource.src/M000511.html +30 -0
  512. data/doc/classes/Trs80Text.html +15 -15
  513. data/doc/classes/Trs80Text.src/M000437.html +6 -4
  514. data/doc/classes/Trs80Text.src/M000438.html +4 -4
  515. data/doc/classes/Trs80Text.src/M000439.html +18 -0
  516. data/doc/classes/Trs80Text.src/M000440.html +18 -0
  517. data/doc/classes/TrsDos.html +20 -20
  518. data/doc/classes/TrsDos.src/M000403.html +4 -4
  519. data/doc/classes/TrsDos.src/M000404.html +4 -4
  520. data/doc/classes/TrsDos.src/M000405.html +4 -50
  521. data/doc/classes/TrsDos.src/M000406.html +64 -0
  522. data/doc/classes/TrsDos.src/M000407.html +64 -0
  523. data/doc/classes/Zx81.html +25 -25
  524. data/doc/classes/Zx81.src/M000321.html +18 -0
  525. data/doc/classes/Zx81.src/M000322.html +192 -4
  526. data/doc/classes/Zx81.src/M000323.html +4 -192
  527. data/doc/classes/Zx81.src/M000324.html +9 -4
  528. data/doc/classes/Zx81.src/M000325.html +14 -8
  529. data/doc/classes/Zx81Basic.html +15 -15
  530. data/doc/classes/Zx81Basic.src/M000326.html +20 -0
  531. data/doc/classes/Zx81Basic.src/M000327.html +4 -6
  532. data/doc/classes/Zx81Basic.src/M000328.html +109 -4
  533. data/doc/classes/Zx81PFile.html +10 -10
  534. data/doc/classes/Zx81PFile.src/M000383.html +4 -4
  535. data/doc/classes/Zx81PFile.src/M000384.html +18 -0
  536. data/doc/classes/Zx81PFile.src/M000385.html +18 -0
  537. data/doc/created.rid +1 -1
  538. data/doc/files/lib/LibRipXplore_rb.html +1 -1
  539. data/doc/files/lib/NativeFileType_rb.html +1 -1
  540. data/doc/files/lib/file_systems/CVTArchive_rb.html +108 -0
  541. data/doc/files/lib/file_systems/CbmDos_rb.html +1 -1
  542. data/doc/files/lib/image_formats/CVT_rb.html +108 -0
  543. data/doc/files/lib/native_file_types/c64/C64GeosFile_rb.html +1 -1
  544. data/doc/files/lib/native_file_types/c64/C64GeosFont_rb.html +1 -1
  545. data/doc/files/lib/native_file_types/c64/CbmFile_rb.html +1 -1
  546. data/doc/files/test/tc_c64_rb.html +1 -1
  547. data/doc/fr_class_index.html +2 -0
  548. data/doc/fr_file_index.html +2 -0
  549. data/doc/fr_method_index.html +439 -436
  550. data/lib/LibRipXplore.rb +1 -1
  551. data/lib/NativeFileType.rb +2 -0
  552. data/lib/file_systems/CVTArchive.rb +110 -0
  553. data/lib/file_systems/CbmDos.rb +2 -2
  554. data/lib/image_formats/CVT.rb +52 -0
  555. data/lib/native_file_types/c64/C64GeosFile.rb +2 -5
  556. data/lib/native_file_types/c64/C64GeosFont.rb +50 -26
  557. data/lib/native_file_types/c64/CbmFile.rb +5 -1
  558. data/test/tc_c64.rb +28 -4
  559. metadata +151 -5
@@ -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,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>
@@ -179,17 +179,17 @@ TRACK/SECTOR LIST FORMAT (from Beneath Apple DOS p 4-6)
179
179
  <h3 class="section-bar">Methods</h3>
180
180
 
181
181
  <div class="name-list">
182
- <a href="#M000247">add_file</a>&nbsp;&nbsp;
183
- <a href="#M000248">catalog_filename</a>&nbsp;&nbsp;
184
- <a href="#M000253">delete_file</a>&nbsp;&nbsp;
185
- <a href="#M000246">files</a>&nbsp;&nbsp;
186
- <a href="#M000250">find_catalog_slot</a>&nbsp;&nbsp;
187
- <a href="#M000249">free_sector_list</a>&nbsp;&nbsp;
188
- <a href="#M000252">get_track_sector_list</a>&nbsp;&nbsp;
189
- <a href="#M000243">host_system</a>&nbsp;&nbsp;
190
- <a href="#M000251">set_sector</a>&nbsp;&nbsp;
191
- <a href="#M000245">vtoc_sector_no</a>&nbsp;&nbsp;
192
- <a href="#M000244">vtoc_track_no</a>&nbsp;&nbsp;
182
+ <a href="#M000246">add_file</a>&nbsp;&nbsp;
183
+ <a href="#M000247">catalog_filename</a>&nbsp;&nbsp;
184
+ <a href="#M000252">delete_file</a>&nbsp;&nbsp;
185
+ <a href="#M000245">files</a>&nbsp;&nbsp;
186
+ <a href="#M000249">find_catalog_slot</a>&nbsp;&nbsp;
187
+ <a href="#M000248">free_sector_list</a>&nbsp;&nbsp;
188
+ <a href="#M000251">get_track_sector_list</a>&nbsp;&nbsp;
189
+ <a href="#M000242">host_system</a>&nbsp;&nbsp;
190
+ <a href="#M000250">set_sector</a>&nbsp;&nbsp;
191
+ <a href="#M000244">vtoc_sector_no</a>&nbsp;&nbsp;
192
+ <a href="#M000243">vtoc_track_no</a>&nbsp;&nbsp;
193
193
  </div>
194
194
  </div>
195
195
 
@@ -211,12 +211,12 @@ TRACK/SECTOR LIST FORMAT (from Beneath Apple DOS p 4-6)
211
211
  <div id="methods">
212
212
  <h3 class="section-bar">Public Class methods</h3>
213
213
 
214
- <div id="method-M000247" class="method-detail">
215
- <a name="M000247"></a>
214
+ <div id="method-M000246" class="method-detail">
215
+ <a name="M000246"></a>
216
216
 
217
217
  <div class="method-heading">
218
- <a href="AppleDos.src/M000247.html" target="Code" class="method-signature"
219
- onclick="popupCode('AppleDos.src/M000247.html');return false;">
218
+ <a href="AppleDos.src/M000246.html" target="Code" class="method-signature"
219
+ onclick="popupCode('AppleDos.src/M000246.html');return false;">
220
220
  <span class="method-name">add_file</span><span class="method-args">(file_system_image,native_filetype_class,filename,file_contents,file_type=nil,aux_code=nil)</span>
221
221
  </a>
222
222
  </div>
@@ -225,12 +225,12 @@ TRACK/SECTOR LIST FORMAT (from Beneath Apple DOS p 4-6)
225
225
  </div>
226
226
  </div>
227
227
 
228
- <div id="method-M000248" class="method-detail">
229
- <a name="M000248"></a>
228
+ <div id="method-M000247" class="method-detail">
229
+ <a name="M000247"></a>
230
230
 
231
231
  <div class="method-heading">
232
- <a href="AppleDos.src/M000248.html" target="Code" class="method-signature"
233
- onclick="popupCode('AppleDos.src/M000248.html');return false;">
232
+ <a href="AppleDos.src/M000247.html" target="Code" class="method-signature"
233
+ onclick="popupCode('AppleDos.src/M000247.html');return false;">
234
234
  <span class="method-name">catalog_filename</span><span class="method-args">(filename)</span>
235
235
  </a>
236
236
  </div>
@@ -242,12 +242,12 @@ render a filename in form suitable for inclusion in a DOS catalog
242
242
  </div>
243
243
  </div>
244
244
 
245
- <div id="method-M000253" class="method-detail">
246
- <a name="M000253"></a>
245
+ <div id="method-M000252" class="method-detail">
246
+ <a name="M000252"></a>
247
247
 
248
248
  <div class="method-heading">
249
- <a href="AppleDos.src/M000253.html" target="Code" class="method-signature"
250
- onclick="popupCode('AppleDos.src/M000253.html');return false;">
249
+ <a href="AppleDos.src/M000252.html" target="Code" class="method-signature"
250
+ onclick="popupCode('AppleDos.src/M000252.html');return false;">
251
251
  <span class="method-name">delete_file</span><span class="method-args">(file_system_image,filename)</span>
252
252
  </a>
253
253
  </div>
@@ -256,12 +256,12 @@ render a filename in form suitable for inclusion in a DOS catalog
256
256
  </div>
257
257
  </div>
258
258
 
259
- <div id="method-M000246" class="method-detail">
260
- <a name="M000246"></a>
259
+ <div id="method-M000245" class="method-detail">
260
+ <a name="M000245"></a>
261
261
 
262
262
  <div class="method-heading">
263
- <a href="AppleDos.src/M000246.html" target="Code" class="method-signature"
264
- onclick="popupCode('AppleDos.src/M000246.html');return false;">
263
+ <a href="AppleDos.src/M000245.html" target="Code" class="method-signature"
264
+ onclick="popupCode('AppleDos.src/M000245.html');return false;">
265
265
  <span class="method-name">files</span><span class="method-args">(file_system_image)</span>
266
266
  </a>
267
267
  </div>
@@ -270,12 +270,12 @@ render a filename in form suitable for inclusion in a DOS catalog
270
270
  </div>
271
271
  </div>
272
272
 
273
- <div id="method-M000250" class="method-detail">
274
- <a name="M000250"></a>
273
+ <div id="method-M000249" class="method-detail">
274
+ <a name="M000249"></a>
275
275
 
276
276
  <div class="method-heading">
277
- <a href="AppleDos.src/M000250.html" target="Code" class="method-signature"
278
- onclick="popupCode('AppleDos.src/M000250.html');return false;">
277
+ <a href="AppleDos.src/M000249.html" target="Code" class="method-signature"
278
+ onclick="popupCode('AppleDos.src/M000249.html');return false;">
279
279
  <span class="method-name">find_catalog_slot</span><span class="method-args">(file_system_image,filename)</span>
280
280
  </a>
281
281
  </div>
@@ -288,12 +288,12 @@ passed in) an empty slot
288
288
  </div>
289
289
  </div>
290
290
 
291
- <div id="method-M000249" class="method-detail">
292
- <a name="M000249"></a>
291
+ <div id="method-M000248" class="method-detail">
292
+ <a name="M000248"></a>
293
293
 
294
294
  <div class="method-heading">
295
- <a href="AppleDos.src/M000249.html" target="Code" class="method-signature"
296
- onclick="popupCode('AppleDos.src/M000249.html');return false;">
295
+ <a href="AppleDos.src/M000248.html" target="Code" class="method-signature"
296
+ onclick="popupCode('AppleDos.src/M000248.html');return false;">
297
297
  <span class="method-name">free_sector_list</span><span class="method-args">(file_system_image)</span>
298
298
  </a>
299
299
  </div>
@@ -306,12 +306,12 @@ for sectors marked available
306
306
  </div>
307
307
  </div>
308
308
 
309
- <div id="method-M000252" class="method-detail">
310
- <a name="M000252"></a>
309
+ <div id="method-M000251" class="method-detail">
310
+ <a name="M000251"></a>
311
311
 
312
312
  <div class="method-heading">
313
- <a href="AppleDos.src/M000252.html" target="Code" class="method-signature"
314
- onclick="popupCode('AppleDos.src/M000252.html');return false;">
313
+ <a href="AppleDos.src/M000251.html" target="Code" class="method-signature"
314
+ onclick="popupCode('AppleDos.src/M000251.html');return false;">
315
315
  <span class="method-name">get_track_sector_list</span><span class="method-args">(file_system_image,ts_list_track_no,ts_list_sector_no)</span>
316
316
  </a>
317
317
  </div>
@@ -324,12 +324,12 @@ array containing track/sector pairs
324
324
  </div>
325
325
  </div>
326
326
 
327
- <div id="method-M000243" class="method-detail">
328
- <a name="M000243"></a>
327
+ <div id="method-M000242" class="method-detail">
328
+ <a name="M000242"></a>
329
329
 
330
330
  <div class="method-heading">
331
- <a href="AppleDos.src/M000243.html" target="Code" class="method-signature"
332
- onclick="popupCode('AppleDos.src/M000243.html');return false;">
331
+ <a href="AppleDos.src/M000242.html" target="Code" class="method-signature"
332
+ onclick="popupCode('AppleDos.src/M000242.html');return false;">
333
333
  <span class="method-name">host_system</span><span class="method-args">()</span>
334
334
  </a>
335
335
  </div>
@@ -338,12 +338,12 @@ array containing track/sector pairs
338
338
  </div>
339
339
  </div>
340
340
 
341
- <div id="method-M000251" class="method-detail">
342
- <a name="M000251"></a>
341
+ <div id="method-M000250" class="method-detail">
342
+ <a name="M000250"></a>
343
343
 
344
344
  <div class="method-heading">
345
- <a href="AppleDos.src/M000251.html" target="Code" class="method-signature"
346
- onclick="popupCode('AppleDos.src/M000251.html');return false;">
345
+ <a href="AppleDos.src/M000250.html" target="Code" class="method-signature"
346
+ onclick="popupCode('AppleDos.src/M000250.html');return false;">
347
347
  <span class="method-name">set_sector</span><span class="method-args">(file_system_image,track,sector,contents)</span>
348
348
  </a>
349
349
  </div>
@@ -352,12 +352,12 @@ array containing track/sector pairs
352
352
  </div>
353
353
  </div>
354
354
 
355
- <div id="method-M000245" class="method-detail">
356
- <a name="M000245"></a>
355
+ <div id="method-M000244" class="method-detail">
356
+ <a name="M000244"></a>
357
357
 
358
358
  <div class="method-heading">
359
- <a href="AppleDos.src/M000245.html" target="Code" class="method-signature"
360
- onclick="popupCode('AppleDos.src/M000245.html');return false;">
359
+ <a href="AppleDos.src/M000244.html" target="Code" class="method-signature"
360
+ onclick="popupCode('AppleDos.src/M000244.html');return false;">
361
361
  <span class="method-name">vtoc_sector_no</span><span class="method-args">()</span>
362
362
  </a>
363
363
  </div>
@@ -366,12 +366,12 @@ array containing track/sector pairs
366
366
  </div>
367
367
  </div>
368
368
 
369
- <div id="method-M000244" class="method-detail">
370
- <a name="M000244"></a>
369
+ <div id="method-M000243" class="method-detail">
370
+ <a name="M000243"></a>
371
371
 
372
372
  <div class="method-heading">
373
- <a href="AppleDos.src/M000244.html" target="Code" class="method-signature"
374
- onclick="popupCode('AppleDos.src/M000244.html');return false;">
373
+ <a href="AppleDos.src/M000243.html" target="Code" class="method-signature"
374
+ onclick="popupCode('AppleDos.src/M000243.html');return false;">
375
375
  <span class="method-name">vtoc_track_no</span><span class="method-args">()</span>
376
376
  </a>
377
377
  </div>
@@ -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 (AppleDos)</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/AppleDos.rb, line 88</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>