ripxplore 0.14.0 → 0.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (251) hide show
  1. data/doc/classes/A2DskDosOrder.html +5 -5
  2. data/doc/classes/A2DskDosOrder.src/M000535.html +18 -0
  3. data/doc/classes/AppleCPM.html +40 -40
  4. data/doc/classes/AppleCPM.src/M000413.html +4 -4
  5. data/doc/classes/AppleCPM.src/M000414.html +5 -8
  6. data/doc/classes/AppleCPM.src/M000415.html +7 -9
  7. data/doc/classes/AppleCPM.src/M000416.html +10 -27
  8. data/doc/classes/AppleCPM.src/M000417.html +16 -11
  9. data/doc/classes/AppleCPM.src/M000418.html +21 -43
  10. data/doc/classes/AppleCPM.src/M000419.html +37 -10
  11. data/doc/classes/AppleCPM.src/M000420.html +30 -0
  12. data/doc/classes/AppleHiResPic.html +40 -40
  13. data/doc/classes/AppleHiResPic.src/M000473.html +5 -5
  14. data/doc/classes/AppleHiResPic.src/M000474.html +4 -4
  15. data/doc/classes/AppleHiResPic.src/M000475.html +4 -38
  16. data/doc/classes/AppleHiResPic.src/M000476.html +38 -4
  17. data/doc/classes/AppleHiResPic.src/M000477.html +4 -4
  18. data/doc/classes/AppleHiResPic.src/M000478.html +4 -4
  19. data/doc/classes/AppleHiResPic.src/M000479.html +4 -4
  20. data/doc/classes/AppleHiResPic.src/M000480.html +18 -0
  21. data/doc/classes/ApplePrintShopMiniPix.html +20 -20
  22. data/doc/classes/ApplePrintShopMiniPix.src/M000570.html +24 -4
  23. data/doc/classes/ApplePrintShopMiniPix.src/M000571.html +4 -4
  24. data/doc/classes/ApplePrintShopMiniPix.src/M000572.html +4 -4
  25. data/doc/classes/ApplePrintShopMiniPix.src/M000573.html +18 -0
  26. data/doc/classes/AppleWorksWP.html +10 -10
  27. data/doc/classes/AppleWorksWP.src/M000536.html +6 -31
  28. data/doc/classes/AppleWorksWP.src/M000537.html +45 -0
  29. data/doc/classes/Applesoft.html +10 -10
  30. data/doc/classes/Applesoft.src/M000436.html +8 -62
  31. data/doc/classes/Applesoft.src/M000437.html +75 -0
  32. data/doc/classes/AtariDos.html +10 -10
  33. data/doc/classes/AtariDos.src/M000425.html +4 -29
  34. data/doc/classes/AtariDos.src/M000426.html +43 -0
  35. data/doc/classes/C64.html +105 -105
  36. data/doc/classes/C64.src/M000549.html +4 -4
  37. data/doc/classes/C64.src/M000550.html +4 -17
  38. data/doc/classes/C64.src/M000551.html +17 -6
  39. data/doc/classes/C64.src/M000552.html +6 -8
  40. data/doc/classes/C64.src/M000553.html +4 -4
  41. data/doc/classes/C64.src/M000554.html +8 -5
  42. data/doc/classes/C64.src/M000555.html +5 -5
  43. data/doc/classes/C64.src/M000556.html +5 -4
  44. data/doc/classes/C64.src/M000557.html +4 -4
  45. data/doc/classes/C64.src/M000558.html +4 -4
  46. data/doc/classes/C64.src/M000559.html +4 -4
  47. data/doc/classes/C64.src/M000560.html +3 -3
  48. data/doc/classes/C64.src/M000561.html +4 -4
  49. data/doc/classes/C64.src/M000562.html +3 -3
  50. data/doc/classes/C64.src/M000563.html +4 -5
  51. data/doc/classes/C64.src/M000564.html +5 -5
  52. data/doc/classes/C64.src/M000565.html +5 -4
  53. data/doc/classes/C64.src/M000566.html +3 -3
  54. data/doc/classes/C64.src/M000567.html +4 -55
  55. data/doc/classes/C64.src/M000568.html +22 -66
  56. data/doc/classes/C64.src/M000569.html +113 -0
  57. data/doc/classes/C64GeoPaintPic.html +30 -30
  58. data/doc/classes/C64GeoPaintPic.src/M000430.html +4 -4
  59. data/doc/classes/C64GeoPaintPic.src/M000431.html +4 -4
  60. data/doc/classes/C64GeoPaintPic.src/M000432.html +4 -57
  61. data/doc/classes/C64GeoPaintPic.src/M000433.html +55 -27
  62. data/doc/classes/C64GeoPaintPic.src/M000434.html +29 -6
  63. data/doc/classes/C64GeoPaintPic.src/M000435.html +20 -0
  64. data/doc/classes/C64GeosBASICFile.src/M000305.html +1 -1
  65. data/doc/classes/C64PhotoScrap.html +70 -70
  66. data/doc/classes/C64PhotoScrap.src/M000458.html +4 -4
  67. data/doc/classes/C64PhotoScrap.src/M000459.html +4 -4
  68. data/doc/classes/C64PhotoScrap.src/M000460.html +4 -4
  69. data/doc/classes/C64PhotoScrap.src/M000461.html +4 -4
  70. data/doc/classes/C64PhotoScrap.src/M000462.html +4 -4
  71. data/doc/classes/C64PhotoScrap.src/M000463.html +4 -4
  72. data/doc/classes/C64PhotoScrap.src/M000464.html +4 -7
  73. data/doc/classes/C64PhotoScrap.src/M000465.html +7 -4
  74. data/doc/classes/C64PhotoScrap.src/M000466.html +4 -4
  75. data/doc/classes/C64PhotoScrap.src/M000467.html +4 -4
  76. data/doc/classes/C64PhotoScrap.src/M000468.html +5 -40
  77. data/doc/classes/C64PhotoScrap.src/M000469.html +36 -28
  78. data/doc/classes/C64PhotoScrap.src/M000470.html +30 -9
  79. data/doc/classes/C64PhotoScrap.src/M000471.html +24 -0
  80. data/doc/classes/C64Seq.html +15 -15
  81. data/doc/classes/C64Seq.src/M000410.html +6 -4
  82. data/doc/classes/C64Seq.src/M000411.html +4 -4
  83. data/doc/classes/C64Seq.src/M000412.html +18 -0
  84. data/doc/classes/CVT.html +10 -10
  85. data/doc/classes/CVT.src/M000514.html +4 -4
  86. data/doc/classes/CVT.src/M000515.html +18 -0
  87. data/doc/classes/CVTArchive.html +12 -12
  88. data/doc/classes/CVTArchive.src/M000399.html +4 -56
  89. data/doc/classes/CVTArchive.src/M000400.html +70 -0
  90. data/doc/classes/CbmDos.src/M000099.html +4 -0
  91. data/doc/classes/CbmDos.src/M000100.html +1 -1
  92. data/doc/classes/CbmDos.src/M000101.html +1 -1
  93. data/doc/classes/CbmDos.src/M000102.html +1 -1
  94. data/doc/classes/CbmDos.src/M000103.html +1 -1
  95. data/doc/classes/CbmDos.src/M000104.html +1 -1
  96. data/doc/classes/CbmDos.src/M000105.html +1 -1
  97. data/doc/classes/CbmDos.src/M000106.html +1 -1
  98. data/doc/classes/CbmDos.src/M000107.html +1 -1
  99. data/doc/classes/Coco.html +65 -65
  100. data/doc/classes/Coco.src/M000483.html +4 -4
  101. data/doc/classes/Coco.src/M000484.html +4 -4
  102. data/doc/classes/Coco.src/M000485.html +4 -4
  103. data/doc/classes/Coco.src/M000486.html +4 -4
  104. data/doc/classes/Coco.src/M000487.html +4 -4
  105. data/doc/classes/Coco.src/M000488.html +3 -3
  106. data/doc/classes/Coco.src/M000489.html +4 -4
  107. data/doc/classes/Coco.src/M000490.html +4 -4
  108. data/doc/classes/Coco.src/M000491.html +4 -4
  109. data/doc/classes/Coco.src/M000492.html +4 -4
  110. data/doc/classes/Coco.src/M000493.html +4 -4
  111. data/doc/classes/Coco.src/M000494.html +4 -41
  112. data/doc/classes/Coco.src/M000495.html +55 -0
  113. data/doc/classes/CocoBasic.html +10 -10
  114. data/doc/classes/CocoBasic.src/M000428.html +6 -58
  115. data/doc/classes/CocoBasic.src/M000429.html +72 -0
  116. data/doc/classes/D81.html +45 -45
  117. data/doc/classes/D81.src/M000438.html +4 -4
  118. data/doc/classes/D81.src/M000439.html +4 -4
  119. data/doc/classes/D81.src/M000440.html +4 -4
  120. data/doc/classes/D81.src/M000441.html +4 -4
  121. data/doc/classes/D81.src/M000442.html +4 -4
  122. data/doc/classes/D81.src/M000443.html +4 -4
  123. data/doc/classes/D81.src/M000444.html +4 -9
  124. data/doc/classes/D81.src/M000445.html +7 -8
  125. data/doc/classes/D81.src/M000446.html +24 -0
  126. data/doc/classes/FileCache.html +15 -0
  127. data/doc/classes/FileCache.src/M000398.html +20 -0
  128. data/doc/classes/FileContainer.html +5 -5
  129. data/doc/classes/FileContainer.src/M000472.html +26 -0
  130. data/doc/classes/FileSystem.html +41 -41
  131. data/doc/classes/FileSystem.src/M000447.html +4 -4
  132. data/doc/classes/FileSystem.src/M000448.html +4 -4
  133. data/doc/classes/FileSystem.src/M000449.html +4 -4
  134. data/doc/classes/FileSystem.src/M000450.html +4 -4
  135. data/doc/classes/FileSystem.src/M000451.html +5 -5
  136. data/doc/classes/FileSystem.src/M000452.html +4 -6
  137. data/doc/classes/FileSystem.src/M000453.html +6 -11
  138. data/doc/classes/FileSystem.src/M000454.html +25 -0
  139. data/doc/classes/GenericGIF.html +25 -25
  140. data/doc/classes/GenericGIF.src/M000578.html +4 -4
  141. data/doc/classes/GenericGIF.src/M000579.html +4 -4
  142. data/doc/classes/GenericGIF.src/M000580.html +4 -4
  143. data/doc/classes/GenericGIF.src/M000581.html +4 -4
  144. data/doc/classes/GenericGIF.src/M000582.html +18 -0
  145. data/doc/classes/HostSystem.html +91 -91
  146. data/doc/classes/HostSystem.src/M000496.html +4 -8
  147. data/doc/classes/HostSystem.src/M000497.html +8 -4
  148. data/doc/classes/HostSystem.src/M000498.html +5 -5
  149. data/doc/classes/HostSystem.src/M000499.html +4 -8
  150. data/doc/classes/HostSystem.src/M000500.html +8 -19
  151. data/doc/classes/HostSystem.src/M000501.html +19 -4
  152. data/doc/classes/HostSystem.src/M000502.html +4 -5
  153. data/doc/classes/HostSystem.src/M000503.html +5 -4
  154. data/doc/classes/HostSystem.src/M000504.html +4 -4
  155. data/doc/classes/HostSystem.src/M000505.html +4 -4
  156. data/doc/classes/HostSystem.src/M000506.html +4 -4
  157. data/doc/classes/HostSystem.src/M000507.html +3 -3
  158. data/doc/classes/HostSystem.src/M000508.html +4 -4
  159. data/doc/classes/HostSystem.src/M000509.html +4 -4
  160. data/doc/classes/HostSystem.src/M000510.html +4 -4
  161. data/doc/classes/HostSystem.src/M000511.html +4 -15
  162. data/doc/classes/HostSystem.src/M000512.html +15 -4
  163. data/doc/classes/HostSystem.src/M000513.html +18 -0
  164. data/doc/classes/ImageSniffing.html +36 -36
  165. data/doc/classes/ImageSniffing.src/M000526.html +103 -19
  166. data/doc/classes/ImageSniffing.src/M000527.html +22 -141
  167. data/doc/classes/ImageSniffing.src/M000528.html +152 -34
  168. data/doc/classes/ImageSniffing.src/M000529.html +31 -30
  169. data/doc/classes/ImageSniffing.src/M000530.html +25 -38
  170. data/doc/classes/ImageSniffing.src/M000531.html +38 -53
  171. data/doc/classes/ImageSniffing.src/M000532.html +53 -23
  172. data/doc/classes/ImageSniffing.src/M000533.html +44 -0
  173. data/doc/classes/PackedProDosPic.html +5 -5
  174. data/doc/classes/PackedProDosPic.src/M000427.html +40 -0
  175. data/doc/classes/PascalDos.html +15 -15
  176. data/doc/classes/PascalDos.src/M000538.html +5 -8
  177. data/doc/classes/PascalDos.src/M000539.html +8 -49
  178. data/doc/classes/PascalDos.src/M000540.html +62 -0
  179. data/doc/classes/PascalPic.html +10 -10
  180. data/doc/classes/PascalPic.src/M000520.html +6 -4
  181. data/doc/classes/PascalPic.src/M000521.html +18 -0
  182. data/doc/classes/ProDosBINFile.html +20 -20
  183. data/doc/classes/ProDosBINFile.src/M000516.html +7 -5
  184. data/doc/classes/ProDosBINFile.src/M000517.html +4 -4
  185. data/doc/classes/ProDosBINFile.src/M000518.html +4 -4
  186. data/doc/classes/ProDosBINFile.src/M000519.html +18 -0
  187. data/doc/classes/ProcSource.html +10 -10
  188. data/doc/classes/ProcSource.src/M000576.html +21 -92
  189. data/doc/classes/ProcSource.src/M000577.html +109 -0
  190. data/doc/classes/RDoc.html +5 -5
  191. data/doc/classes/RDoc.src/M000575.html +40 -0
  192. data/doc/classes/RipXplore.html +1 -1
  193. data/doc/classes/RsDos.html +20 -20
  194. data/doc/classes/RsDos.src/M000522.html +4 -4
  195. data/doc/classes/RsDos.src/M000523.html +4 -4
  196. data/doc/classes/RsDos.src/M000524.html +4 -48
  197. data/doc/classes/RsDos.src/M000525.html +62 -0
  198. data/doc/classes/ScAsm.html +5 -5
  199. data/doc/classes/ScAsm.src/M000534.html +45 -0
  200. data/doc/classes/ScreenDump.html +5 -5
  201. data/doc/classes/ScreenDump.src/M000574.html +24 -0
  202. data/doc/classes/ScreenDumps.html +15 -15
  203. data/doc/classes/ScreenDumps.src/M000403.html +8 -10
  204. data/doc/classes/ScreenDumps.src/M000404.html +10 -21
  205. data/doc/classes/ScreenDumps.src/M000405.html +35 -0
  206. data/doc/classes/SubclassTracking.html +5 -5
  207. data/doc/classes/SubclassTracking.src/M000583.html +23 -0
  208. data/doc/classes/Ti99Fms.html +10 -10
  209. data/doc/classes/Ti99Fms.src/M000481.html +4 -63
  210. data/doc/classes/Ti99Fms.src/M000482.html +77 -0
  211. data/doc/classes/Ti99TextFile.html +10 -10
  212. data/doc/classes/Ti99TextFile.src/M000547.html +19 -4
  213. data/doc/classes/Ti99TextFile.src/M000548.html +18 -0
  214. data/doc/classes/TiArtistPattern.html +20 -20
  215. data/doc/classes/TiArtistPattern.src/M000406.html +36 -4
  216. data/doc/classes/TiArtistPattern.src/M000407.html +4 -4
  217. data/doc/classes/TiArtistPattern.src/M000408.html +4 -4
  218. data/doc/classes/TiArtistPattern.src/M000409.html +18 -0
  219. data/doc/classes/TiRLE.html +20 -20
  220. data/doc/classes/TiRLE.src/M000543.html +5 -5
  221. data/doc/classes/TiRLE.src/M000544.html +8 -29
  222. data/doc/classes/TiRLE.src/M000545.html +30 -5
  223. data/doc/classes/TiRLE.src/M000546.html +18 -0
  224. data/doc/classes/Trs80PascalSource.html +10 -10
  225. data/doc/classes/Trs80PascalSource.src/M000541.html +6 -16
  226. data/doc/classes/Trs80PascalSource.src/M000542.html +30 -0
  227. data/doc/classes/Trs80Text.html +15 -15
  228. data/doc/classes/Trs80Text.src/M000455.html +6 -4
  229. data/doc/classes/Trs80Text.src/M000456.html +4 -4
  230. data/doc/classes/Trs80Text.src/M000457.html +18 -0
  231. data/doc/classes/TrsDos.html +20 -20
  232. data/doc/classes/TrsDos.src/M000421.html +4 -4
  233. data/doc/classes/TrsDos.src/M000422.html +4 -4
  234. data/doc/classes/TrsDos.src/M000423.html +4 -50
  235. data/doc/classes/TrsDos.src/M000424.html +64 -0
  236. data/doc/classes/Zx81PFile.html +10 -10
  237. data/doc/classes/Zx81PFile.src/M000401.html +4 -4
  238. data/doc/classes/Zx81PFile.src/M000402.html +18 -0
  239. data/doc/created.rid +1 -1
  240. data/doc/files/lib/FileCache_rb.html +1 -1
  241. data/doc/files/lib/LibRipXplore_rb.html +1 -1
  242. data/doc/files/lib/file_systems/CbmDos_rb.html +1 -1
  243. data/doc/files/lib/native_file_types/c64/C64GeosFile_rb.html +1 -1
  244. data/doc/files/test/tc_c64_rb.html +1 -1
  245. data/doc/fr_method_index.html +318 -317
  246. data/lib/FileCache.rb +6 -0
  247. data/lib/LibRipXplore.rb +1 -1
  248. data/lib/file_systems/CbmDos.rb +4 -0
  249. data/lib/native_file_types/c64/C64GeosFile.rb +1 -1
  250. data/test/tc_c64.rb +10 -0
  251. metadata +44 -3
@@ -88,7 +88,7 @@
88
88
  <h3 class="section-bar">Methods</h3>
89
89
 
90
90
  <div class="name-list">
91
- <a href="#M000534">interleave</a>&nbsp;&nbsp;
91
+ <a href="#M000535">interleave</a>&nbsp;&nbsp;
92
92
  </div>
93
93
  </div>
94
94
 
@@ -110,12 +110,12 @@
110
110
  <div id="methods">
111
111
  <h3 class="section-bar">Public Class methods</h3>
112
112
 
113
- <div id="method-M000534" class="method-detail">
114
- <a name="M000534"></a>
113
+ <div id="method-M000535" class="method-detail">
114
+ <a name="M000535"></a>
115
115
 
116
116
  <div class="method-heading">
117
- <a href="A2DskDosOrder.src/M000534.html" target="Code" class="method-signature"
118
- onclick="popupCode('A2DskDosOrder.src/M000534.html');return false;">
117
+ <a href="A2DskDosOrder.src/M000535.html" target="Code" class="method-signature"
118
+ onclick="popupCode('A2DskDosOrder.src/M000535.html');return false;">
119
119
  <span class="method-name">interleave</span><span class="method-args">()</span>
120
120
  </a>
121
121
  </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>interleave (A2DskDosOrder)</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/image_formats/A2Dsk.rb, line 59</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-constant">A2DskDosOrder</span>.<span class="ruby-identifier">interleave</span>
15
+ [<span class="ruby-value">0x00</span>,<span class="ruby-value">0x0</span><span class="ruby-constant">E</span>,<span class="ruby-value">0x0</span><span class="ruby-constant">D</span>,<span class="ruby-value">0x0</span><span class="ruby-constant">C</span>,<span class="ruby-value">0x0</span><span class="ruby-constant">B</span>,<span class="ruby-value">0x0</span><span class="ruby-constant">A</span>,<span class="ruby-value">0x09</span>,<span class="ruby-value">0x08</span>,<span class="ruby-value">0x07</span>,<span class="ruby-value">0x06</span>,<span class="ruby-value">0x05</span>,<span class="ruby-value">0x04</span>,<span class="ruby-value">0x03</span>,<span class="ruby-value">0x02</span>,<span class="ruby-value">0x01</span>,<span class="ruby-value">0x0</span><span class="ruby-constant">F</span>]
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -88,14 +88,14 @@
88
88
  <h3 class="section-bar">Methods</h3>
89
89
 
90
90
  <div class="name-list">
91
- <a href="#M000418">add_file</a>&nbsp;&nbsp;
92
- <a href="#M000419">delete_file</a>&nbsp;&nbsp;
93
- <a href="#M000416">files</a>&nbsp;&nbsp;
94
- <a href="#M000417">find_free_space</a>&nbsp;&nbsp;
95
- <a href="#M000414">get_block</a>&nbsp;&nbsp;
96
- <a href="#M000412">host_system</a>&nbsp;&nbsp;
97
- <a href="#M000413">matching_score</a>&nbsp;&nbsp;
98
- <a href="#M000415">set_block</a>&nbsp;&nbsp;
91
+ <a href="#M000419">add_file</a>&nbsp;&nbsp;
92
+ <a href="#M000420">delete_file</a>&nbsp;&nbsp;
93
+ <a href="#M000417">files</a>&nbsp;&nbsp;
94
+ <a href="#M000418">find_free_space</a>&nbsp;&nbsp;
95
+ <a href="#M000415">get_block</a>&nbsp;&nbsp;
96
+ <a href="#M000413">host_system</a>&nbsp;&nbsp;
97
+ <a href="#M000414">matching_score</a>&nbsp;&nbsp;
98
+ <a href="#M000416">set_block</a>&nbsp;&nbsp;
99
99
  </div>
100
100
  </div>
101
101
 
@@ -155,12 +155,12 @@
155
155
  <div id="methods">
156
156
  <h3 class="section-bar">Public Class methods</h3>
157
157
 
158
- <div id="method-M000418" class="method-detail">
159
- <a name="M000418"></a>
158
+ <div id="method-M000419" class="method-detail">
159
+ <a name="M000419"></a>
160
160
 
161
161
  <div class="method-heading">
162
- <a href="AppleCPM.src/M000418.html" target="Code" class="method-signature"
163
- onclick="popupCode('AppleCPM.src/M000418.html');return false;">
162
+ <a href="AppleCPM.src/M000419.html" target="Code" class="method-signature"
163
+ onclick="popupCode('AppleCPM.src/M000419.html');return false;">
164
164
  <span class="method-name">add_file</span><span class="method-args">(file_system_image,native_filetype_class,full_filename,file_contents,file_type=nil,aux_code=nil)</span>
165
165
  </a>
166
166
  </div>
@@ -169,12 +169,12 @@
169
169
  </div>
170
170
  </div>
171
171
 
172
- <div id="method-M000419" class="method-detail">
173
- <a name="M000419"></a>
172
+ <div id="method-M000420" class="method-detail">
173
+ <a name="M000420"></a>
174
174
 
175
175
  <div class="method-heading">
176
- <a href="AppleCPM.src/M000419.html" target="Code" class="method-signature"
177
- onclick="popupCode('AppleCPM.src/M000419.html');return false;">
176
+ <a href="AppleCPM.src/M000420.html" target="Code" class="method-signature"
177
+ onclick="popupCode('AppleCPM.src/M000420.html');return false;">
178
178
  <span class="method-name">delete_file</span><span class="method-args">(file_system_image,full_filename)</span>
179
179
  </a>
180
180
  </div>
@@ -183,12 +183,12 @@
183
183
  </div>
184
184
  </div>
185
185
 
186
- <div id="method-M000416" class="method-detail">
187
- <a name="M000416"></a>
186
+ <div id="method-M000417" class="method-detail">
187
+ <a name="M000417"></a>
188
188
 
189
189
  <div class="method-heading">
190
- <a href="AppleCPM.src/M000416.html" target="Code" class="method-signature"
191
- onclick="popupCode('AppleCPM.src/M000416.html');return false;">
190
+ <a href="AppleCPM.src/M000417.html" target="Code" class="method-signature"
191
+ onclick="popupCode('AppleCPM.src/M000417.html');return false;">
192
192
  <span class="method-name">files</span><span class="method-args">(file_system_image)</span>
193
193
  </a>
194
194
  </div>
@@ -203,12 +203,12 @@ $10..1F Allocation map for this directory entry
203
203
  </div>
204
204
  </div>
205
205
 
206
- <div id="method-M000417" class="method-detail">
207
- <a name="M000417"></a>
206
+ <div id="method-M000418" class="method-detail">
207
+ <a name="M000418"></a>
208
208
 
209
209
  <div class="method-heading">
210
- <a href="AppleCPM.src/M000417.html" target="Code" class="method-signature"
211
- onclick="popupCode('AppleCPM.src/M000417.html');return false;">
210
+ <a href="AppleCPM.src/M000418.html" target="Code" class="method-signature"
211
+ onclick="popupCode('AppleCPM.src/M000418.html');return false;">
212
212
  <span class="method-name">find_free_space</span><span class="method-args">(file_system_image)</span>
213
213
  </a>
214
214
  </div>
@@ -217,12 +217,12 @@ $10..1F Allocation map for this directory entry
217
217
  </div>
218
218
  </div>
219
219
 
220
- <div id="method-M000414" class="method-detail">
221
- <a name="M000414"></a>
220
+ <div id="method-M000415" class="method-detail">
221
+ <a name="M000415"></a>
222
222
 
223
223
  <div class="method-heading">
224
- <a href="AppleCPM.src/M000414.html" target="Code" class="method-signature"
225
- onclick="popupCode('AppleCPM.src/M000414.html');return false;">
224
+ <a href="AppleCPM.src/M000415.html" target="Code" class="method-signature"
225
+ onclick="popupCode('AppleCPM.src/M000415.html');return false;">
226
226
  <span class="method-name">get_block</span><span class="method-args">(file_system_image,block_no)</span>
227
227
  </a>
228
228
  </div>
@@ -231,12 +231,12 @@ $10..1F Allocation map for this directory entry
231
231
  </div>
232
232
  </div>
233
233
 
234
- <div id="method-M000412" class="method-detail">
235
- <a name="M000412"></a>
234
+ <div id="method-M000413" class="method-detail">
235
+ <a name="M000413"></a>
236
236
 
237
237
  <div class="method-heading">
238
- <a href="AppleCPM.src/M000412.html" target="Code" class="method-signature"
239
- onclick="popupCode('AppleCPM.src/M000412.html');return false;">
238
+ <a href="AppleCPM.src/M000413.html" target="Code" class="method-signature"
239
+ onclick="popupCode('AppleCPM.src/M000413.html');return false;">
240
240
  <span class="method-name">host_system</span><span class="method-args">()</span>
241
241
  </a>
242
242
  </div>
@@ -245,12 +245,12 @@ $10..1F Allocation map for this directory entry
245
245
  </div>
246
246
  </div>
247
247
 
248
- <div id="method-M000413" class="method-detail">
249
- <a name="M000413"></a>
248
+ <div id="method-M000414" class="method-detail">
249
+ <a name="M000414"></a>
250
250
 
251
251
  <div class="method-heading">
252
- <a href="AppleCPM.src/M000413.html" target="Code" class="method-signature"
253
- onclick="popupCode('AppleCPM.src/M000413.html');return false;">
252
+ <a href="AppleCPM.src/M000414.html" target="Code" class="method-signature"
253
+ onclick="popupCode('AppleCPM.src/M000414.html');return false;">
254
254
  <span class="method-name">matching_score</span><span class="method-args">()</span>
255
255
  </a>
256
256
  </div>
@@ -259,12 +259,12 @@ $10..1F Allocation map for this directory entry
259
259
  </div>
260
260
  </div>
261
261
 
262
- <div id="method-M000415" class="method-detail">
263
- <a name="M000415"></a>
262
+ <div id="method-M000416" class="method-detail">
263
+ <a name="M000416"></a>
264
264
 
265
265
  <div class="method-heading">
266
- <a href="AppleCPM.src/M000415.html" target="Code" class="method-signature"
267
- onclick="popupCode('AppleCPM.src/M000415.html');return false;">
266
+ <a href="AppleCPM.src/M000416.html" target="Code" class="method-signature"
267
+ onclick="popupCode('AppleCPM.src/M000416.html');return false;">
268
268
  <span class="method-name">set_block</span><span class="method-args">(file_system_image,block_no,contents)</span>
269
269
  </a>
270
270
  </div>
@@ -5,14 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>matching_score (AppleCPM)</title>
8
+ <title>host_system (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 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>
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
16
  <span class="ruby-keyword kw">end</span></pre>
17
17
  </body>
18
18
  </html>
@@ -5,17 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>get_block (AppleCPM)</title>
8
+ <title>matching_score (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 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>
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>
20
17
  </body>
21
18
  </html>
@@ -5,19 +5,17 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>set_block (AppleCPM)</title>
8
+ <title>get_block (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 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>
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>
21
19
  <span class="ruby-keyword kw">end</span></pre>
22
20
  </body>
23
21
  </html>
@@ -5,36 +5,19 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>files (AppleCPM)</title>
8
+ <title>set_block (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 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>
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>
39
22
  </body>
40
23
  </html>
@@ -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>