ripxplore 0.14.0 → 0.14.1

Sign up to get free protection for your applications and to get access to all the features.
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>