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