ripxplore 0.12.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/doc/classes/A2Dsk.html +35 -35
- data/doc/classes/A2Dsk.src/M000350.html +4 -4
- data/doc/classes/A2Dsk.src/M000351.html +4 -8
- data/doc/classes/A2Dsk.src/M000352.html +4 -9
- data/doc/classes/A2Dsk.src/M000353.html +4 -9
- data/doc/classes/A2Dsk.src/M000354.html +18 -0
- data/doc/classes/A2Dsk.src/M000355.html +22 -0
- data/doc/classes/A2Dsk.src/M000356.html +23 -0
- data/doc/classes/A2DskDosOrder.html +5 -5
- data/doc/classes/A2DskDosOrder.src/M000507.html +18 -0
- data/doc/classes/A2WriteTests.html +10 -10
- data/doc/classes/A2WriteTests.src/M000222.html +42 -0
- data/doc/classes/A2WriteTests.src/M000223.html +67 -0
- data/doc/classes/AppleBinary.html +20 -20
- data/doc/classes/AppleBinary.src/M000321.html +6 -4
- data/doc/classes/AppleBinary.src/M000322.html +18 -0
- data/doc/classes/AppleBinary.src/M000323.html +18 -0
- data/doc/classes/AppleBinary.src/M000324.html +18 -0
- data/doc/classes/AppleCPM.html +40 -40
- data/doc/classes/AppleCPM.src/M000399.html +4 -26
- data/doc/classes/AppleCPM.src/M000400.html +4 -21
- data/doc/classes/AppleCPM.src/M000401.html +7 -43
- data/doc/classes/AppleCPM.src/M000402.html +9 -16
- data/doc/classes/AppleCPM.src/M000403.html +25 -15
- data/doc/classes/AppleCPM.src/M000404.html +35 -0
- data/doc/classes/AppleCPM.src/M000405.html +57 -0
- data/doc/classes/AppleCPM.src/M000406.html +30 -0
- data/doc/classes/AppleDos.html +55 -55
- data/doc/classes/AppleDos.src/M000246.html +4 -84
- data/doc/classes/AppleDos.src/M000247.html +4 -14
- data/doc/classes/AppleDos.src/M000248.html +4 -20
- data/doc/classes/AppleDos.src/M000249.html +53 -17
- data/doc/classes/AppleDos.src/M000250.html +83 -16
- data/doc/classes/AppleDos.src/M000251.html +13 -12
- data/doc/classes/AppleDos.src/M000252.html +19 -28
- data/doc/classes/AppleDos.src/M000253.html +22 -28
- data/doc/classes/AppleDos.src/M000254.html +31 -0
- data/doc/classes/AppleDos.src/M000255.html +27 -0
- data/doc/classes/AppleDos.src/M000256.html +43 -0
- data/doc/classes/AppleHiResPic.html +40 -40
- data/doc/classes/AppleHiResPic.src/M000445.html +5 -5
- data/doc/classes/AppleHiResPic.src/M000446.html +4 -4
- data/doc/classes/AppleHiResPic.src/M000447.html +4 -4
- data/doc/classes/AppleHiResPic.src/M000448.html +38 -4
- data/doc/classes/AppleHiResPic.src/M000449.html +4 -4
- data/doc/classes/AppleHiResPic.src/M000450.html +18 -0
- data/doc/classes/AppleHiResPic.src/M000451.html +18 -0
- data/doc/classes/AppleHiResPic.src/M000452.html +18 -0
- data/doc/classes/ApplePrintShopMiniPix.html +20 -20
- data/doc/classes/ApplePrintShopMiniPix.src/M000542.html +24 -4
- data/doc/classes/ApplePrintShopMiniPix.src/M000543.html +18 -0
- data/doc/classes/ApplePrintShopMiniPix.src/M000544.html +18 -0
- data/doc/classes/ApplePrintShopMiniPix.src/M000545.html +18 -0
- data/doc/classes/AppleText.html +15 -15
- data/doc/classes/AppleText.src/M000214.html +21 -0
- data/doc/classes/AppleText.src/M000215.html +20 -0
- data/doc/classes/AppleText.src/M000216.html +23 -0
- data/doc/classes/AppleWorksWP.html +10 -10
- data/doc/classes/AppleWorksWP.src/M000508.html +20 -0
- data/doc/classes/AppleWorksWP.src/M000509.html +45 -0
- data/doc/classes/Applesoft.html +10 -10
- data/doc/classes/Applesoft.src/M000422.html +21 -0
- data/doc/classes/Applesoft.src/M000423.html +75 -0
- data/doc/classes/Atari800.html +65 -65
- data/doc/classes/Atari800.src/M000361.html +4 -4
- data/doc/classes/Atari800.src/M000362.html +9 -4
- data/doc/classes/Atari800.src/M000363.html +4 -4
- data/doc/classes/Atari800.src/M000364.html +5 -4
- data/doc/classes/Atari800.src/M000365.html +4 -4
- data/doc/classes/Atari800.src/M000366.html +4 -4
- data/doc/classes/Atari800.src/M000367.html +4 -4
- data/doc/classes/Atari800.src/M000368.html +4 -4
- data/doc/classes/Atari800.src/M000369.html +4 -4
- data/doc/classes/Atari800.src/M000370.html +4 -4
- data/doc/classes/Atari800.src/M000371.html +18 -0
- data/doc/classes/Atari800.src/M000372.html +18 -0
- data/doc/classes/Atari800.src/M000373.html +18 -0
- data/doc/classes/AtariBasic.html +10 -10
- data/doc/classes/AtariBasic.src/M000281.html +20 -0
- data/doc/classes/AtariBasic.src/M000282.html +108 -0
- data/doc/classes/AtariDos.html +10 -10
- data/doc/classes/AtariDos.src/M000411.html +18 -0
- data/doc/classes/AtariDos.src/M000412.html +43 -0
- data/doc/classes/AtariText.html +10 -10
- data/doc/classes/AtariText.src/M000335.html +20 -0
- data/doc/classes/AtariText.src/M000336.html +18 -0
- data/doc/classes/Atr.html +35 -35
- data/doc/classes/Atr.src/M000239.html +4 -4
- data/doc/classes/Atr.src/M000240.html +4 -5
- data/doc/classes/Atr.src/M000241.html +5 -5
- data/doc/classes/Atr.src/M000242.html +4 -5
- data/doc/classes/Atr.src/M000243.html +18 -0
- data/doc/classes/Atr.src/M000244.html +19 -0
- data/doc/classes/Atr.src/M000245.html +19 -0
- data/doc/classes/C64.html +105 -105
- data/doc/classes/C64.src/M000521.html +4 -8
- data/doc/classes/C64.src/M000522.html +4 -8
- data/doc/classes/C64.src/M000523.html +17 -5
- data/doc/classes/C64.src/M000524.html +6 -5
- data/doc/classes/C64.src/M000525.html +8 -4
- data/doc/classes/C64.src/M000526.html +8 -4
- data/doc/classes/C64.src/M000527.html +5 -4
- data/doc/classes/C64.src/M000528.html +5 -4
- data/doc/classes/C64.src/M000529.html +4 -4
- data/doc/classes/C64.src/M000530.html +4 -4
- data/doc/classes/C64.src/M000531.html +4 -4
- data/doc/classes/C64.src/M000532.html +4 -5
- data/doc/classes/C64.src/M000533.html +4 -5
- data/doc/classes/C64.src/M000534.html +4 -4
- data/doc/classes/C64.src/M000535.html +4 -4
- data/doc/classes/C64.src/M000536.html +5 -55
- data/doc/classes/C64.src/M000537.html +5 -99
- data/doc/classes/C64.src/M000538.html +4 -99
- data/doc/classes/C64.src/M000539.html +18 -0
- data/doc/classes/C64.src/M000540.html +69 -0
- data/doc/classes/C64.src/M000541.html +113 -0
- data/doc/classes/C64GeoPaintPic.html +30 -30
- data/doc/classes/C64GeoPaintPic.src/M000416.html +4 -29
- data/doc/classes/C64GeoPaintPic.src/M000417.html +4 -6
- data/doc/classes/C64GeoPaintPic.src/M000418.html +4 -6
- data/doc/classes/C64GeoPaintPic.src/M000419.html +66 -0
- data/doc/classes/C64GeoPaintPic.src/M000420.html +43 -0
- data/doc/classes/C64GeoPaintPic.src/M000421.html +20 -0
- data/doc/classes/C64GeosBASICFile.html +10 -10
- data/doc/classes/C64GeosBASICFile.src/M000293.html +19 -0
- data/doc/classes/C64GeosBASICFile.src/M000294.html +18 -0
- data/doc/classes/C64GeosFont.html +117 -54
- data/doc/classes/C64GeosFont.src/M000181.html +1 -1
- data/doc/classes/C64GeosFont.src/M000182.html +4 -12
- data/doc/classes/C64GeosFont.src/M000183.html +5 -9
- data/doc/classes/C64GeosFont.src/M000184.html +49 -11
- data/doc/classes/C64GeosFont.src/M000185.html +12 -12
- data/doc/classes/C64GeosFont.src/M000186.html +9 -6
- data/doc/classes/C64GeosFont.src/M000187.html +12 -6
- data/doc/classes/C64GeosFont.src/M000188.html +6 -21
- data/doc/classes/C64GeosFont.src/M000189.html +6 -9
- data/doc/classes/C64GeosFont.src/M000190.html +7 -10
- data/doc/classes/C64GeosFont.src/M000191.html +7 -18
- data/doc/classes/C64GeosFont.src/M000192.html +27 -21
- data/doc/classes/C64GeosFont.src/M000193.html +9 -21
- data/doc/classes/C64GeosFont.src/M000194.html +23 -0
- data/doc/classes/C64GeosFont.src/M000195.html +31 -0
- data/doc/classes/C64GeosFont.src/M000196.html +35 -0
- data/doc/classes/C64Seq.html +15 -15
- data/doc/classes/C64Seq.src/M000396.html +20 -0
- data/doc/classes/C64Seq.src/M000397.html +18 -0
- data/doc/classes/C64Seq.src/M000398.html +18 -0
- data/doc/classes/CVT.html +10 -10
- data/doc/classes/CVT.src/M000486.html +18 -0
- data/doc/classes/CVT.src/M000487.html +18 -0
- data/doc/classes/CVTArchive.html +12 -12
- data/doc/classes/CVTArchive.src/M000385.html +18 -0
- data/doc/classes/CVTArchive.src/M000386.html +67 -0
- data/doc/classes/CbmFile.html +10 -10
- data/doc/classes/CbmFile.src/M000333.html +22 -0
- data/doc/classes/CbmFile.src/M000334.html +18 -0
- data/doc/classes/Coco.html +65 -65
- data/doc/classes/Coco.src/M000455.html +4 -4
- data/doc/classes/Coco.src/M000456.html +4 -4
- data/doc/classes/Coco.src/M000457.html +4 -4
- data/doc/classes/Coco.src/M000458.html +4 -4
- data/doc/classes/Coco.src/M000459.html +4 -4
- data/doc/classes/Coco.src/M000460.html +4 -4
- data/doc/classes/Coco.src/M000461.html +4 -4
- data/doc/classes/Coco.src/M000462.html +4 -4
- data/doc/classes/Coco.src/M000463.html +4 -41
- data/doc/classes/Coco.src/M000464.html +4 -41
- data/doc/classes/Coco.src/M000465.html +18 -0
- data/doc/classes/Coco.src/M000466.html +18 -0
- data/doc/classes/Coco.src/M000467.html +55 -0
- data/doc/classes/CocoBasic.html +10 -10
- data/doc/classes/CocoBasic.src/M000414.html +20 -0
- data/doc/classes/CocoBasic.src/M000415.html +72 -0
- data/doc/classes/CocoScreen.html +20 -20
- data/doc/classes/CocoScreen.src/M000277.html +4 -4
- data/doc/classes/CocoScreen.src/M000278.html +18 -0
- data/doc/classes/CocoScreen.src/M000279.html +18 -0
- data/doc/classes/CocoScreen.src/M000280.html +18 -0
- data/doc/classes/D81.html +45 -45
- data/doc/classes/D81.src/M000424.html +4 -4
- data/doc/classes/D81.src/M000425.html +4 -4
- data/doc/classes/D81.src/M000426.html +4 -4
- data/doc/classes/D81.src/M000427.html +4 -9
- data/doc/classes/D81.src/M000428.html +4 -10
- data/doc/classes/D81.src/M000429.html +4 -10
- data/doc/classes/D81.src/M000430.html +18 -0
- data/doc/classes/D81.src/M000431.html +23 -0
- data/doc/classes/D81.src/M000432.html +24 -0
- data/doc/classes/DumpUtilities.html +10 -10
- data/doc/classes/DumpUtilities.src/M000217.html +33 -0
- data/doc/classes/DumpUtilities.src/M000218.html +27 -0
- data/doc/classes/FileCache.html +55 -55
- data/doc/classes/FileCache.src/M000374.html +11 -17
- data/doc/classes/FileCache.src/M000375.html +6 -7
- data/doc/classes/FileCache.src/M000376.html +10 -8
- data/doc/classes/FileCache.src/M000377.html +7 -8
- data/doc/classes/FileCache.src/M000378.html +17 -12
- data/doc/classes/FileCache.src/M000379.html +8 -11
- data/doc/classes/FileCache.src/M000380.html +9 -8
- data/doc/classes/FileCache.src/M000381.html +10 -8
- data/doc/classes/FileCache.src/M000382.html +27 -0
- data/doc/classes/FileCache.src/M000383.html +24 -0
- data/doc/classes/FileCache.src/M000384.html +21 -0
- data/doc/classes/FileContainer.html +5 -5
- data/doc/classes/FileContainer.src/M000444.html +26 -0
- data/doc/classes/FileSystem.html +40 -40
- data/doc/classes/FileSystem.src/M000433.html +4 -4
- data/doc/classes/FileSystem.src/M000434.html +5 -5
- data/doc/classes/FileSystem.src/M000435.html +5 -7
- data/doc/classes/FileSystem.src/M000436.html +4 -11
- data/doc/classes/FileSystem.src/M000437.html +5 -12
- data/doc/classes/FileSystem.src/M000438.html +18 -0
- data/doc/classes/FileSystem.src/M000439.html +20 -0
- data/doc/classes/FileSystem.src/M000440.html +25 -0
- data/doc/classes/FileSystemImage.html +127 -127
- data/doc/classes/FileSystemImage.src/M000296.html +8 -4
- data/doc/classes/FileSystemImage.src/M000297.html +27 -5
- data/doc/classes/FileSystemImage.src/M000298.html +13 -4
- data/doc/classes/FileSystemImage.src/M000299.html +4 -8
- data/doc/classes/FileSystemImage.src/M000300.html +5 -6
- data/doc/classes/FileSystemImage.src/M000301.html +5 -4
- data/doc/classes/FileSystemImage.src/M000302.html +4 -4
- data/doc/classes/FileSystemImage.src/M000303.html +8 -4
- data/doc/classes/FileSystemImage.src/M000304.html +6 -5
- data/doc/classes/FileSystemImage.src/M000305.html +5 -7
- data/doc/classes/FileSystemImage.src/M000306.html +5 -9
- data/doc/classes/FileSystemImage.src/M000307.html +5 -9
- data/doc/classes/FileSystemImage.src/M000308.html +4 -4
- data/doc/classes/FileSystemImage.src/M000309.html +7 -10
- data/doc/classes/FileSystemImage.src/M000310.html +9 -10
- data/doc/classes/FileSystemImage.src/M000311.html +9 -12
- data/doc/classes/FileSystemImage.src/M000312.html +4 -4
- data/doc/classes/FileSystemImage.src/M000313.html +9 -4
- data/doc/classes/FileSystemImage.src/M000314.html +9 -4
- data/doc/classes/FileSystemImage.src/M000315.html +12 -14
- data/doc/classes/FileSystemImage.src/M000316.html +4 -6
- data/doc/classes/FileSystemImage.src/M000317.html +4 -6
- data/doc/classes/FileSystemImage.src/M000318.html +18 -0
- data/doc/classes/FileSystemImage.src/M000319.html +27 -0
- data/doc/classes/FileSystemImage.src/M000320.html +20 -0
- data/doc/classes/GenericFile.html +10 -10
- data/doc/classes/GenericFile.src/M000235.html +20 -0
- data/doc/classes/GenericFile.src/M000236.html +18 -0
- data/doc/classes/GenericGIF.html +25 -25
- data/doc/classes/GenericGIF.src/M000550.html +4 -4
- data/doc/classes/GenericGIF.src/M000551.html +4 -4
- data/doc/classes/GenericGIF.src/M000552.html +18 -0
- data/doc/classes/GenericGIF.src/M000553.html +18 -0
- data/doc/classes/GenericGIF.src/M000554.html +18 -0
- data/doc/classes/HostSystem.html +91 -91
- data/doc/classes/HostSystem.src/M000468.html +5 -9
- data/doc/classes/HostSystem.src/M000469.html +9 -20
- data/doc/classes/HostSystem.src/M000470.html +5 -5
- data/doc/classes/HostSystem.src/M000471.html +4 -5
- data/doc/classes/HostSystem.src/M000472.html +8 -4
- data/doc/classes/HostSystem.src/M000473.html +19 -4
- data/doc/classes/HostSystem.src/M000474.html +4 -4
- data/doc/classes/HostSystem.src/M000475.html +5 -4
- data/doc/classes/HostSystem.src/M000476.html +4 -4
- data/doc/classes/HostSystem.src/M000477.html +4 -4
- data/doc/classes/HostSystem.src/M000478.html +4 -4
- data/doc/classes/HostSystem.src/M000479.html +4 -4
- data/doc/classes/HostSystem.src/M000480.html +4 -15
- data/doc/classes/HostSystem.src/M000481.html +4 -4
- data/doc/classes/HostSystem.src/M000482.html +4 -4
- data/doc/classes/HostSystem.src/M000483.html +18 -0
- data/doc/classes/HostSystem.src/M000484.html +29 -0
- data/doc/classes/HostSystem.src/M000485.html +18 -0
- data/doc/classes/ImageFormat.html +85 -85
- data/doc/classes/ImageFormat.src/M000197.html +4 -4
- data/doc/classes/ImageFormat.src/M000198.html +4 -8
- data/doc/classes/ImageFormat.src/M000199.html +4 -5
- data/doc/classes/ImageFormat.src/M000200.html +4 -4
- data/doc/classes/ImageFormat.src/M000201.html +4 -4
- data/doc/classes/ImageFormat.src/M000202.html +8 -4
- data/doc/classes/ImageFormat.src/M000203.html +5 -4
- data/doc/classes/ImageFormat.src/M000204.html +4 -4
- data/doc/classes/ImageFormat.src/M000205.html +4 -4
- data/doc/classes/ImageFormat.src/M000206.html +4 -4
- data/doc/classes/ImageFormat.src/M000207.html +4 -6
- data/doc/classes/ImageFormat.src/M000208.html +4 -12
- data/doc/classes/ImageFormat.src/M000209.html +4 -4
- data/doc/classes/ImageFormat.src/M000210.html +4 -4
- data/doc/classes/ImageFormat.src/M000211.html +20 -0
- data/doc/classes/ImageFormat.src/M000212.html +26 -0
- data/doc/classes/ImageFormat.src/M000213.html +18 -0
- data/doc/classes/ImageSniffing.html +40 -40
- data/doc/classes/ImageSniffing.src/M000498.html +99 -25
- data/doc/classes/ImageSniffing.src/M000499.html +19 -42
- data/doc/classes/ImageSniffing.src/M000500.html +100 -60
- data/doc/classes/ImageSniffing.src/M000501.html +31 -28
- data/doc/classes/ImageSniffing.src/M000502.html +24 -22
- data/doc/classes/ImageSniffing.src/M000503.html +59 -0
- data/doc/classes/ImageSniffing.src/M000504.html +74 -0
- data/doc/classes/ImageSniffing.src/M000505.html +44 -0
- data/doc/classes/IntegerBASIC.html +10 -10
- data/doc/classes/IntegerBASIC.src/M000289.html +20 -0
- data/doc/classes/IntegerBASIC.src/M000290.html +86 -0
- data/doc/classes/JvcDsk.html +30 -30
- data/doc/classes/JvcDsk.src/M000283.html +4 -4
- data/doc/classes/JvcDsk.src/M000284.html +24 -7
- data/doc/classes/JvcDsk.src/M000285.html +4 -8
- data/doc/classes/JvcDsk.src/M000286.html +18 -0
- data/doc/classes/JvcDsk.src/M000287.html +18 -0
- data/doc/classes/JvcDsk.src/M000288.html +22 -0
- data/doc/classes/MBasic.html +10 -10
- data/doc/classes/MBasic.src/M000237.html +20 -0
- data/doc/classes/MBasic.src/M000238.html +22 -0
- data/doc/classes/NativeFileType.html +101 -101
- data/doc/classes/NativeFileType.src/M000257.html +10 -9
- data/doc/classes/NativeFileType.src/M000258.html +4 -4
- data/doc/classes/NativeFileType.src/M000259.html +4 -4
- data/doc/classes/NativeFileType.src/M000260.html +4 -4
- data/doc/classes/NativeFileType.src/M000261.html +7 -8
- data/doc/classes/NativeFileType.src/M000262.html +4 -4
- data/doc/classes/NativeFileType.src/M000263.html +4 -8
- data/doc/classes/NativeFileType.src/M000264.html +4 -4
- data/doc/classes/NativeFileType.src/M000265.html +8 -9
- data/doc/classes/NativeFileType.src/M000266.html +5 -28
- data/doc/classes/NativeFileType.src/M000267.html +9 -11
- data/doc/classes/NativeFileType.src/M000268.html +5 -5
- data/doc/classes/NativeFileType.src/M000269.html +11 -5
- data/doc/classes/NativeFileType.src/M000270.html +27 -4
- data/doc/classes/NativeFileType.src/M000271.html +10 -6
- data/doc/classes/NativeFileType.src/M000272.html +4 -14
- data/doc/classes/NativeFileType.src/M000273.html +4 -14
- data/doc/classes/NativeFileType.src/M000274.html +18 -0
- data/doc/classes/NativeFileType.src/M000275.html +20 -0
- data/doc/classes/NativeFileType.src/M000276.html +28 -0
- data/doc/classes/PackedProDosPic.html +5 -5
- data/doc/classes/PackedProDosPic.src/M000413.html +40 -0
- data/doc/classes/PascalDos.html +15 -15
- data/doc/classes/PascalDos.src/M000510.html +18 -0
- data/doc/classes/PascalDos.src/M000511.html +21 -0
- data/doc/classes/PascalDos.src/M000512.html +62 -0
- data/doc/classes/PascalPic.html +10 -10
- data/doc/classes/PascalPic.src/M000492.html +20 -0
- data/doc/classes/PascalPic.src/M000493.html +18 -0
- data/doc/classes/ProDosBINFile.html +20 -20
- data/doc/classes/ProDosBINFile.src/M000488.html +7 -5
- data/doc/classes/ProDosBINFile.src/M000489.html +18 -0
- data/doc/classes/ProDosBINFile.src/M000490.html +18 -0
- data/doc/classes/ProDosBINFile.src/M000491.html +18 -0
- data/doc/classes/ProDosFile.html +15 -15
- data/doc/classes/ProDosFile.src/M000219.html +20 -0
- data/doc/classes/ProDosFile.src/M000220.html +18 -0
- data/doc/classes/ProDosFile.src/M000221.html +19 -0
- data/doc/classes/Proc.html +55 -55
- data/doc/classes/Proc.src/M000224.html +6 -7
- data/doc/classes/Proc.src/M000225.html +5 -5
- data/doc/classes/Proc.src/M000226.html +9 -3
- data/doc/classes/Proc.src/M000227.html +8 -6
- data/doc/classes/Proc.src/M000228.html +8 -4
- data/doc/classes/Proc.src/M000229.html +6 -3
- data/doc/classes/Proc.src/M000230.html +3 -3
- data/doc/classes/Proc.src/M000231.html +7 -3
- data/doc/classes/Proc.src/M000232.html +18 -0
- data/doc/classes/Proc.src/M000233.html +16 -0
- data/doc/classes/Proc.src/M000234.html +16 -0
- data/doc/classes/ProcSource.html +10 -10
- data/doc/classes/ProcSource.src/M000548.html +38 -0
- data/doc/classes/ProcSource.src/M000549.html +109 -0
- data/doc/classes/RDoc.html +5 -5
- data/doc/classes/RDoc.src/M000547.html +40 -0
- data/doc/classes/RawDisk.html +10 -10
- data/doc/classes/RawDisk.src/M000337.html +18 -0
- data/doc/classes/RawDisk.src/M000338.html +23 -0
- data/doc/classes/RipXplore.html +1 -1
- data/doc/classes/RsDos.html +20 -20
- data/doc/classes/RsDos.src/M000494.html +4 -48
- data/doc/classes/RsDos.src/M000495.html +18 -0
- data/doc/classes/RsDos.src/M000496.html +18 -0
- data/doc/classes/RsDos.src/M000497.html +62 -0
- data/doc/classes/ScAsm.html +5 -5
- data/doc/classes/ScAsm.src/M000506.html +45 -0
- data/doc/classes/ScreenDump.html +5 -5
- data/doc/classes/ScreenDump.src/M000546.html +24 -0
- data/doc/classes/ScreenDumps.html +15 -15
- data/doc/classes/ScreenDumps.src/M000389.html +22 -0
- data/doc/classes/ScreenDumps.src/M000390.html +24 -0
- data/doc/classes/ScreenDumps.src/M000391.html +35 -0
- data/doc/classes/ScrunchedAppleDosPic.html +5 -5
- data/doc/classes/ScrunchedAppleDosPic.src/M000295.html +37 -0
- data/doc/classes/SubclassTracking.html +5 -5
- data/doc/classes/SubclassTracking.src/M000555.html +23 -0
- data/doc/classes/Ti99BasicFile.html +5 -5
- data/doc/classes/Ti99BasicFile.src/M000360.html +72 -0
- data/doc/classes/Ti99File.html +10 -10
- data/doc/classes/Ti99File.src/M000291.html +20 -0
- data/doc/classes/Ti99File.src/M000292.html +18 -0
- data/doc/classes/Ti99Fms.html +10 -10
- data/doc/classes/Ti99Fms.src/M000453.html +18 -0
- data/doc/classes/Ti99Fms.src/M000454.html +77 -0
- data/doc/classes/Ti99TextFile.html +10 -10
- data/doc/classes/Ti99TextFile.src/M000519.html +33 -0
- data/doc/classes/Ti99TextFile.src/M000520.html +18 -0
- data/doc/classes/TiArtistPattern.html +20 -20
- data/doc/classes/TiArtistPattern.src/M000392.html +36 -4
- data/doc/classes/TiArtistPattern.src/M000393.html +18 -0
- data/doc/classes/TiArtistPattern.src/M000394.html +18 -0
- data/doc/classes/TiArtistPattern.src/M000395.html +18 -0
- data/doc/classes/TiRLE.html +20 -20
- data/doc/classes/TiRLE.src/M000515.html +8 -4
- data/doc/classes/TiRLE.src/M000516.html +22 -0
- data/doc/classes/TiRLE.src/M000517.html +43 -0
- data/doc/classes/TiRLE.src/M000518.html +18 -0
- data/doc/classes/Trs80.html +55 -55
- data/doc/classes/Trs80.src/M000339.html +4 -4
- data/doc/classes/Trs80.src/M000340.html +4 -4
- data/doc/classes/Trs80.src/M000341.html +4 -4
- data/doc/classes/Trs80.src/M000342.html +4 -4
- data/doc/classes/Trs80.src/M000343.html +4 -4
- data/doc/classes/Trs80.src/M000344.html +4 -4
- data/doc/classes/Trs80.src/M000345.html +4 -4
- data/doc/classes/Trs80.src/M000346.html +4 -4
- data/doc/classes/Trs80.src/M000347.html +18 -0
- data/doc/classes/Trs80.src/M000348.html +18 -0
- data/doc/classes/Trs80.src/M000349.html +18 -0
- data/doc/classes/Trs80BasicListing.html +15 -15
- data/doc/classes/Trs80BasicListing.src/M000357.html +20 -0
- data/doc/classes/Trs80BasicListing.src/M000358.html +18 -0
- data/doc/classes/Trs80BasicListing.src/M000359.html +18 -0
- data/doc/classes/Trs80PascalSource.html +10 -10
- data/doc/classes/Trs80PascalSource.src/M000513.html +20 -0
- data/doc/classes/Trs80PascalSource.src/M000514.html +30 -0
- data/doc/classes/Trs80Text.html +15 -15
- data/doc/classes/Trs80Text.src/M000441.html +20 -0
- data/doc/classes/Trs80Text.src/M000442.html +18 -0
- data/doc/classes/Trs80Text.src/M000443.html +18 -0
- data/doc/classes/TrsDos.html +20 -20
- data/doc/classes/TrsDos.src/M000407.html +4 -50
- data/doc/classes/TrsDos.src/M000408.html +18 -0
- data/doc/classes/TrsDos.src/M000409.html +18 -0
- data/doc/classes/TrsDos.src/M000410.html +64 -0
- data/doc/classes/Zx81.html +25 -25
- data/doc/classes/Zx81.src/M000325.html +4 -15
- data/doc/classes/Zx81.src/M000326.html +192 -15
- data/doc/classes/Zx81.src/M000327.html +18 -0
- data/doc/classes/Zx81.src/M000328.html +23 -0
- data/doc/classes/Zx81.src/M000329.html +29 -0
- data/doc/classes/Zx81Basic.html +15 -15
- data/doc/classes/Zx81Basic.src/M000330.html +20 -0
- data/doc/classes/Zx81Basic.src/M000331.html +18 -0
- data/doc/classes/Zx81Basic.src/M000332.html +123 -0
- data/doc/classes/Zx81PFile.html +10 -10
- data/doc/classes/Zx81PFile.src/M000387.html +18 -0
- data/doc/classes/Zx81PFile.src/M000388.html +18 -0
- data/doc/created.rid +1 -1
- data/doc/files/lib/LibRipXplore_rb.html +1 -1
- data/doc/files/lib/native_file_types/c64/C64GeosFont_rb.html +1 -1
- data/doc/files/test/tc_c64_rb.html +1 -1
- data/doc/files/test/testhelper_rb.html +1 -1
- data/doc/fr_method_index.html +417 -413
- data/lib/LibRipXplore.rb +1 -1
- data/lib/native_file_types/c64/C64GeosFont.rb +67 -1
- data/test/tc_c64.rb +23 -20
- metadata +175 -3
@@ -5,26 +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
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/file_systems/AppleCPM.rb, line 81</span>
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">files</span>(<span class="ruby-identifier">file_system_image</span>)
|
15
|
+
<span class="ruby-identifier">files</span>=<span class="ruby-constant">FileContainer</span>.<span class="ruby-identifier">new</span>
|
16
|
+
<span class="ruby-identifier">catalog</span>=<span class="ruby-identifier">get_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">0</span>)<span class="ruby-operator">+</span><span class="ruby-identifier">get_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">1</span>)
|
17
|
+
<span class="ruby-value">0</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-value">63</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dir_entry_no</span><span class="ruby-operator">|</span>
|
18
|
+
<span class="ruby-identifier">dir_entry_start</span>=<span class="ruby-identifier">dir_entry_no</span><span class="ruby-operator">*</span><span class="ruby-value">0x20</span>
|
19
|
+
<span class="ruby-identifier">dir_entry</span>=<span class="ruby-identifier">catalog</span>[<span class="ruby-identifier">dir_entry_start</span><span class="ruby-operator">..</span><span class="ruby-identifier">dir_entry_start</span><span class="ruby-operator">+</span><span class="ruby-value">0x1</span><span class="ruby-constant">F</span>]
|
20
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">dir_entry</span>[<span class="ruby-value">0</span>]<span class="ruby-operator"><</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>
|
23
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>)]
|
24
35
|
<span class="ruby-keyword kw">end</span>
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
<span class="ruby-keyword kw">end</span></pre>
|
36
|
+
<span class="ruby-keyword kw">end</span>
|
37
|
+
<span class="ruby-identifier">files</span>
|
38
|
+
<span class="ruby-keyword kw">end</span></pre>
|
29
39
|
</body>
|
30
40
|
</html>
|
@@ -0,0 +1,35 @@
|
|
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>find_free_space (AppleCPM)</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
|
+
</head>
|
12
|
+
<body class="standalone-code">
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/file_systems/AppleCPM.rb, line 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>
|
30
|
+
<span class="ruby-keyword kw">end</span>
|
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>
|
34
|
+
</body>
|
35
|
+
</html>
|
@@ -0,0 +1,57 @@
|
|
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>add_file (AppleCPM)</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
|
+
</head>
|
12
|
+
<body class="standalone-code">
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/file_systems/AppleCPM.rb, line 129</span>
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">add_file</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-identifier">native_filetype_class</span>,<span class="ruby-identifier">full_filename</span>,<span class="ruby-identifier">file_contents</span>,<span class="ruby-identifier">file_type</span>=<span class="ruby-keyword kw">nil</span>,<span class="ruby-identifier">aux_code</span>=<span class="ruby-keyword kw">nil</span>)
|
15
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-node">"#{native_filetype_class} not supported on Apple CPM file system"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">native_filetype_class</span>.<span class="ruby-identifier">file_system_file_types</span>[<span class="ruby-keyword kw">self</span>].<span class="ruby-identifier">nil?</span>
|
16
|
+
<span class="ruby-identifier">partial_filename</span>,<span class="ruby-identifier">file_type</span>=<span class="ruby-constant">CPMFile</span>.<span class="ruby-identifier">split_filename</span>(<span class="ruby-identifier">full_filename</span>)
|
17
|
+
<span class="ruby-identifier">full_filename</span> =<span class="ruby-node">"#{partial_filename}.#{file_type}"</span>
|
18
|
+
<span class="ruby-comment cmt"># puts "#{full_filename},#{partial_filename},#{file_type}"
|
19
|
+
<span class="ruby-identifier">delete_file</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-identifier">full_filename</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">files</span>[<span class="ruby-identifier">full_filename</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-comment cmt">#so we can overwrite the file if it already exists
|
20
|
+
<span class="ruby-identifier">free_blocks</span>,<span class="ruby-identifier">free_directory_entries</span>=<span class="ruby-identifier">find_free_space</span>(<span class="ruby-identifier">file_system_image</span>)
|
21
|
+
<span class="ruby-identifier">total_record_count</span>=(<span class="ruby-identifier">file_contents</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">/</span><span class="ruby-constant">RECORD_SIZE</span>.<span class="ruby-identifier">to_f</span>).<span class="ruby-identifier">ceil</span>
|
22
|
+
<span class="ruby-identifier">total_blocks_needed</span>=(<span class="ruby-identifier">total_record_count</span><span class="ruby-operator">/</span><span class="ruby-constant">RECORDS_PER_BLOCK</span>.<span class="ruby-identifier">to_f</span>).<span class="ruby-identifier">ceil</span>
|
23
|
+
<span class="ruby-identifier">total_extents_needed</span>=(<span class="ruby-identifier">total_blocks_needed</span><span class="ruby-operator">/</span><span class="ruby-constant">BLOCKS_PER_EXTENT</span>.<span class="ruby-identifier">to_f</span>).<span class="ruby-identifier">ceil</span>
|
24
|
+
<span class="ruby-comment cmt"># puts "#{total_extents_needed} extents needed"
|
25
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-node">"#{total_blocks_needed} free blocks required, only #{free_blocks.length} available"</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">total_blocks_needed</span><span class="ruby-operator"><=</span><span class="ruby-identifier">free_blocks</span>.<span class="ruby-identifier">length</span>
|
26
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-node">"#{total_extents_needed} free directory entries required, only #{free_directory_entries.length} available"</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">total_extents_needed</span><span class="ruby-operator"><=</span><span class="ruby-identifier">free_directory_entries</span>.<span class="ruby-identifier">length</span>
|
27
|
+
<span class="ruby-identifier">catalog</span>=<span class="ruby-identifier">get_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">0</span>)<span class="ruby-operator">+</span><span class="ruby-identifier">get_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">1</span>)
|
28
|
+
<span class="ruby-identifier">padded_file_contents</span>=<span class="ruby-identifier">file_contents</span><span class="ruby-operator">+</span>(<span class="ruby-value">0x1</span><span class="ruby-constant">A</span>.<span class="ruby-identifier">chr</span><span class="ruby-operator">*</span><span class="ruby-constant">BLOCK_SIZE</span>)
|
29
|
+
|
30
|
+
<span class="ruby-identifier">total_extents_needed</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">extent_no</span><span class="ruby-operator">|</span>
|
31
|
+
<span class="ruby-identifier">records_this_extent</span>=(<span class="ruby-identifier">extent_no</span><span class="ruby-operator">==</span>(<span class="ruby-identifier">total_extents_needed</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>) <span class="ruby-operator">?</span> (<span class="ruby-identifier">total_record_count</span> <span class="ruby-operator">%</span> <span class="ruby-constant">RECORDS_PER_EXTENT</span>)<span class="ruby-operator">:</span><span class="ruby-constant">RECORDS_PER_EXTENT</span>)
|
32
|
+
<span class="ruby-identifier">blocks_this_extent</span>=(<span class="ruby-identifier">records_this_extent</span><span class="ruby-operator">/</span><span class="ruby-constant">RECORDS_PER_BLOCK</span>.<span class="ruby-identifier">to_f</span>).<span class="ruby-identifier">ceil</span>
|
33
|
+
<span class="ruby-identifier">blocks_used</span>=[<span class="ruby-value">0</span>]<span class="ruby-operator">*</span><span class="ruby-constant">BLOCKS_PER_EXTENT</span>
|
34
|
+
<span class="ruby-identifier">first_record_this_extent</span>=<span class="ruby-identifier">extent_no</span><span class="ruby-operator">*</span><span class="ruby-constant">RECORDS_PER_EXTENT</span>
|
35
|
+
<span class="ruby-identifier">contents_this_extent</span>=<span class="ruby-identifier">padded_file_contents</span>[(<span class="ruby-identifier">first_record_this_extent</span><span class="ruby-operator">*</span><span class="ruby-constant">RECORD_SIZE</span>),<span class="ruby-identifier">blocks_this_extent</span><span class="ruby-operator">*</span><span class="ruby-constant">BLOCK_SIZE</span>]
|
36
|
+
|
37
|
+
<span class="ruby-identifier">blocks_this_extent</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">block_no</span><span class="ruby-operator">|</span>
|
38
|
+
<span class="ruby-identifier">this_block</span>=<span class="ruby-identifier">free_blocks</span>[<span class="ruby-identifier">block_no</span><span class="ruby-operator">+</span>(<span class="ruby-identifier">extent_no</span><span class="ruby-operator">*</span><span class="ruby-constant">BLOCKS_PER_EXTENT</span>)]
|
39
|
+
<span class="ruby-identifier">set_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-identifier">this_block</span>,<span class="ruby-identifier">contents_this_extent</span>[<span class="ruby-identifier">block_no</span><span class="ruby-operator">*</span><span class="ruby-constant">BLOCK_SIZE</span>,<span class="ruby-constant">BLOCK_SIZE</span>])
|
40
|
+
<span class="ruby-identifier">blocks_used</span>[<span class="ruby-identifier">block_no</span>]=<span class="ruby-identifier">this_block</span>
|
41
|
+
<span class="ruby-keyword kw">end</span>
|
42
|
+
<span class="ruby-identifier">dir_entry_no</span>=<span class="ruby-identifier">free_directory_entries</span>[<span class="ruby-identifier">extent_no</span>]
|
43
|
+
<span class="ruby-identifier">dir_entry_start</span>=<span class="ruby-identifier">dir_entry_no</span><span class="ruby-operator">*</span><span class="ruby-value">0x20</span>
|
44
|
+
<span class="ruby-identifier">dir_entry</span>=[<span class="ruby-value">0</span>,<span class="ruby-identifier">partial_filename</span>,<span class="ruby-identifier">file_type</span>,<span class="ruby-identifier">extent_no</span>,<span class="ruby-value">0</span>,<span class="ruby-value">0</span>,<span class="ruby-identifier">records_this_extent</span>,<span class="ruby-identifier">blocks_used</span>].<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">pack</span>(<span class="ruby-value str">"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}"
|
47
|
+
<span class="ruby-keyword kw">end</span>
|
48
|
+
|
49
|
+
<span class="ruby-identifier">set_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">0</span>,<span class="ruby-identifier">catalog</span>[<span class="ruby-value">0</span>,<span class="ruby-constant">BLOCK_SIZE</span>])
|
50
|
+
<span class="ruby-identifier">set_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">1</span>,<span class="ruby-identifier">catalog</span>[<span class="ruby-constant">BLOCK_SIZE</span>,<span class="ruby-constant">BLOCK_SIZE</span>])
|
51
|
+
|
52
|
+
<span class="ruby-identifier">native_file</span>=<span class="ruby-identifier">files</span>(<span class="ruby-identifier">file_system_image</span>)[<span class="ruby-identifier">full_filename</span>]
|
53
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-node">"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>
|
56
|
+
</body>
|
57
|
+
</html>
|
@@ -0,0 +1,30 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<!DOCTYPE html
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
+
|
6
|
+
<html>
|
7
|
+
<head>
|
8
|
+
<title>delete_file (AppleCPM)</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
|
+
</head>
|
12
|
+
<body class="standalone-code">
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/file_systems/AppleCPM.rb, line 172</span>
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">delete_file</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-identifier">full_filename</span>)
|
15
|
+
<span class="ruby-identifier">catalog</span>=<span class="ruby-identifier">get_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">0</span>)<span class="ruby-operator">+</span><span class="ruby-identifier">get_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">1</span>)
|
16
|
+
(<span class="ruby-identifier">partial_filename</span>,<span class="ruby-identifier">file_ext</span>)=<span class="ruby-constant">CPMFile</span>.<span class="ruby-identifier">split_filename</span>(<span class="ruby-identifier">full_filename</span>)
|
17
|
+
<span class="ruby-value">0</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-value">63</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dir_entry_no</span><span class="ruby-operator">|</span>
|
18
|
+
<span class="ruby-identifier">dir_entry_start</span>=<span class="ruby-identifier">dir_entry_no</span><span class="ruby-operator">*</span><span class="ruby-value">0x20</span>
|
19
|
+
<span class="ruby-identifier">dir_entry</span>=<span class="ruby-identifier">catalog</span>[<span class="ruby-identifier">dir_entry_start</span><span class="ruby-operator">..</span><span class="ruby-identifier">dir_entry_start</span><span class="ruby-operator">+</span><span class="ruby-value">0x1</span><span class="ruby-constant">F</span>]
|
20
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">partial_filename</span><span class="ruby-operator">==</span><span class="ruby-identifier">dir_entry</span>[<span class="ruby-value">0x01</span><span class="ruby-operator">..</span><span class="ruby-value">0x08</span>].<span class="ruby-identifier">gsub</span>(<span class="ruby-value str">' '</span>,<span class="ruby-value str">''</span>)) <span class="ruby-operator">&&</span> (<span class="ruby-identifier">file_ext</span><span class="ruby-operator">==</span><span class="ruby-identifier">dir_entry</span>[<span class="ruby-value">0x09</span><span class="ruby-operator">..</span><span class="ruby-value">0x0</span><span class="ruby-constant">B</span>].<span class="ruby-identifier">gsub</span>(<span class="ruby-value str">' '</span>,<span class="ruby-value str">''</span>))
|
21
|
+
<span class="ruby-comment cmt">#we found a matching filename, so set the 'user number' field to a 'blank' entry
|
22
|
+
<span class="ruby-identifier">catalog</span>[<span class="ruby-identifier">dir_entry_start</span>]=<span class="ruby-value">0x</span><span class="ruby-constant">E5</span>
|
23
|
+
<span class="ruby-keyword kw">end</span>
|
24
|
+
<span class="ruby-keyword kw">end</span>
|
25
|
+
|
26
|
+
<span class="ruby-identifier">set_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">0</span>,<span class="ruby-identifier">catalog</span>[<span class="ruby-value">0</span>,<span class="ruby-constant">BLOCK_SIZE</span>])
|
27
|
+
<span class="ruby-identifier">set_block</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-value">1</span>,<span class="ruby-identifier">catalog</span>[<span class="ruby-constant">BLOCK_SIZE</span>,<span class="ruby-constant">BLOCK_SIZE</span>])
|
28
|
+
<span class="ruby-keyword kw">end</span></pre>
|
29
|
+
</body>
|
30
|
+
</html>
|
data/doc/classes/AppleDos.html
CHANGED
@@ -179,17 +179,17 @@ TRACK/SECTOR LIST FORMAT (from Beneath Apple DOS p 4-6)
|
|
179
179
|
<h3 class="section-bar">Methods</h3>
|
180
180
|
|
181
181
|
<div class="name-list">
|
182
|
-
<a href="#
|
183
|
-
<a href="#
|
184
|
-
<a href="#
|
185
|
-
<a href="#
|
186
|
-
<a href="#
|
187
|
-
<a href="#
|
188
|
-
<a href="#
|
189
|
-
<a href="#
|
190
|
-
<a href="#
|
191
|
-
<a href="#
|
192
|
-
<a href="#
|
182
|
+
<a href="#M000250">add_file</a>
|
183
|
+
<a href="#M000251">catalog_filename</a>
|
184
|
+
<a href="#M000256">delete_file</a>
|
185
|
+
<a href="#M000249">files</a>
|
186
|
+
<a href="#M000253">find_catalog_slot</a>
|
187
|
+
<a href="#M000252">free_sector_list</a>
|
188
|
+
<a href="#M000255">get_track_sector_list</a>
|
189
|
+
<a href="#M000246">host_system</a>
|
190
|
+
<a href="#M000254">set_sector</a>
|
191
|
+
<a href="#M000248">vtoc_sector_no</a>
|
192
|
+
<a href="#M000247">vtoc_track_no</a>
|
193
193
|
</div>
|
194
194
|
</div>
|
195
195
|
|
@@ -211,12 +211,12 @@ TRACK/SECTOR LIST FORMAT (from Beneath Apple DOS p 4-6)
|
|
211
211
|
<div id="methods">
|
212
212
|
<h3 class="section-bar">Public Class methods</h3>
|
213
213
|
|
214
|
-
<div id="method-
|
215
|
-
<a name="
|
214
|
+
<div id="method-M000250" class="method-detail">
|
215
|
+
<a name="M000250"></a>
|
216
216
|
|
217
217
|
<div class="method-heading">
|
218
|
-
<a href="AppleDos.src/
|
219
|
-
onclick="popupCode('AppleDos.src/
|
218
|
+
<a href="AppleDos.src/M000250.html" target="Code" class="method-signature"
|
219
|
+
onclick="popupCode('AppleDos.src/M000250.html');return false;">
|
220
220
|
<span class="method-name">add_file</span><span class="method-args">(file_system_image,native_filetype_class,filename,file_contents,file_type=nil,aux_code=nil)</span>
|
221
221
|
</a>
|
222
222
|
</div>
|
@@ -225,12 +225,12 @@ TRACK/SECTOR LIST FORMAT (from Beneath Apple DOS p 4-6)
|
|
225
225
|
</div>
|
226
226
|
</div>
|
227
227
|
|
228
|
-
<div id="method-
|
229
|
-
<a name="
|
228
|
+
<div id="method-M000251" class="method-detail">
|
229
|
+
<a name="M000251"></a>
|
230
230
|
|
231
231
|
<div class="method-heading">
|
232
|
-
<a href="AppleDos.src/
|
233
|
-
onclick="popupCode('AppleDos.src/
|
232
|
+
<a href="AppleDos.src/M000251.html" target="Code" class="method-signature"
|
233
|
+
onclick="popupCode('AppleDos.src/M000251.html');return false;">
|
234
234
|
<span class="method-name">catalog_filename</span><span class="method-args">(filename)</span>
|
235
235
|
</a>
|
236
236
|
</div>
|
@@ -242,12 +242,12 @@ render a filename in form suitable for inclusion in a DOS catalog
|
|
242
242
|
</div>
|
243
243
|
</div>
|
244
244
|
|
245
|
-
<div id="method-
|
246
|
-
<a name="
|
245
|
+
<div id="method-M000256" class="method-detail">
|
246
|
+
<a name="M000256"></a>
|
247
247
|
|
248
248
|
<div class="method-heading">
|
249
|
-
<a href="AppleDos.src/
|
250
|
-
onclick="popupCode('AppleDos.src/
|
249
|
+
<a href="AppleDos.src/M000256.html" target="Code" class="method-signature"
|
250
|
+
onclick="popupCode('AppleDos.src/M000256.html');return false;">
|
251
251
|
<span class="method-name">delete_file</span><span class="method-args">(file_system_image,filename)</span>
|
252
252
|
</a>
|
253
253
|
</div>
|
@@ -256,12 +256,12 @@ render a filename in form suitable for inclusion in a DOS catalog
|
|
256
256
|
</div>
|
257
257
|
</div>
|
258
258
|
|
259
|
-
<div id="method-
|
260
|
-
<a name="
|
259
|
+
<div id="method-M000249" class="method-detail">
|
260
|
+
<a name="M000249"></a>
|
261
261
|
|
262
262
|
<div class="method-heading">
|
263
|
-
<a href="AppleDos.src/
|
264
|
-
onclick="popupCode('AppleDos.src/
|
263
|
+
<a href="AppleDos.src/M000249.html" target="Code" class="method-signature"
|
264
|
+
onclick="popupCode('AppleDos.src/M000249.html');return false;">
|
265
265
|
<span class="method-name">files</span><span class="method-args">(file_system_image)</span>
|
266
266
|
</a>
|
267
267
|
</div>
|
@@ -270,12 +270,12 @@ render a filename in form suitable for inclusion in a DOS catalog
|
|
270
270
|
</div>
|
271
271
|
</div>
|
272
272
|
|
273
|
-
<div id="method-
|
274
|
-
<a name="
|
273
|
+
<div id="method-M000253" class="method-detail">
|
274
|
+
<a name="M000253"></a>
|
275
275
|
|
276
276
|
<div class="method-heading">
|
277
|
-
<a href="AppleDos.src/
|
278
|
-
onclick="popupCode('AppleDos.src/
|
277
|
+
<a href="AppleDos.src/M000253.html" target="Code" class="method-signature"
|
278
|
+
onclick="popupCode('AppleDos.src/M000253.html');return false;">
|
279
279
|
<span class="method-name">find_catalog_slot</span><span class="method-args">(file_system_image,filename)</span>
|
280
280
|
</a>
|
281
281
|
</div>
|
@@ -288,12 +288,12 @@ passed in) an empty slot
|
|
288
288
|
</div>
|
289
289
|
</div>
|
290
290
|
|
291
|
-
<div id="method-
|
292
|
-
<a name="
|
291
|
+
<div id="method-M000252" class="method-detail">
|
292
|
+
<a name="M000252"></a>
|
293
293
|
|
294
294
|
<div class="method-heading">
|
295
|
-
<a href="AppleDos.src/
|
296
|
-
onclick="popupCode('AppleDos.src/
|
295
|
+
<a href="AppleDos.src/M000252.html" target="Code" class="method-signature"
|
296
|
+
onclick="popupCode('AppleDos.src/M000252.html');return false;">
|
297
297
|
<span class="method-name">free_sector_list</span><span class="method-args">(file_system_image)</span>
|
298
298
|
</a>
|
299
299
|
</div>
|
@@ -306,12 +306,12 @@ for sectors marked available
|
|
306
306
|
</div>
|
307
307
|
</div>
|
308
308
|
|
309
|
-
<div id="method-
|
310
|
-
<a name="
|
309
|
+
<div id="method-M000255" class="method-detail">
|
310
|
+
<a name="M000255"></a>
|
311
311
|
|
312
312
|
<div class="method-heading">
|
313
|
-
<a href="AppleDos.src/
|
314
|
-
onclick="popupCode('AppleDos.src/
|
313
|
+
<a href="AppleDos.src/M000255.html" target="Code" class="method-signature"
|
314
|
+
onclick="popupCode('AppleDos.src/M000255.html');return false;">
|
315
315
|
<span class="method-name">get_track_sector_list</span><span class="method-args">(file_system_image,ts_list_track_no,ts_list_sector_no)</span>
|
316
316
|
</a>
|
317
317
|
</div>
|
@@ -324,12 +324,12 @@ array containing track/sector pairs
|
|
324
324
|
</div>
|
325
325
|
</div>
|
326
326
|
|
327
|
-
<div id="method-
|
328
|
-
<a name="
|
327
|
+
<div id="method-M000246" class="method-detail">
|
328
|
+
<a name="M000246"></a>
|
329
329
|
|
330
330
|
<div class="method-heading">
|
331
|
-
<a href="AppleDos.src/
|
332
|
-
onclick="popupCode('AppleDos.src/
|
331
|
+
<a href="AppleDos.src/M000246.html" target="Code" class="method-signature"
|
332
|
+
onclick="popupCode('AppleDos.src/M000246.html');return false;">
|
333
333
|
<span class="method-name">host_system</span><span class="method-args">()</span>
|
334
334
|
</a>
|
335
335
|
</div>
|
@@ -338,12 +338,12 @@ array containing track/sector pairs
|
|
338
338
|
</div>
|
339
339
|
</div>
|
340
340
|
|
341
|
-
<div id="method-
|
342
|
-
<a name="
|
341
|
+
<div id="method-M000254" class="method-detail">
|
342
|
+
<a name="M000254"></a>
|
343
343
|
|
344
344
|
<div class="method-heading">
|
345
|
-
<a href="AppleDos.src/
|
346
|
-
onclick="popupCode('AppleDos.src/
|
345
|
+
<a href="AppleDos.src/M000254.html" target="Code" class="method-signature"
|
346
|
+
onclick="popupCode('AppleDos.src/M000254.html');return false;">
|
347
347
|
<span class="method-name">set_sector</span><span class="method-args">(file_system_image,track,sector,contents)</span>
|
348
348
|
</a>
|
349
349
|
</div>
|
@@ -352,12 +352,12 @@ array containing track/sector pairs
|
|
352
352
|
</div>
|
353
353
|
</div>
|
354
354
|
|
355
|
-
<div id="method-
|
356
|
-
<a name="
|
355
|
+
<div id="method-M000248" class="method-detail">
|
356
|
+
<a name="M000248"></a>
|
357
357
|
|
358
358
|
<div class="method-heading">
|
359
|
-
<a href="AppleDos.src/
|
360
|
-
onclick="popupCode('AppleDos.src/
|
359
|
+
<a href="AppleDos.src/M000248.html" target="Code" class="method-signature"
|
360
|
+
onclick="popupCode('AppleDos.src/M000248.html');return false;">
|
361
361
|
<span class="method-name">vtoc_sector_no</span><span class="method-args">()</span>
|
362
362
|
</a>
|
363
363
|
</div>
|
@@ -366,12 +366,12 @@ array containing track/sector pairs
|
|
366
366
|
</div>
|
367
367
|
</div>
|
368
368
|
|
369
|
-
<div id="method-
|
370
|
-
<a name="
|
369
|
+
<div id="method-M000247" class="method-detail">
|
370
|
+
<a name="M000247"></a>
|
371
371
|
|
372
372
|
<div class="method-heading">
|
373
|
-
<a href="AppleDos.src/
|
374
|
-
onclick="popupCode('AppleDos.src/
|
373
|
+
<a href="AppleDos.src/M000247.html" target="Code" class="method-signature"
|
374
|
+
onclick="popupCode('AppleDos.src/M000247.html');return false;">
|
375
375
|
<span class="method-name">vtoc_track_no</span><span class="method-args">()</span>
|
376
376
|
</a>
|
377
377
|
</div>
|
@@ -5,94 +5,14 @@
|
|
5
5
|
|
6
6
|
<html>
|
7
7
|
<head>
|
8
|
-
<title>
|
8
|
+
<title>host_system (AppleDos)</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/AppleDos.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-
|
16
|
-
<span class="ruby-identifier">raise</span> <span class="ruby-node">"#{native_filetype_class} not supported on Apple DOS 3.3 file system"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">native_filetype_class</span>.<span class="ruby-identifier">file_system_file_types</span>[<span class="ruby-keyword kw">self</span>].<span class="ruby-identifier">nil?</span>
|
17
|
-
<span class="ruby-identifier">expected_file_type</span>=<span class="ruby-identifier">native_filetype_class</span>.<span class="ruby-identifier">file_system_file_types</span>[<span class="ruby-keyword kw">self</span>]
|
18
|
-
<span class="ruby-identifier">file_type</span>=<span class="ruby-identifier">expected_file_type</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">file_type</span>.<span class="ruby-identifier">nil?</span>
|
19
|
-
<span class="ruby-identifier">raise</span> <span class="ruby-node">"inconsistent file_type (should be #{expected_file_type} but was #{file_type})"</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">expected_file_type</span><span class="ruby-operator">==</span><span class="ruby-identifier">file_type</span>
|
20
|
-
<span class="ruby-identifier">native_file</span>=<span class="ruby-identifier">native_filetype_class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-identifier">filename</span>,<span class="ruby-identifier">file_contents</span>,<span class="ruby-identifier">file_type</span>,<span class="ruby-identifier">aux_code</span>)
|
21
|
-
<span class="ruby-identifier">raise</span> <span class="ruby-node">"couldn't make #{native_filetype_class}"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">native_file</span>.<span class="ruby-identifier">nil?</span>
|
22
|
-
<span class="ruby-comment cmt">#if this file exists, delete it first
|
23
|
-
<span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">delete_file</span>(<span class="ruby-identifier">filename</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">files</span>[<span class="ruby-identifier">filename</span>].<span class="ruby-identifier">nil?</span>
|
24
|
-
<span class="ruby-identifier">catalog_slot</span>=<span class="ruby-identifier">find_catalog_slot</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-keyword kw">nil</span>)
|
25
|
-
<span class="ruby-identifier">raise</span> <span class="ruby-value str">"CATALOG IS FULL!"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">catalog_slot</span>.<span class="ruby-identifier">nil?</span>
|
26
|
-
<span class="ruby-identifier">raise</span> <span class="ruby-value str">"invalid catalog slot "</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">catalog_slot</span>[<span class="ruby-value">2</span>].<span class="ruby-identifier">nil?</span>
|
27
|
-
<span class="ruby-identifier">free_sectors</span>=<span class="ruby-identifier">free_sector_list</span>(<span class="ruby-identifier">file_system_image</span>)
|
28
|
-
<span class="ruby-identifier">sectors_needed</span>=<span class="ruby-value">1</span><span class="ruby-operator">+</span>(<span class="ruby-value">255</span><span class="ruby-operator">+</span><span class="ruby-identifier">file_contents</span>.<span class="ruby-identifier">length</span>)<span class="ruby-operator">/</span><span class="ruby-value">256</span>
|
29
|
-
<span class="ruby-identifier">raise</span> <span class="ruby-node">"not enough free space - #{sectors_needed} sectors needed, #{free_sectors.length} available "</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">sectors_needed</span><span class="ruby-operator"><=</span><span class="ruby-identifier">free_sectors</span>.<span class="ruby-identifier">length</span>
|
30
|
-
<span class="ruby-comment cmt">#TODO - allow files of more than 122 sectors
|
31
|
-
<span class="ruby-identifier">raise</span> <span class="ruby-value str">"only files up to 122 sectors currently supported "</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">sectors_needed</span><span class="ruby-operator">></span><span class="ruby-value">122</span>
|
32
|
-
<span class="ruby-comment cmt">#TRACK/SECTOR LIST FORMAT (from Beneath Apple DOS p 4-6)
|
33
|
-
<span class="ruby-comment cmt"># 00 Not used
|
34
|
-
<span class="ruby-comment cmt"># 01 Track number of next T/S list of one is needed or zero if no more t/s list
|
35
|
-
<span class="ruby-comment cmt"># 02 Sector number of next T/S list (if one is present)
|
36
|
-
<span class="ruby-comment cmt"># 03-04 Not used
|
37
|
-
<span class="ruby-comment cmt"># 05-06 Sector offset in file of the first sector described by this list
|
38
|
-
<span class="ruby-comment cmt"># 07-oB Not used
|
39
|
-
<span class="ruby-comment cmt"># 0C-0D Track and sector of first data sector or zeros
|
40
|
-
<span class="ruby-comment cmt"># 0E-0F Track and sector of second data sector or zeros
|
41
|
-
<span class="ruby-comment cmt"># 10-FF Up to 120 more track and sector pairs
|
42
|
-
<span class="ruby-identifier">track_sector_list</span>=<span class="ruby-value str">"\0"</span><span class="ruby-operator">*</span><span class="ruby-value">256</span>
|
43
|
-
<span class="ruby-identifier">track_sector_list_sector</span>=<span class="ruby-identifier">free_sectors</span>[<span class="ruby-value">0</span>]
|
44
|
-
(<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-identifier">sectors_needed</span><span class="ruby-operator">-</span><span class="ruby-value">2</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">sector_in_file</span><span class="ruby-operator">|</span>
|
45
|
-
<span class="ruby-identifier">sector_to_use</span>=<span class="ruby-identifier">free_sectors</span>[<span class="ruby-identifier">sector_in_file</span><span class="ruby-operator">+</span><span class="ruby-value">1</span>]
|
46
|
-
<span class="ruby-identifier">track_sector_list</span>[(<span class="ruby-identifier">sector_in_file</span><span class="ruby-operator">*</span><span class="ruby-value">2</span>)<span class="ruby-operator">+</span><span class="ruby-value">0x0</span><span class="ruby-constant">C</span>]=<span class="ruby-identifier">sector_to_use</span>[<span class="ruby-value">0</span>]
|
47
|
-
<span class="ruby-identifier">track_sector_list</span>[(<span class="ruby-identifier">sector_in_file</span><span class="ruby-operator">*</span><span class="ruby-value">2</span>)<span class="ruby-operator">+</span><span class="ruby-value">0</span><span class="ruby-constant">X0D</span>]=<span class="ruby-identifier">sector_to_use</span>[<span class="ruby-value">1</span>]
|
48
|
-
<span class="ruby-identifier">sector_contents</span>=<span class="ruby-identifier">file_contents</span>[(<span class="ruby-identifier">sector_in_file</span><span class="ruby-operator">*</span><span class="ruby-value">256</span>),<span class="ruby-value">256</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">""</span>
|
49
|
-
<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">set_sector</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-identifier">sector_to_use</span>[<span class="ruby-value">0</span>],<span class="ruby-identifier">sector_to_use</span>[<span class="ruby-value">1</span>],<span class="ruby-identifier">sector_contents</span>)
|
50
|
-
<span class="ruby-keyword kw">end</span>
|
51
|
-
<span class="ruby-comment cmt">#write the track/sector list
|
52
|
-
<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">set_sector</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-identifier">track_sector_list_sector</span>[<span class="ruby-value">0</span>],<span class="ruby-identifier">track_sector_list_sector</span>[<span class="ruby-value">1</span>],<span class="ruby-identifier">track_sector_list</span>)
|
53
|
-
|
54
|
-
<span class="ruby-comment cmt">#update the catalog file descriptive entry
|
55
|
-
<span class="ruby-comment cmt">#FILE DESCRIPTIVE ENTRY (from Beneath Apple DOS p 4-6)
|
56
|
-
<span class="ruby-comment cmt"># 00 Track of first track/sector list sector, if this is a deleted file this contains FF
|
57
|
-
<span class="ruby-comment cmt"># and the original track number is copied to the last byte of the file name (BYTE 20)
|
58
|
-
<span class="ruby-comment cmt"># If this byte contains a 00, the entry is assumed to never have been used and is
|
59
|
-
<span class="ruby-comment cmt"># available for use. (This means track 0 can never be used for data even if the DOS image
|
60
|
-
<span class="ruby-comment cmt"># is 'wiped' from the disk)
|
61
|
-
<span class="ruby-comment cmt">#
|
62
|
-
<span class="ruby-comment cmt"># 01 Sector of first track/sector list sector
|
63
|
-
<span class="ruby-comment cmt"># 02 File type and flags:
|
64
|
-
<span class="ruby-comment cmt"># 80+file type - file is locked
|
65
|
-
<span class="ruby-comment cmt"># 00+file type - file is not locked
|
66
|
-
<span class="ruby-comment cmt">#
|
67
|
-
<span class="ruby-comment cmt"># 00 - TEXT file
|
68
|
-
<span class="ruby-comment cmt"># 01 - INTEGER BASIC file
|
69
|
-
<span class="ruby-comment cmt"># 02 - APPLESOFT BASIC file
|
70
|
-
<span class="ruby-comment cmt"># 04 - BINARY file
|
71
|
-
<span class="ruby-comment cmt"># 08 - S type file
|
72
|
-
<span class="ruby-comment cmt"># 10 - RELOCATABLE object module file
|
73
|
-
<span class="ruby-comment cmt"># 20 - a type file
|
74
|
-
<span class="ruby-comment cmt"># 40 - b type file
|
75
|
-
<span class="ruby-comment cmt">#
|
76
|
-
<span class="ruby-comment cmt"># 03-20 File Name (30 characters)
|
77
|
-
<span class="ruby-comment cmt"># 21-22 Length of file in sectors (LO/HI format)
|
78
|
-
|
79
|
-
<span class="ruby-identifier">catalog_sector</span>=<span class="ruby-identifier">file_system_image</span>.<span class="ruby-identifier">get_sector</span>(<span class="ruby-identifier">catalog_slot</span>[<span class="ruby-value">0</span>],<span class="ruby-identifier">catalog_slot</span>[<span class="ruby-value">1</span>])
|
80
|
-
<span class="ruby-identifier">raise</span> <span class="ruby-node">"invalid catalog track #{catalog_slot[0]},sector #{catalog_slot[1]}"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">catalog_sector</span>.<span class="ruby-identifier">nil?</span>
|
81
|
-
<span class="ruby-identifier">file_descriptive_entry</span>=<span class="ruby-value str">"\0"</span><span class="ruby-operator">*</span><span class="ruby-value">0x23</span>
|
82
|
-
<span class="ruby-identifier">file_descriptive_entry</span>[<span class="ruby-value">0</span>]=<span class="ruby-identifier">track_sector_list_sector</span>[<span class="ruby-value">0</span>]
|
83
|
-
<span class="ruby-identifier">file_descriptive_entry</span>[<span class="ruby-value">1</span>]=<span class="ruby-identifier">track_sector_list_sector</span>[<span class="ruby-value">1</span>]
|
84
|
-
<span class="ruby-identifier">file_descriptive_entry</span>[<span class="ruby-value">2</span>]=<span class="ruby-identifier">file_type</span>
|
85
|
-
<span class="ruby-identifier">file_descriptive_entry</span>[<span class="ruby-value">3</span><span class="ruby-operator">..</span><span class="ruby-value">0x20</span>]=<span class="ruby-identifier">catalog_filename</span>(<span class="ruby-identifier">filename</span>)
|
86
|
-
<span class="ruby-identifier">file_descriptive_entry</span>[<span class="ruby-value">0x21</span>]=(<span class="ruby-identifier">sectors_needed</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>)<span class="ruby-operator">%</span><span class="ruby-value">256</span>
|
87
|
-
<span class="ruby-identifier">file_descriptive_entry</span>[<span class="ruby-value">0x22</span>]=(<span class="ruby-identifier">sectors_needed</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>)<span class="ruby-operator">/</span><span class="ruby-value">256</span>
|
88
|
-
|
89
|
-
<span class="ruby-identifier">catalog_sector</span>[<span class="ruby-identifier">catalog_slot</span>[<span class="ruby-value">2</span>],<span class="ruby-value">0x23</span>]=<span class="ruby-identifier">file_descriptive_entry</span>
|
90
|
-
|
91
|
-
<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">set_sector</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-identifier">catalog_slot</span>[<span class="ruby-value">0</span>],<span class="ruby-identifier">catalog_slot</span>[<span class="ruby-value">1</span>],<span class="ruby-identifier">catalog_sector</span>)
|
92
|
-
|
93
|
-
<span class="ruby-identifier">raise</span> <span class="ruby-value str">"catalog not updated correctly!"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">find_catalog_slot</span>(<span class="ruby-identifier">file_system_image</span>,<span class="ruby-identifier">filename</span>).<span class="ruby-identifier">nil?</span>
|
94
|
-
<span class="ruby-identifier">raise</span> <span class="ruby-value str">"error: file should now be in catalog"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">files</span>(<span class="ruby-identifier">file_system_image</span>)[<span class="ruby-identifier">filename</span>].<span class="ruby-identifier">nil?</span>
|
95
|
-
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">native_file</span>
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/file_systems/AppleDos.rb, line 88</span>
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">host_system</span>
|
15
|
+
<span class="ruby-constant">Apple2</span>
|
96
16
|
<span class="ruby-keyword kw">end</span></pre>
|
97
17
|
</body>
|
98
18
|
</html>
|