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.
- data/doc/classes/A2DskDosOrder.html +5 -5
- data/doc/classes/A2DskDosOrder.src/M000535.html +18 -0
- data/doc/classes/AppleCPM.html +40 -40
- data/doc/classes/AppleCPM.src/M000413.html +4 -4
- data/doc/classes/AppleCPM.src/M000414.html +5 -8
- data/doc/classes/AppleCPM.src/M000415.html +7 -9
- data/doc/classes/AppleCPM.src/M000416.html +10 -27
- data/doc/classes/AppleCPM.src/M000417.html +16 -11
- data/doc/classes/AppleCPM.src/M000418.html +21 -43
- data/doc/classes/AppleCPM.src/M000419.html +37 -10
- data/doc/classes/AppleCPM.src/M000420.html +30 -0
- data/doc/classes/AppleHiResPic.html +40 -40
- data/doc/classes/AppleHiResPic.src/M000473.html +5 -5
- data/doc/classes/AppleHiResPic.src/M000474.html +4 -4
- data/doc/classes/AppleHiResPic.src/M000475.html +4 -38
- data/doc/classes/AppleHiResPic.src/M000476.html +38 -4
- data/doc/classes/AppleHiResPic.src/M000477.html +4 -4
- data/doc/classes/AppleHiResPic.src/M000478.html +4 -4
- data/doc/classes/AppleHiResPic.src/M000479.html +4 -4
- data/doc/classes/AppleHiResPic.src/M000480.html +18 -0
- data/doc/classes/ApplePrintShopMiniPix.html +20 -20
- data/doc/classes/ApplePrintShopMiniPix.src/M000570.html +24 -4
- data/doc/classes/ApplePrintShopMiniPix.src/M000571.html +4 -4
- data/doc/classes/ApplePrintShopMiniPix.src/M000572.html +4 -4
- data/doc/classes/ApplePrintShopMiniPix.src/M000573.html +18 -0
- data/doc/classes/AppleWorksWP.html +10 -10
- data/doc/classes/AppleWorksWP.src/M000536.html +6 -31
- data/doc/classes/AppleWorksWP.src/M000537.html +45 -0
- data/doc/classes/Applesoft.html +10 -10
- data/doc/classes/Applesoft.src/M000436.html +8 -62
- data/doc/classes/Applesoft.src/M000437.html +75 -0
- data/doc/classes/AtariDos.html +10 -10
- data/doc/classes/AtariDos.src/M000425.html +4 -29
- data/doc/classes/AtariDos.src/M000426.html +43 -0
- data/doc/classes/C64.html +105 -105
- data/doc/classes/C64.src/M000549.html +4 -4
- data/doc/classes/C64.src/M000550.html +4 -17
- data/doc/classes/C64.src/M000551.html +17 -6
- data/doc/classes/C64.src/M000552.html +6 -8
- data/doc/classes/C64.src/M000553.html +4 -4
- data/doc/classes/C64.src/M000554.html +8 -5
- data/doc/classes/C64.src/M000555.html +5 -5
- data/doc/classes/C64.src/M000556.html +5 -4
- data/doc/classes/C64.src/M000557.html +4 -4
- data/doc/classes/C64.src/M000558.html +4 -4
- data/doc/classes/C64.src/M000559.html +4 -4
- data/doc/classes/C64.src/M000560.html +3 -3
- data/doc/classes/C64.src/M000561.html +4 -4
- data/doc/classes/C64.src/M000562.html +3 -3
- data/doc/classes/C64.src/M000563.html +4 -5
- data/doc/classes/C64.src/M000564.html +5 -5
- data/doc/classes/C64.src/M000565.html +5 -4
- data/doc/classes/C64.src/M000566.html +3 -3
- data/doc/classes/C64.src/M000567.html +4 -55
- data/doc/classes/C64.src/M000568.html +22 -66
- data/doc/classes/C64.src/M000569.html +113 -0
- data/doc/classes/C64GeoPaintPic.html +30 -30
- data/doc/classes/C64GeoPaintPic.src/M000430.html +4 -4
- data/doc/classes/C64GeoPaintPic.src/M000431.html +4 -4
- data/doc/classes/C64GeoPaintPic.src/M000432.html +4 -57
- data/doc/classes/C64GeoPaintPic.src/M000433.html +55 -27
- data/doc/classes/C64GeoPaintPic.src/M000434.html +29 -6
- data/doc/classes/C64GeoPaintPic.src/M000435.html +20 -0
- data/doc/classes/C64GeosBASICFile.src/M000305.html +1 -1
- data/doc/classes/C64PhotoScrap.html +70 -70
- data/doc/classes/C64PhotoScrap.src/M000458.html +4 -4
- data/doc/classes/C64PhotoScrap.src/M000459.html +4 -4
- data/doc/classes/C64PhotoScrap.src/M000460.html +4 -4
- data/doc/classes/C64PhotoScrap.src/M000461.html +4 -4
- data/doc/classes/C64PhotoScrap.src/M000462.html +4 -4
- data/doc/classes/C64PhotoScrap.src/M000463.html +4 -4
- data/doc/classes/C64PhotoScrap.src/M000464.html +4 -7
- data/doc/classes/C64PhotoScrap.src/M000465.html +7 -4
- data/doc/classes/C64PhotoScrap.src/M000466.html +4 -4
- data/doc/classes/C64PhotoScrap.src/M000467.html +4 -4
- data/doc/classes/C64PhotoScrap.src/M000468.html +5 -40
- data/doc/classes/C64PhotoScrap.src/M000469.html +36 -28
- data/doc/classes/C64PhotoScrap.src/M000470.html +30 -9
- data/doc/classes/C64PhotoScrap.src/M000471.html +24 -0
- data/doc/classes/C64Seq.html +15 -15
- data/doc/classes/C64Seq.src/M000410.html +6 -4
- data/doc/classes/C64Seq.src/M000411.html +4 -4
- data/doc/classes/C64Seq.src/M000412.html +18 -0
- data/doc/classes/CVT.html +10 -10
- data/doc/classes/CVT.src/M000514.html +4 -4
- data/doc/classes/CVT.src/M000515.html +18 -0
- data/doc/classes/CVTArchive.html +12 -12
- data/doc/classes/CVTArchive.src/M000399.html +4 -56
- data/doc/classes/CVTArchive.src/M000400.html +70 -0
- data/doc/classes/CbmDos.src/M000099.html +4 -0
- data/doc/classes/CbmDos.src/M000100.html +1 -1
- data/doc/classes/CbmDos.src/M000101.html +1 -1
- data/doc/classes/CbmDos.src/M000102.html +1 -1
- data/doc/classes/CbmDos.src/M000103.html +1 -1
- data/doc/classes/CbmDos.src/M000104.html +1 -1
- data/doc/classes/CbmDos.src/M000105.html +1 -1
- data/doc/classes/CbmDos.src/M000106.html +1 -1
- data/doc/classes/CbmDos.src/M000107.html +1 -1
- data/doc/classes/Coco.html +65 -65
- data/doc/classes/Coco.src/M000483.html +4 -4
- data/doc/classes/Coco.src/M000484.html +4 -4
- data/doc/classes/Coco.src/M000485.html +4 -4
- data/doc/classes/Coco.src/M000486.html +4 -4
- data/doc/classes/Coco.src/M000487.html +4 -4
- data/doc/classes/Coco.src/M000488.html +3 -3
- data/doc/classes/Coco.src/M000489.html +4 -4
- data/doc/classes/Coco.src/M000490.html +4 -4
- data/doc/classes/Coco.src/M000491.html +4 -4
- data/doc/classes/Coco.src/M000492.html +4 -4
- data/doc/classes/Coco.src/M000493.html +4 -4
- data/doc/classes/Coco.src/M000494.html +4 -41
- data/doc/classes/Coco.src/M000495.html +55 -0
- data/doc/classes/CocoBasic.html +10 -10
- data/doc/classes/CocoBasic.src/M000428.html +6 -58
- data/doc/classes/CocoBasic.src/M000429.html +72 -0
- data/doc/classes/D81.html +45 -45
- data/doc/classes/D81.src/M000438.html +4 -4
- data/doc/classes/D81.src/M000439.html +4 -4
- data/doc/classes/D81.src/M000440.html +4 -4
- data/doc/classes/D81.src/M000441.html +4 -4
- data/doc/classes/D81.src/M000442.html +4 -4
- data/doc/classes/D81.src/M000443.html +4 -4
- data/doc/classes/D81.src/M000444.html +4 -9
- data/doc/classes/D81.src/M000445.html +7 -8
- data/doc/classes/D81.src/M000446.html +24 -0
- data/doc/classes/FileCache.html +15 -0
- data/doc/classes/FileCache.src/M000398.html +20 -0
- data/doc/classes/FileContainer.html +5 -5
- data/doc/classes/FileContainer.src/M000472.html +26 -0
- data/doc/classes/FileSystem.html +41 -41
- data/doc/classes/FileSystem.src/M000447.html +4 -4
- data/doc/classes/FileSystem.src/M000448.html +4 -4
- data/doc/classes/FileSystem.src/M000449.html +4 -4
- data/doc/classes/FileSystem.src/M000450.html +4 -4
- data/doc/classes/FileSystem.src/M000451.html +5 -5
- data/doc/classes/FileSystem.src/M000452.html +4 -6
- data/doc/classes/FileSystem.src/M000453.html +6 -11
- data/doc/classes/FileSystem.src/M000454.html +25 -0
- data/doc/classes/GenericGIF.html +25 -25
- data/doc/classes/GenericGIF.src/M000578.html +4 -4
- data/doc/classes/GenericGIF.src/M000579.html +4 -4
- data/doc/classes/GenericGIF.src/M000580.html +4 -4
- data/doc/classes/GenericGIF.src/M000581.html +4 -4
- data/doc/classes/GenericGIF.src/M000582.html +18 -0
- data/doc/classes/HostSystem.html +91 -91
- data/doc/classes/HostSystem.src/M000496.html +4 -8
- data/doc/classes/HostSystem.src/M000497.html +8 -4
- data/doc/classes/HostSystem.src/M000498.html +5 -5
- data/doc/classes/HostSystem.src/M000499.html +4 -8
- data/doc/classes/HostSystem.src/M000500.html +8 -19
- data/doc/classes/HostSystem.src/M000501.html +19 -4
- data/doc/classes/HostSystem.src/M000502.html +4 -5
- data/doc/classes/HostSystem.src/M000503.html +5 -4
- data/doc/classes/HostSystem.src/M000504.html +4 -4
- data/doc/classes/HostSystem.src/M000505.html +4 -4
- data/doc/classes/HostSystem.src/M000506.html +4 -4
- data/doc/classes/HostSystem.src/M000507.html +3 -3
- data/doc/classes/HostSystem.src/M000508.html +4 -4
- data/doc/classes/HostSystem.src/M000509.html +4 -4
- data/doc/classes/HostSystem.src/M000510.html +4 -4
- data/doc/classes/HostSystem.src/M000511.html +4 -15
- data/doc/classes/HostSystem.src/M000512.html +15 -4
- data/doc/classes/HostSystem.src/M000513.html +18 -0
- data/doc/classes/ImageSniffing.html +36 -36
- data/doc/classes/ImageSniffing.src/M000526.html +103 -19
- data/doc/classes/ImageSniffing.src/M000527.html +22 -141
- data/doc/classes/ImageSniffing.src/M000528.html +152 -34
- data/doc/classes/ImageSniffing.src/M000529.html +31 -30
- data/doc/classes/ImageSniffing.src/M000530.html +25 -38
- data/doc/classes/ImageSniffing.src/M000531.html +38 -53
- data/doc/classes/ImageSniffing.src/M000532.html +53 -23
- data/doc/classes/ImageSniffing.src/M000533.html +44 -0
- data/doc/classes/PackedProDosPic.html +5 -5
- data/doc/classes/PackedProDosPic.src/M000427.html +40 -0
- data/doc/classes/PascalDos.html +15 -15
- data/doc/classes/PascalDos.src/M000538.html +5 -8
- data/doc/classes/PascalDos.src/M000539.html +8 -49
- data/doc/classes/PascalDos.src/M000540.html +62 -0
- data/doc/classes/PascalPic.html +10 -10
- data/doc/classes/PascalPic.src/M000520.html +6 -4
- data/doc/classes/PascalPic.src/M000521.html +18 -0
- data/doc/classes/ProDosBINFile.html +20 -20
- data/doc/classes/ProDosBINFile.src/M000516.html +7 -5
- data/doc/classes/ProDosBINFile.src/M000517.html +4 -4
- data/doc/classes/ProDosBINFile.src/M000518.html +4 -4
- data/doc/classes/ProDosBINFile.src/M000519.html +18 -0
- data/doc/classes/ProcSource.html +10 -10
- data/doc/classes/ProcSource.src/M000576.html +21 -92
- data/doc/classes/ProcSource.src/M000577.html +109 -0
- data/doc/classes/RDoc.html +5 -5
- data/doc/classes/RDoc.src/M000575.html +40 -0
- data/doc/classes/RipXplore.html +1 -1
- data/doc/classes/RsDos.html +20 -20
- data/doc/classes/RsDos.src/M000522.html +4 -4
- data/doc/classes/RsDos.src/M000523.html +4 -4
- data/doc/classes/RsDos.src/M000524.html +4 -48
- data/doc/classes/RsDos.src/M000525.html +62 -0
- data/doc/classes/ScAsm.html +5 -5
- data/doc/classes/ScAsm.src/M000534.html +45 -0
- data/doc/classes/ScreenDump.html +5 -5
- data/doc/classes/ScreenDump.src/M000574.html +24 -0
- data/doc/classes/ScreenDumps.html +15 -15
- data/doc/classes/ScreenDumps.src/M000403.html +8 -10
- data/doc/classes/ScreenDumps.src/M000404.html +10 -21
- data/doc/classes/ScreenDumps.src/M000405.html +35 -0
- data/doc/classes/SubclassTracking.html +5 -5
- data/doc/classes/SubclassTracking.src/M000583.html +23 -0
- data/doc/classes/Ti99Fms.html +10 -10
- data/doc/classes/Ti99Fms.src/M000481.html +4 -63
- data/doc/classes/Ti99Fms.src/M000482.html +77 -0
- data/doc/classes/Ti99TextFile.html +10 -10
- data/doc/classes/Ti99TextFile.src/M000547.html +19 -4
- data/doc/classes/Ti99TextFile.src/M000548.html +18 -0
- data/doc/classes/TiArtistPattern.html +20 -20
- data/doc/classes/TiArtistPattern.src/M000406.html +36 -4
- data/doc/classes/TiArtistPattern.src/M000407.html +4 -4
- data/doc/classes/TiArtistPattern.src/M000408.html +4 -4
- data/doc/classes/TiArtistPattern.src/M000409.html +18 -0
- data/doc/classes/TiRLE.html +20 -20
- data/doc/classes/TiRLE.src/M000543.html +5 -5
- data/doc/classes/TiRLE.src/M000544.html +8 -29
- data/doc/classes/TiRLE.src/M000545.html +30 -5
- data/doc/classes/TiRLE.src/M000546.html +18 -0
- data/doc/classes/Trs80PascalSource.html +10 -10
- data/doc/classes/Trs80PascalSource.src/M000541.html +6 -16
- data/doc/classes/Trs80PascalSource.src/M000542.html +30 -0
- data/doc/classes/Trs80Text.html +15 -15
- data/doc/classes/Trs80Text.src/M000455.html +6 -4
- data/doc/classes/Trs80Text.src/M000456.html +4 -4
- data/doc/classes/Trs80Text.src/M000457.html +18 -0
- data/doc/classes/TrsDos.html +20 -20
- data/doc/classes/TrsDos.src/M000421.html +4 -4
- data/doc/classes/TrsDos.src/M000422.html +4 -4
- data/doc/classes/TrsDos.src/M000423.html +4 -50
- data/doc/classes/TrsDos.src/M000424.html +64 -0
- data/doc/classes/Zx81PFile.html +10 -10
- data/doc/classes/Zx81PFile.src/M000401.html +4 -4
- data/doc/classes/Zx81PFile.src/M000402.html +18 -0
- data/doc/created.rid +1 -1
- data/doc/files/lib/FileCache_rb.html +1 -1
- data/doc/files/lib/LibRipXplore_rb.html +1 -1
- data/doc/files/lib/file_systems/CbmDos_rb.html +1 -1
- data/doc/files/lib/native_file_types/c64/C64GeosFile_rb.html +1 -1
- data/doc/files/test/tc_c64_rb.html +1 -1
- data/doc/fr_method_index.html +318 -317
- data/lib/FileCache.rb +6 -0
- data/lib/LibRipXplore.rb +1 -1
- data/lib/file_systems/CbmDos.rb +4 -0
- data/lib/native_file_types/c64/C64GeosFile.rb +1 -1
- data/test/tc_c64.rb +10 -0
- 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="#
|
91
|
+
<a href="#M000535">interleave</a>
|
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-
|
114
|
-
<a name="
|
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/
|
118
|
-
onclick="popupCode('A2DskDosOrder.src/
|
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>
|
data/doc/classes/AppleCPM.html
CHANGED
@@ -88,14 +88,14 @@
|
|
88
88
|
<h3 class="section-bar">Methods</h3>
|
89
89
|
|
90
90
|
<div class="name-list">
|
91
|
-
<a href="#
|
92
|
-
<a href="#
|
93
|
-
<a href="#
|
94
|
-
<a href="#
|
95
|
-
<a href="#
|
96
|
-
<a href="#
|
97
|
-
<a href="#
|
98
|
-
<a href="#
|
91
|
+
<a href="#M000419">add_file</a>
|
92
|
+
<a href="#M000420">delete_file</a>
|
93
|
+
<a href="#M000417">files</a>
|
94
|
+
<a href="#M000418">find_free_space</a>
|
95
|
+
<a href="#M000415">get_block</a>
|
96
|
+
<a href="#M000413">host_system</a>
|
97
|
+
<a href="#M000414">matching_score</a>
|
98
|
+
<a href="#M000416">set_block</a>
|
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-
|
159
|
-
<a name="
|
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/
|
163
|
-
onclick="popupCode('AppleCPM.src/
|
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-
|
173
|
-
<a name="
|
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/
|
177
|
-
onclick="popupCode('AppleCPM.src/
|
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-
|
187
|
-
<a name="
|
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/
|
191
|
-
onclick="popupCode('AppleCPM.src/
|
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-
|
207
|
-
<a name="
|
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/
|
211
|
-
onclick="popupCode('AppleCPM.src/
|
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-
|
221
|
-
<a name="
|
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/
|
225
|
-
onclick="popupCode('AppleCPM.src/
|
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-
|
235
|
-
<a name="
|
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/
|
239
|
-
onclick="popupCode('AppleCPM.src/
|
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-
|
249
|
-
<a name="
|
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/
|
253
|
-
onclick="popupCode('AppleCPM.src/
|
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-
|
263
|
-
<a name="
|
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/
|
267
|
-
onclick="popupCode('AppleCPM.src/
|
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>
|
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
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">
|
15
|
-
<span class="ruby-
|
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>
|
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
|
14
|
-
|
15
|
-
|
16
|
-
|
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>
|
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
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">
|
15
|
-
<span class="ruby-identifier">
|
16
|
-
<span class="ruby-identifier">
|
17
|
-
<span class="ruby-
|
18
|
-
|
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">""</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>
|
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
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
<span class="ruby-keyword kw">
|
21
|
-
|
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">"#{file_name}.#{file_ext}"</span>
|
24
|
-
<span class="ruby-identifier">files</span><span class="ruby-operator"><<</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"><<</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">""</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">"invalid block #{block_no} - length was #{contents.length}"</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>
|
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
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">
|
15
|
-
<span class="ruby-identifier">
|
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"><<</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"><</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">"#{file_name}.#{file_ext}"</span>
|
24
|
+
<span class="ruby-identifier">files</span><span class="ruby-operator"><<</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"><<</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">""</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">
|
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
|
-
|
29
|
-
<span class="ruby-identifier">
|
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
|
-
|
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>
|
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
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
<span class="ruby-
|
19
|
-
|
20
|
-
|
21
|
-
<span class="ruby-identifier">
|
22
|
-
<span class="ruby-identifier">
|
23
|
-
<span class="ruby-
|
24
|
-
<span class="ruby-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
<span class="ruby-
|
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">"CA8A3C4C16"</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 "dir entry # #{dir_entry_no}"
|
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"><<</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"><</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"><<</span><span class="ruby-identifier">dir_entry_no</span>
|
47
30
|
<span class="ruby-keyword kw">end</span>
|
48
|
-
|
49
|
-
|
50
|
-
|
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">"error: file should now be in catalog\n #{file_system_image.catalog}"</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>
|