ripxplore 0.11.0 → 0.12.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/M000346.html +18 -0
- data/doc/classes/A2Dsk.src/M000347.html +4 -4
- data/doc/classes/A2Dsk.src/M000348.html +4 -4
- data/doc/classes/A2Dsk.src/M000349.html +4 -4
- data/doc/classes/A2Dsk.src/M000350.html +4 -4
- data/doc/classes/A2Dsk.src/M000351.html +8 -4
- data/doc/classes/A2Dsk.src/M000352.html +7 -6
- data/doc/classes/A2DskDosOrder.html +5 -5
- data/doc/classes/A2DskDosOrder.src/M000503.html +18 -0
- data/doc/classes/A2DskDosOrder.src/M000504.html +18 -0
- data/doc/classes/A2DskPhysicalOrder.html +5 -5
- data/doc/classes/A2DskPhysicalOrder.src/M000160.html +18 -0
- data/doc/classes/A2WriteTests.html +10 -10
- data/doc/classes/A2WriteTests.src/M000218.html +42 -0
- data/doc/classes/A2WriteTests.src/M000219.html +47 -22
- data/doc/classes/AppleBinary.html +20 -20
- data/doc/classes/AppleBinary.src/M000317.html +20 -0
- data/doc/classes/AppleBinary.src/M000318.html +4 -6
- data/doc/classes/AppleBinary.src/M000319.html +4 -4
- data/doc/classes/AppleBinary.src/M000320.html +4 -4
- data/doc/classes/AppleCPM.html +40 -40
- data/doc/classes/AppleCPM.src/M000395.html +4 -4
- data/doc/classes/AppleCPM.src/M000396.html +5 -8
- data/doc/classes/AppleCPM.src/M000397.html +7 -9
- data/doc/classes/AppleCPM.src/M000398.html +10 -27
- data/doc/classes/AppleCPM.src/M000399.html +16 -11
- data/doc/classes/AppleCPM.src/M000400.html +21 -43
- data/doc/classes/AppleCPM.src/M000401.html +37 -10
- data/doc/classes/AppleCPM.src/M000402.html +30 -0
- data/doc/classes/AppleCPM.src/M000403.html +30 -0
- data/doc/classes/AppleDos.html +55 -55
- data/doc/classes/AppleDos.src/M000242.html +18 -0
- data/doc/classes/AppleDos.src/M000243.html +4 -4
- data/doc/classes/AppleDos.src/M000244.html +4 -4
- data/doc/classes/AppleDos.src/M000245.html +59 -4
- data/doc/classes/AppleDos.src/M000246.html +83 -58
- data/doc/classes/AppleDos.src/M000247.html +14 -84
- data/doc/classes/AppleDos.src/M000248.html +18 -12
- data/doc/classes/AppleDos.src/M000249.html +21 -18
- data/doc/classes/AppleDos.src/M000250.html +14 -20
- data/doc/classes/AppleDos.src/M000251.html +13 -17
- data/doc/classes/AppleDos.src/M000252.html +27 -11
- data/doc/classes/AppleDosPic.html +20 -20
- data/doc/classes/AppleDosPic.src/M000156.html +6 -4
- data/doc/classes/AppleDosPic.src/M000157.html +5 -7
- data/doc/classes/AppleDosPic.src/M000158.html +5 -5
- data/doc/classes/AppleDosPic.src/M000159.html +4 -4
- data/doc/classes/AppleHiResPic.html +40 -40
- data/doc/classes/AppleHiResPic.src/M000441.html +5 -5
- data/doc/classes/AppleHiResPic.src/M000442.html +4 -4
- data/doc/classes/AppleHiResPic.src/M000443.html +4 -38
- data/doc/classes/AppleHiResPic.src/M000444.html +38 -4
- data/doc/classes/AppleHiResPic.src/M000445.html +4 -4
- 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 +18 -0
- data/doc/classes/AppleHiResPic.src/M000449.html +18 -0
- data/doc/classes/ApplePrintShopMiniPix.html +20 -20
- data/doc/classes/ApplePrintShopMiniPix.src/M000538.html +24 -4
- data/doc/classes/ApplePrintShopMiniPix.src/M000539.html +18 -0
- data/doc/classes/ApplePrintShopMiniPix.src/M000540.html +18 -0
- data/doc/classes/ApplePrintShopMiniPix.src/M000541.html +18 -0
- data/doc/classes/ApplePrintShopMiniPix.src/M000542.html +18 -0
- data/doc/classes/AppleText.html +15 -15
- data/doc/classes/AppleText.src/M000210.html +21 -0
- data/doc/classes/AppleText.src/M000211.html +6 -7
- data/doc/classes/AppleText.src/M000212.html +9 -6
- data/doc/classes/AppleWorksWP.html +10 -10
- data/doc/classes/AppleWorksWP.src/M000504.html +20 -0
- data/doc/classes/AppleWorksWP.src/M000505.html +45 -0
- data/doc/classes/AppleWorksWP.src/M000506.html +45 -0
- data/doc/classes/Applesoft.html +10 -10
- data/doc/classes/Applesoft.src/M000418.html +8 -62
- data/doc/classes/Applesoft.src/M000419.html +75 -0
- data/doc/classes/Applesoft.src/M000420.html +75 -0
- data/doc/classes/Atari800.html +65 -65
- data/doc/classes/Atari800.src/M000357.html +18 -0
- data/doc/classes/Atari800.src/M000358.html +9 -4
- data/doc/classes/Atari800.src/M000359.html +4 -9
- data/doc/classes/Atari800.src/M000360.html +5 -4
- data/doc/classes/Atari800.src/M000361.html +4 -5
- data/doc/classes/Atari800.src/M000362.html +4 -4
- data/doc/classes/Atari800.src/M000363.html +4 -4
- data/doc/classes/Atari800.src/M000364.html +4 -4
- data/doc/classes/Atari800.src/M000365.html +3 -3
- data/doc/classes/Atari800.src/M000366.html +4 -4
- data/doc/classes/Atari800.src/M000367.html +3 -3
- data/doc/classes/Atari800.src/M000368.html +4 -4
- data/doc/classes/Atari800.src/M000369.html +4 -4
- data/doc/classes/AtariBasic.html +10 -10
- data/doc/classes/AtariBasic.src/M000277.html +20 -0
- data/doc/classes/AtariBasic.src/M000278.html +94 -6
- data/doc/classes/AtariDos.html +10 -10
- data/doc/classes/AtariDos.src/M000407.html +4 -29
- data/doc/classes/AtariDos.src/M000408.html +43 -0
- data/doc/classes/AtariDos.src/M000409.html +43 -0
- data/doc/classes/AtariText.html +10 -10
- data/doc/classes/AtariText.src/M000331.html +20 -0
- data/doc/classes/AtariText.src/M000332.html +4 -6
- data/doc/classes/Atr.html +35 -35
- data/doc/classes/Atr.src/M000235.html +18 -0
- data/doc/classes/Atr.src/M000236.html +4 -4
- data/doc/classes/Atr.src/M000237.html +5 -4
- data/doc/classes/Atr.src/M000238.html +4 -5
- data/doc/classes/Atr.src/M000239.html +4 -4
- data/doc/classes/Atr.src/M000240.html +5 -4
- data/doc/classes/Atr.src/M000241.html +5 -5
- data/doc/classes/C64.html +105 -105
- data/doc/classes/C64.src/M000517.html +4 -6
- data/doc/classes/C64.src/M000518.html +4 -8
- data/doc/classes/C64.src/M000519.html +16 -7
- data/doc/classes/C64.src/M000520.html +6 -5
- data/doc/classes/C64.src/M000521.html +8 -5
- data/doc/classes/C64.src/M000522.html +8 -4
- data/doc/classes/C64.src/M000523.html +5 -4
- data/doc/classes/C64.src/M000524.html +5 -4
- data/doc/classes/C64.src/M000525.html +4 -4
- data/doc/classes/C64.src/M000526.html +4 -4
- data/doc/classes/C64.src/M000527.html +4 -4
- data/doc/classes/C64.src/M000528.html +4 -4
- data/doc/classes/C64.src/M000529.html +4 -5
- data/doc/classes/C64.src/M000530.html +4 -5
- data/doc/classes/C64.src/M000531.html +4 -4
- data/doc/classes/C64.src/M000532.html +5 -4
- data/doc/classes/C64.src/M000533.html +5 -55
- data/doc/classes/C64.src/M000534.html +4 -99
- data/doc/classes/C64.src/M000535.html +18 -0
- data/doc/classes/C64.src/M000536.html +69 -0
- data/doc/classes/C64.src/M000537.html +113 -0
- data/doc/classes/C64.src/M000538.html +113 -0
- data/doc/classes/C64GeoPaintPic.html +30 -30
- data/doc/classes/C64GeoPaintPic.src/M000412.html +4 -4
- data/doc/classes/C64GeoPaintPic.src/M000413.html +4 -4
- data/doc/classes/C64GeoPaintPic.src/M000414.html +4 -52
- data/doc/classes/C64GeoPaintPic.src/M000415.html +50 -27
- data/doc/classes/C64GeoPaintPic.src/M000416.html +29 -6
- data/doc/classes/C64GeoPaintPic.src/M000417.html +20 -0
- data/doc/classes/C64GeoPaintPic.src/M000418.html +20 -0
- data/doc/classes/C64GeosBASICFile.html +10 -10
- data/doc/classes/C64GeosBASICFile.src/M000289.html +19 -0
- data/doc/classes/C64GeosBASICFile.src/M000290.html +4 -5
- data/doc/classes/C64GeosBASICFile.src/M000291.html +1 -1
- data/doc/classes/C64GeosFile.html +30 -47
- data/doc/classes/C64GeosFile.src/M000140.html +1 -1
- data/doc/classes/C64GeosFile.src/M000141.html +1 -1
- data/doc/classes/C64GeosFile.src/M000142.html +1 -1
- data/doc/classes/C64GeosFile.src/M000143.html +4 -6
- data/doc/classes/C64GeosFile.src/M000144.html +8 -4
- data/doc/classes/C64GeosFile.src/M000145.html +4 -8
- data/doc/classes/C64GeosFile.src/M000146.html +8 -4
- data/doc/classes/C64GeosFile.src/M000147.html +14 -9
- data/doc/classes/C64GeosFile.src/M000148.html +22 -14
- data/doc/classes/C64GeosFile.src/M000149.html +1 -1
- data/doc/classes/C64GeosFont.html +70 -70
- data/doc/classes/C64GeosFont.src/M000179.html +18 -0
- data/doc/classes/C64GeosFont.src/M000180.html +4 -4
- data/doc/classes/C64GeosFont.src/M000181.html +4 -4
- data/doc/classes/C64GeosFont.src/M000182.html +12 -4
- data/doc/classes/C64GeosFont.src/M000183.html +8 -11
- data/doc/classes/C64GeosFont.src/M000184.html +12 -4
- data/doc/classes/C64GeosFont.src/M000185.html +12 -12
- data/doc/classes/C64GeosFont.src/M000186.html +5 -11
- data/doc/classes/C64GeosFont.src/M000187.html +5 -5
- data/doc/classes/C64GeosFont.src/M000188.html +26 -5
- data/doc/classes/C64GeosFont.src/M000189.html +9 -27
- data/doc/classes/C64GeosFont.src/M000190.html +9 -27
- data/doc/classes/C64GeosFont.src/M000191.html +16 -8
- data/doc/classes/C64GeosFont.src/M000192.html +22 -16
- data/doc/classes/C64Seq.html +15 -15
- data/doc/classes/C64Seq.src/M000392.html +6 -4
- data/doc/classes/C64Seq.src/M000393.html +4 -4
- data/doc/classes/C64Seq.src/M000394.html +18 -0
- data/doc/classes/C64Seq.src/M000395.html +18 -0
- data/doc/classes/CPMFile.html +15 -15
- data/doc/classes/CPMFile.src/M000176.html +7 -9
- data/doc/classes/CPMFile.src/M000177.html +4 -6
- data/doc/classes/CPMFile.src/M000178.html +9 -5
- data/doc/classes/CVT.html +165 -0
- data/doc/classes/CVT.src/M000482.html +18 -0
- data/doc/classes/CVT.src/M000483.html +18 -0
- data/doc/classes/CVT.src/M000484.html +18 -0
- data/doc/classes/CVTArchive.html +187 -0
- data/doc/classes/CVTArchive.src/M000381.html +18 -0
- data/doc/classes/CVTArchive.src/M000382.html +67 -0
- data/doc/classes/CVTArchive.src/M000383.html +58 -0
- data/doc/classes/CbmFile.html +10 -10
- data/doc/classes/CbmFile.src/M000329.html +22 -0
- data/doc/classes/CbmFile.src/M000330.html +4 -6
- data/doc/classes/CbmFile.src/M000331.html +1 -1
- data/doc/classes/Coco.html +65 -65
- data/doc/classes/Coco.src/M000451.html +4 -4
- data/doc/classes/Coco.src/M000452.html +4 -4
- data/doc/classes/Coco.src/M000453.html +4 -4
- data/doc/classes/Coco.src/M000454.html +4 -4
- data/doc/classes/Coco.src/M000455.html +4 -4
- data/doc/classes/Coco.src/M000456.html +3 -3
- 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 -41
- data/doc/classes/Coco.src/M000463.html +55 -0
- data/doc/classes/Coco.src/M000464.html +55 -0
- data/doc/classes/CocoBasic.html +10 -10
- data/doc/classes/CocoBasic.src/M000410.html +6 -58
- data/doc/classes/CocoBasic.src/M000411.html +72 -0
- data/doc/classes/CocoBasic.src/M000412.html +72 -0
- data/doc/classes/CocoScreen.html +20 -20
- data/doc/classes/CocoScreen.src/M000273.html +18 -0
- data/doc/classes/CocoScreen.src/M000274.html +4 -4
- data/doc/classes/CocoScreen.src/M000275.html +4 -4
- data/doc/classes/CocoScreen.src/M000276.html +4 -4
- data/doc/classes/D81.html +45 -45
- data/doc/classes/D81.src/M000420.html +4 -4
- data/doc/classes/D81.src/M000421.html +4 -4
- data/doc/classes/D81.src/M000422.html +4 -4
- data/doc/classes/D81.src/M000423.html +4 -4
- 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 -9
- data/doc/classes/D81.src/M000427.html +7 -8
- data/doc/classes/D81.src/M000428.html +24 -0
- data/doc/classes/D81.src/M000429.html +24 -0
- data/doc/classes/DumpUtilities.html +10 -10
- data/doc/classes/DumpUtilities.src/M000213.html +33 -0
- data/doc/classes/DumpUtilities.src/M000214.html +13 -19
- data/doc/classes/FileCache.html +55 -55
- data/doc/classes/FileCache.src/M000370.html +26 -0
- data/doc/classes/FileCache.src/M000371.html +6 -12
- data/doc/classes/FileCache.src/M000372.html +10 -6
- data/doc/classes/FileCache.src/M000373.html +8 -10
- data/doc/classes/FileCache.src/M000374.html +16 -6
- data/doc/classes/FileCache.src/M000375.html +7 -18
- data/doc/classes/FileCache.src/M000376.html +8 -7
- data/doc/classes/FileCache.src/M000377.html +8 -7
- data/doc/classes/FileCache.src/M000378.html +12 -8
- data/doc/classes/FileCache.src/M000379.html +10 -13
- data/doc/classes/FileCache.src/M000380.html +7 -10
- data/doc/classes/FileContainer.html +5 -5
- data/doc/classes/FileContainer.src/M000440.html +26 -0
- data/doc/classes/FileContainer.src/M000441.html +26 -0
- data/doc/classes/FileSystem.html +41 -41
- data/doc/classes/FileSystem.src/M000429.html +4 -4
- data/doc/classes/FileSystem.src/M000430.html +4 -4
- data/doc/classes/FileSystem.src/M000431.html +4 -4
- data/doc/classes/FileSystem.src/M000432.html +4 -4
- data/doc/classes/FileSystem.src/M000433.html +5 -5
- data/doc/classes/FileSystem.src/M000434.html +4 -6
- data/doc/classes/FileSystem.src/M000435.html +6 -11
- data/doc/classes/FileSystem.src/M000436.html +25 -0
- data/doc/classes/FileSystem.src/M000437.html +25 -0
- data/doc/classes/FileSystemImage.html +127 -127
- data/doc/classes/FileSystemImage.src/M000292.html +8 -4
- data/doc/classes/FileSystemImage.src/M000293.html +26 -7
- data/doc/classes/FileSystemImage.src/M000294.html +11 -25
- data/doc/classes/FileSystemImage.src/M000295.html +4 -13
- data/doc/classes/FileSystemImage.src/M000296.html +4 -4
- data/doc/classes/FileSystemImage.src/M000297.html +5 -4
- data/doc/classes/FileSystemImage.src/M000298.html +4 -5
- data/doc/classes/FileSystemImage.src/M000299.html +8 -4
- data/doc/classes/FileSystemImage.src/M000300.html +6 -9
- data/doc/classes/FileSystemImage.src/M000301.html +5 -6
- data/doc/classes/FileSystemImage.src/M000302.html +4 -4
- data/doc/classes/FileSystemImage.src/M000303.html +4 -4
- data/doc/classes/FileSystemImage.src/M000304.html +4 -4
- data/doc/classes/FileSystemImage.src/M000305.html +7 -5
- data/doc/classes/FileSystemImage.src/M000306.html +8 -6
- data/doc/classes/FileSystemImage.src/M000307.html +8 -8
- data/doc/classes/FileSystemImage.src/M000308.html +5 -9
- data/doc/classes/FileSystemImage.src/M000309.html +9 -4
- data/doc/classes/FileSystemImage.src/M000310.html +7 -7
- data/doc/classes/FileSystemImage.src/M000311.html +12 -10
- data/doc/classes/FileSystemImage.src/M000312.html +5 -12
- data/doc/classes/FileSystemImage.src/M000313.html +4 -4
- data/doc/classes/FileSystemImage.src/M000314.html +4 -4
- data/doc/classes/FileSystemImage.src/M000315.html +13 -4
- data/doc/classes/FileSystemImage.src/M000316.html +5 -12
- data/doc/classes/GenericFile.html +10 -10
- data/doc/classes/GenericFile.src/M000231.html +20 -0
- data/doc/classes/GenericFile.src/M000232.html +4 -6
- data/doc/classes/GenericGIF.html +25 -25
- data/doc/classes/GenericGIF.src/M000546.html +4 -4
- data/doc/classes/GenericGIF.src/M000547.html +4 -4
- data/doc/classes/GenericGIF.src/M000548.html +18 -0
- data/doc/classes/GenericGIF.src/M000549.html +18 -0
- data/doc/classes/GenericGIF.src/M000550.html +18 -0
- data/doc/classes/GenericGIF.src/M000551.html +18 -0
- data/doc/classes/HostSystem.html +91 -91
- data/doc/classes/HostSystem.src/M000464.html +4 -8
- data/doc/classes/HostSystem.src/M000465.html +8 -4
- data/doc/classes/HostSystem.src/M000466.html +5 -5
- data/doc/classes/HostSystem.src/M000467.html +4 -8
- data/doc/classes/HostSystem.src/M000468.html +8 -19
- data/doc/classes/HostSystem.src/M000469.html +19 -4
- data/doc/classes/HostSystem.src/M000470.html +4 -5
- data/doc/classes/HostSystem.src/M000471.html +5 -4
- data/doc/classes/HostSystem.src/M000472.html +4 -4
- data/doc/classes/HostSystem.src/M000473.html +4 -4
- data/doc/classes/HostSystem.src/M000474.html +4 -4
- data/doc/classes/HostSystem.src/M000475.html +3 -3
- 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 -15
- data/doc/classes/HostSystem.src/M000480.html +15 -4
- data/doc/classes/HostSystem.src/M000481.html +18 -0
- data/doc/classes/HostSystem.src/M000482.html +18 -0
- data/doc/classes/ImageFormat.html +84 -84
- data/doc/classes/ImageFormat.src/M000193.html +4 -4
- data/doc/classes/ImageFormat.src/M000194.html +4 -4
- data/doc/classes/ImageFormat.src/M000195.html +4 -4
- data/doc/classes/ImageFormat.src/M000196.html +3 -3
- data/doc/classes/ImageFormat.src/M000197.html +4 -4
- data/doc/classes/ImageFormat.src/M000198.html +8 -4
- data/doc/classes/ImageFormat.src/M000199.html +5 -8
- data/doc/classes/ImageFormat.src/M000200.html +4 -5
- data/doc/classes/ImageFormat.src/M000201.html +4 -4
- data/doc/classes/ImageFormat.src/M000202.html +4 -4
- data/doc/classes/ImageFormat.src/M000203.html +4 -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 +6 -4
- data/doc/classes/ImageFormat.src/M000208.html +12 -6
- data/doc/classes/ImageFormat.src/M000209.html +4 -12
- data/doc/classes/ImageSniffing.html +40 -40
- data/doc/classes/ImageSniffing.src/M000494.html +105 -32
- data/doc/classes/ImageSniffing.src/M000495.html +15 -25
- data/doc/classes/ImageSniffing.src/M000496.html +97 -45
- data/doc/classes/ImageSniffing.src/M000497.html +31 -58
- data/doc/classes/ImageSniffing.src/M000498.html +24 -22
- data/doc/classes/ImageSniffing.src/M000499.html +59 -0
- data/doc/classes/ImageSniffing.src/M000500.html +74 -0
- data/doc/classes/ImageSniffing.src/M000501.html +44 -0
- data/doc/classes/ImageSniffing.src/M000502.html +44 -0
- data/doc/classes/IntegerBASIC.html +10 -10
- data/doc/classes/IntegerBASIC.src/M000285.html +20 -0
- data/doc/classes/IntegerBASIC.src/M000286.html +72 -6
- data/doc/classes/JvcDsk.html +30 -30
- data/doc/classes/JvcDsk.src/M000279.html +18 -0
- data/doc/classes/JvcDsk.src/M000280.html +25 -4
- data/doc/classes/JvcDsk.src/M000281.html +4 -25
- data/doc/classes/JvcDsk.src/M000282.html +4 -4
- data/doc/classes/JvcDsk.src/M000283.html +4 -4
- data/doc/classes/JvcDsk.src/M000284.html +8 -4
- data/doc/classes/MBasic.html +10 -10
- data/doc/classes/MBasic.src/M000233.html +20 -0
- data/doc/classes/MBasic.src/M000234.html +8 -6
- data/doc/classes/NADOLDos.html +10 -10
- data/doc/classes/NADOLDos.src/M000154.html +18 -0
- data/doc/classes/NADOLDos.src/M000155.html +39 -5
- data/doc/classes/NativeFileType.html +100 -100
- data/doc/classes/NativeFileType.src/M000253.html +10 -5
- data/doc/classes/NativeFileType.src/M000254.html +5 -10
- data/doc/classes/NativeFileType.src/M000255.html +4 -4
- data/doc/classes/NativeFileType.src/M000256.html +4 -4
- data/doc/classes/NativeFileType.src/M000257.html +8 -4
- data/doc/classes/NativeFileType.src/M000258.html +4 -8
- data/doc/classes/NativeFileType.src/M000259.html +4 -4
- data/doc/classes/NativeFileType.src/M000260.html +3 -3
- data/doc/classes/NativeFileType.src/M000261.html +9 -4
- data/doc/classes/NativeFileType.src/M000262.html +4 -9
- data/doc/classes/NativeFileType.src/M000263.html +8 -4
- data/doc/classes/NativeFileType.src/M000264.html +4 -6
- data/doc/classes/NativeFileType.src/M000265.html +10 -4
- data/doc/classes/NativeFileType.src/M000266.html +28 -11
- data/doc/classes/NativeFileType.src/M000267.html +9 -26
- data/doc/classes/NativeFileType.src/M000268.html +4 -10
- data/doc/classes/NativeFileType.src/M000269.html +4 -4
- data/doc/classes/NativeFileType.src/M000270.html +4 -4
- data/doc/classes/NativeFileType.src/M000271.html +6 -4
- data/doc/classes/NativeFileType.src/M000272.html +14 -6
- data/doc/classes/NativeFileType.src/M000273.html +1 -1
- data/doc/classes/PackedProDosPic.html +5 -5
- data/doc/classes/PackedProDosPic.src/M000409.html +40 -0
- data/doc/classes/PackedProDosPic.src/M000410.html +40 -0
- data/doc/classes/PascalDos.html +15 -15
- data/doc/classes/PascalDos.src/M000506.html +18 -0
- data/doc/classes/PascalDos.src/M000507.html +21 -0
- data/doc/classes/PascalDos.src/M000508.html +62 -0
- data/doc/classes/PascalDos.src/M000509.html +62 -0
- data/doc/classes/PascalFile.html +10 -10
- data/doc/classes/PascalFile.src/M000152.html +20 -0
- data/doc/classes/PascalFile.src/M000153.html +5 -7
- data/doc/classes/PascalPic.html +10 -10
- data/doc/classes/PascalPic.src/M000488.html +20 -0
- data/doc/classes/PascalPic.src/M000489.html +18 -0
- data/doc/classes/PascalPic.src/M000490.html +18 -0
- data/doc/classes/ProDosBINFile.html +20 -20
- data/doc/classes/ProDosBINFile.src/M000484.html +7 -5
- data/doc/classes/ProDosBINFile.src/M000485.html +18 -0
- data/doc/classes/ProDosBINFile.src/M000486.html +18 -0
- data/doc/classes/ProDosBINFile.src/M000487.html +18 -0
- data/doc/classes/ProDosBINFile.src/M000488.html +18 -0
- data/doc/classes/ProDosBinPic.html +15 -15
- data/doc/classes/ProDosBinPic.src/M000149.html +7 -5
- data/doc/classes/ProDosBinPic.src/M000150.html +5 -7
- data/doc/classes/ProDosBinPic.src/M000151.html +4 -4
- data/doc/classes/ProDosFile.html +15 -15
- data/doc/classes/ProDosFile.src/M000215.html +20 -0
- data/doc/classes/ProDosFile.src/M000216.html +4 -6
- data/doc/classes/ProDosFile.src/M000217.html +5 -4
- data/doc/classes/Proc.html +54 -54
- data/doc/classes/Proc.src/M000220.html +21 -0
- data/doc/classes/Proc.src/M000221.html +5 -7
- data/doc/classes/Proc.src/M000222.html +8 -5
- data/doc/classes/Proc.src/M000223.html +6 -6
- data/doc/classes/Proc.src/M000224.html +6 -6
- data/doc/classes/Proc.src/M000225.html +5 -8
- data/doc/classes/Proc.src/M000226.html +3 -6
- data/doc/classes/Proc.src/M000227.html +7 -3
- data/doc/classes/Proc.src/M000228.html +4 -6
- data/doc/classes/Proc.src/M000229.html +3 -5
- data/doc/classes/Proc.src/M000230.html +2 -2
- data/doc/classes/ProcSource.html +10 -10
- data/doc/classes/ProcSource.src/M000544.html +38 -0
- data/doc/classes/ProcSource.src/M000545.html +109 -0
- data/doc/classes/ProcSource.src/M000546.html +109 -0
- data/doc/classes/RDoc.html +5 -5
- data/doc/classes/RDoc.src/M000543.html +40 -0
- data/doc/classes/RDoc.src/M000544.html +40 -0
- data/doc/classes/RawDisk.html +10 -10
- data/doc/classes/RawDisk.src/M000333.html +18 -0
- data/doc/classes/RawDisk.src/M000334.html +9 -4
- data/doc/classes/RipXplore.html +1 -1
- data/doc/classes/RipXploreLog.html +15 -15
- data/doc/classes/RipXploreLog.src/M000173.html +4 -4
- data/doc/classes/RipXploreLog.src/M000174.html +6 -4
- data/doc/classes/RipXploreLog.src/M000175.html +4 -6
- data/doc/classes/RsDos.html +20 -20
- data/doc/classes/RsDos.src/M000490.html +4 -48
- data/doc/classes/RsDos.src/M000491.html +18 -0
- data/doc/classes/RsDos.src/M000492.html +18 -0
- data/doc/classes/RsDos.src/M000493.html +62 -0
- data/doc/classes/RsDos.src/M000494.html +62 -0
- data/doc/classes/ScAsm.html +5 -5
- data/doc/classes/ScAsm.src/M000502.html +45 -0
- data/doc/classes/ScAsm.src/M000503.html +45 -0
- data/doc/classes/ScreenDump.html +5 -5
- data/doc/classes/ScreenDump.src/M000542.html +24 -0
- data/doc/classes/ScreenDump.src/M000543.html +24 -0
- data/doc/classes/ScreenDumps.html +15 -15
- data/doc/classes/ScreenDumps.src/M000385.html +8 -10
- data/doc/classes/ScreenDumps.src/M000386.html +10 -21
- data/doc/classes/ScreenDumps.src/M000387.html +35 -0
- data/doc/classes/ScreenDumps.src/M000388.html +35 -0
- data/doc/classes/ScrunchedAppleDosPic.html +5 -5
- data/doc/classes/ScrunchedAppleDosPic.src/M000291.html +37 -0
- data/doc/classes/SubclassTracking.html +5 -5
- data/doc/classes/SubclassTracking.src/M000551.html +23 -0
- data/doc/classes/SubclassTracking.src/M000552.html +23 -0
- data/doc/classes/Ti99.html +60 -60
- data/doc/classes/Ti99.src/M000161.html +4 -4
- data/doc/classes/Ti99.src/M000162.html +4 -4
- data/doc/classes/Ti99.src/M000163.html +4 -4
- data/doc/classes/Ti99.src/M000164.html +4 -4
- data/doc/classes/Ti99.src/M000165.html +4 -4
- data/doc/classes/Ti99.src/M000166.html +4 -4
- data/doc/classes/Ti99.src/M000167.html +4 -4
- data/doc/classes/Ti99.src/M000168.html +4 -4
- data/doc/classes/Ti99.src/M000169.html +4 -4
- data/doc/classes/Ti99.src/M000170.html +4 -4
- data/doc/classes/Ti99.src/M000171.html +4 -4
- data/doc/classes/Ti99.src/M000172.html +4 -4
- data/doc/classes/Ti99BasicFile.html +5 -5
- data/doc/classes/Ti99BasicFile.src/M000356.html +72 -0
- data/doc/classes/Ti99File.html +10 -10
- data/doc/classes/Ti99File.src/M000287.html +20 -0
- data/doc/classes/Ti99File.src/M000288.html +4 -6
- data/doc/classes/Ti99Fms.html +10 -10
- data/doc/classes/Ti99Fms.src/M000449.html +4 -63
- data/doc/classes/Ti99Fms.src/M000450.html +77 -0
- data/doc/classes/Ti99Fms.src/M000451.html +77 -0
- data/doc/classes/Ti99TextFile.html +10 -10
- data/doc/classes/Ti99TextFile.src/M000515.html +33 -0
- data/doc/classes/Ti99TextFile.src/M000516.html +18 -0
- data/doc/classes/Ti99TextFile.src/M000517.html +18 -0
- data/doc/classes/TiArtistPattern.html +20 -20
- data/doc/classes/TiArtistPattern.src/M000388.html +36 -4
- data/doc/classes/TiArtistPattern.src/M000389.html +4 -4
- data/doc/classes/TiArtistPattern.src/M000390.html +4 -4
- data/doc/classes/TiArtistPattern.src/M000391.html +18 -0
- data/doc/classes/TiArtistPattern.src/M000392.html +18 -0
- data/doc/classes/TiRLE.html +20 -20
- data/doc/classes/TiRLE.src/M000511.html +8 -4
- data/doc/classes/TiRLE.src/M000512.html +22 -0
- data/doc/classes/TiRLE.src/M000513.html +43 -0
- data/doc/classes/TiRLE.src/M000514.html +18 -0
- data/doc/classes/TiRLE.src/M000515.html +18 -0
- data/doc/classes/Trs80.html +55 -55
- data/doc/classes/Trs80.src/M000335.html +18 -0
- data/doc/classes/Trs80.src/M000336.html +4 -4
- data/doc/classes/Trs80.src/M000337.html +4 -4
- data/doc/classes/Trs80.src/M000338.html +4 -4
- 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/Trs80BasicListing.html +15 -15
- data/doc/classes/Trs80BasicListing.src/M000353.html +20 -0
- data/doc/classes/Trs80BasicListing.src/M000354.html +4 -6
- data/doc/classes/Trs80BasicListing.src/M000355.html +4 -4
- data/doc/classes/Trs80PascalSource.html +10 -10
- data/doc/classes/Trs80PascalSource.src/M000509.html +20 -0
- data/doc/classes/Trs80PascalSource.src/M000510.html +30 -0
- data/doc/classes/Trs80PascalSource.src/M000511.html +30 -0
- data/doc/classes/Trs80Text.html +15 -15
- data/doc/classes/Trs80Text.src/M000437.html +6 -4
- data/doc/classes/Trs80Text.src/M000438.html +4 -4
- data/doc/classes/Trs80Text.src/M000439.html +18 -0
- data/doc/classes/Trs80Text.src/M000440.html +18 -0
- data/doc/classes/TrsDos.html +20 -20
- data/doc/classes/TrsDos.src/M000403.html +4 -4
- data/doc/classes/TrsDos.src/M000404.html +4 -4
- data/doc/classes/TrsDos.src/M000405.html +4 -50
- data/doc/classes/TrsDos.src/M000406.html +64 -0
- data/doc/classes/TrsDos.src/M000407.html +64 -0
- data/doc/classes/Zx81.html +25 -25
- data/doc/classes/Zx81.src/M000321.html +18 -0
- data/doc/classes/Zx81.src/M000322.html +192 -4
- data/doc/classes/Zx81.src/M000323.html +4 -192
- data/doc/classes/Zx81.src/M000324.html +9 -4
- data/doc/classes/Zx81.src/M000325.html +14 -8
- data/doc/classes/Zx81Basic.html +15 -15
- data/doc/classes/Zx81Basic.src/M000326.html +20 -0
- data/doc/classes/Zx81Basic.src/M000327.html +4 -6
- data/doc/classes/Zx81Basic.src/M000328.html +109 -4
- data/doc/classes/Zx81PFile.html +10 -10
- data/doc/classes/Zx81PFile.src/M000383.html +4 -4
- data/doc/classes/Zx81PFile.src/M000384.html +18 -0
- data/doc/classes/Zx81PFile.src/M000385.html +18 -0
- data/doc/created.rid +1 -1
- data/doc/files/lib/LibRipXplore_rb.html +1 -1
- data/doc/files/lib/NativeFileType_rb.html +1 -1
- data/doc/files/lib/file_systems/CVTArchive_rb.html +108 -0
- data/doc/files/lib/file_systems/CbmDos_rb.html +1 -1
- data/doc/files/lib/image_formats/CVT_rb.html +108 -0
- data/doc/files/lib/native_file_types/c64/C64GeosFile_rb.html +1 -1
- data/doc/files/lib/native_file_types/c64/C64GeosFont_rb.html +1 -1
- data/doc/files/lib/native_file_types/c64/CbmFile_rb.html +1 -1
- data/doc/files/test/tc_c64_rb.html +1 -1
- data/doc/fr_class_index.html +2 -0
- data/doc/fr_file_index.html +2 -0
- data/doc/fr_method_index.html +439 -436
- data/lib/LibRipXplore.rb +1 -1
- data/lib/NativeFileType.rb +2 -0
- data/lib/file_systems/CVTArchive.rb +110 -0
- data/lib/file_systems/CbmDos.rb +2 -2
- data/lib/image_formats/CVT.rb +52 -0
- data/lib/native_file_types/c64/C64GeosFile.rb +2 -5
- data/lib/native_file_types/c64/C64GeosFont.rb +50 -26
- data/lib/native_file_types/c64/CbmFile.rb +5 -1
- data/test/tc_c64.rb +28 -4
- metadata +151 -5
data/lib/LibRipXplore.rb
CHANGED
data/lib/NativeFileType.rb
CHANGED
@@ -0,0 +1,110 @@
|
|
1
|
+
$:.unshift(File.dirname(__FILE__)) unless
|
2
|
+
$:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
|
3
|
+
|
4
|
+
$:.unshift(File.dirname(__FILE__+"\\..")) unless
|
5
|
+
$:.include?(File.dirname(__FILE__+"\\..")) || $:.include?(File.expand_path(File.dirname(__FILE__+"\\..")))
|
6
|
+
|
7
|
+
|
8
|
+
require 'FileSystem'
|
9
|
+
#
|
10
|
+
# CVT files - sequential representation of C64 GEOS files
|
11
|
+
#
|
12
|
+
# this is a pseudo file system, a single CVT file will only
|
13
|
+
# contain 1 GEOS file
|
14
|
+
# References:
|
15
|
+
# http://ist.uwaterloo.ca/~schepers/formats/CVT.TXT
|
16
|
+
|
17
|
+
class CVTArchive<FileSystem
|
18
|
+
|
19
|
+
def self.host_system
|
20
|
+
C64
|
21
|
+
end
|
22
|
+
|
23
|
+
FILE_TYPES=[:del,:seq,:prg,:usr,:rel,:unk,:unk,:unk]
|
24
|
+
GEOS_FILE_TYPES=[:not_geos,:basic,:assembler,:data,:system,:desk_accessory,:application,:application_data,:font,:printer_driver,:input_driver,:disk_driver,:system_boot,:temp,:autoexec]
|
25
|
+
|
26
|
+
is_valid_file_system_if lambda {file_system_image.image_format.class==CVT}
|
27
|
+
is_valid_file_system_if lambda {
|
28
|
+
(file_system_image.file_bytes[0x22,9]=="formatted")
|
29
|
+
}
|
30
|
+
|
31
|
+
def self.files(file_system_image)
|
32
|
+
files=FileContainer.new
|
33
|
+
directory_entry=file_system_image.file_bytes[0x00,0x1D]
|
34
|
+
# require 'DumpUtilities'
|
35
|
+
# puts DumpUtilities.hex_dump(directory_entry)
|
36
|
+
file_type=FILE_TYPES[directory_entry[0x00]%8]
|
37
|
+
geos_file_type=GEOS_FILE_TYPES[directory_entry[0x16]]
|
38
|
+
is_geos_file=(geos_file_type!=:not_geos)
|
39
|
+
|
40
|
+
is_vlir=is_geos_file && (directory_entry[0x15]==0x01)
|
41
|
+
|
42
|
+
file_name=(directory_entry[0x03..0x12]).gsub(/\xa0/," ").strip #GEOS filenames will be ASCII not PETSCII
|
43
|
+
info_block="\000\000"+file_system_image.file_bytes[0xFE,0xFE] #put dummy bytes where the t/s would nromally go
|
44
|
+
file_contents=[info_block]
|
45
|
+
|
46
|
+
if (is_vlir) then
|
47
|
+
record_block="\000\377"+file_system_image.file_bytes[0x1FC,0xFE]
|
48
|
+
ptr=0x2FA
|
49
|
+
127.times do |i|
|
50
|
+
record_no=i+1
|
51
|
+
sectors=record_block[2*record_no]
|
52
|
+
last_sector_length=record_block[1+(2*record_no)]
|
53
|
+
|
54
|
+
break if sectors==0 && last_sector_length==00
|
55
|
+
if sectors==0 && last_sector_length==0xFF then
|
56
|
+
file_contents<<(nil)
|
57
|
+
else
|
58
|
+
record_length=254*(sectors-1)+last_sector_length-1
|
59
|
+
record_bytes=file_system_image.file_bytes[ptr,record_length]
|
60
|
+
# puts "#{record_no}/#{sectors}/#{last_sector_length}"
|
61
|
+
# require 'DumpUtilities'
|
62
|
+
# puts DumpUtilities.hex_dump(record_bytes[0,0x40])
|
63
|
+
|
64
|
+
file_contents<<(record_bytes)
|
65
|
+
ptr+=254*(sectors)
|
66
|
+
# puts "record #{record_no} has length #{"%2x" % record_length} - sectors=$#{"%x" % sectors}, last sector =$#{"%02x" % last_sector_length} : ptr now #{ptr} of #{file_system_image.file_bytes.length} for #{file_name}"
|
67
|
+
end
|
68
|
+
end
|
69
|
+
else
|
70
|
+
file_contents=file_system_image.file_bytes[0x1FC,file_system_image.file_bytes.length-0x1FC]
|
71
|
+
end
|
72
|
+
file=NativeFileType.best_fit(file_system_image,file_name,file_contents,file_type,geos_file_type)
|
73
|
+
file.meta_data["c64_file_type"]=file_type
|
74
|
+
if (is_geos_file) then
|
75
|
+
file.meta_data["geos_file_structure_type"]=("$%02x" % directory_entry[0x15])
|
76
|
+
file.meta_data["geos_file_type"]=geos_file_type
|
77
|
+
file.meta_data["geos_file_modified_date"]="%04d-%02d-%02d %02d:%02d" % [1900+directory_entry[0x17],directory_entry[0x18],directory_entry[0x19],directory_entry[0x1a],directory_entry[0x1b]]
|
78
|
+
end
|
79
|
+
files<<file
|
80
|
+
# puts file.to_info_dump
|
81
|
+
files
|
82
|
+
end
|
83
|
+
|
84
|
+
|
85
|
+
end
|
86
|
+
|
87
|
+
# == Author
|
88
|
+
# Jonno Downes (jonno@jamtronix.com)
|
89
|
+
#
|
90
|
+
# == Copyright
|
91
|
+
# Copyright (c) 2008,2009,2010 Jonno Downes (jonno@jamtronix.com)
|
92
|
+
#
|
93
|
+
#Permission is hereby granted, free of charge, to any person obtaining
|
94
|
+
#a copy of this software and associated documentation files (the
|
95
|
+
#"Software"), to deal in the Software without restriction, including
|
96
|
+
#without limitation the rights to use, copy, modify, merge, publish,
|
97
|
+
#distribute, sublicense, and/or sell copies of the Software, and to
|
98
|
+
#permit persons to whom the Software is furnished to do so, subject to
|
99
|
+
#the following conditions:
|
100
|
+
|
101
|
+
# The above copyright notice and this permission notice shall be
|
102
|
+
# included in all copies or substantial portions of the Software.
|
103
|
+
|
104
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
105
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
106
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
107
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
108
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
109
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
110
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/lib/file_systems/CbmDos.rb
CHANGED
@@ -17,8 +17,8 @@ end
|
|
17
17
|
DIRECTORY_ENTRY_SIZE=0x20
|
18
18
|
FILE_TYPES=[:del,:seq,:prg,:usr,:rel,:unk,:unk,:unk]
|
19
19
|
GEOS_FILE_TYPES=[:not_geos,:basic,:assembler,:data,:system,:desk_accessory,:application,:application_data,:font,:printer_driver,:input_driver,:disk_driver,:system_boot,:temp,:autoexec]
|
20
|
-
#for now, assume that anything on a CBM compatable image format is a CBM DOS
|
21
|
-
is_valid_file_system_if lambda {
|
20
|
+
#for now, assume that anything on a CBM compatable disk image format is a CBM DOS
|
21
|
+
is_valid_file_system_if lambda {file_system_image.image_format.respond_to?(:dir_track_no)}
|
22
22
|
|
23
23
|
def self.files(file_system_image)
|
24
24
|
files=FileContainer.new
|
@@ -0,0 +1,52 @@
|
|
1
|
+
$:.unshift(File.dirname(__FILE__)) unless
|
2
|
+
$:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
|
3
|
+
|
4
|
+
$:.unshift(File.dirname(__FILE__+"\\..")) unless
|
5
|
+
$:.include?(File.dirname(__FILE__+"\\..")) || $:.include?(File.expand_path(File.dirname(__FILE__+"\\..")))
|
6
|
+
|
7
|
+
require 'ImageFormat'
|
8
|
+
|
9
|
+
class CVT < ImageFormat
|
10
|
+
|
11
|
+
#
|
12
|
+
# CVT files - sequential representation of C64 GEOS files
|
13
|
+
#
|
14
|
+
# References:
|
15
|
+
# http://ist.uwaterloo.ca/~schepers/formats/CVT.TXT
|
16
|
+
# http://ftp.martnet.com/commie/geos/programming/documents/Convert%20format.txt
|
17
|
+
|
18
|
+
def self.possible_extensions
|
19
|
+
['.cvt']
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.host_system
|
23
|
+
C64
|
24
|
+
end
|
25
|
+
|
26
|
+
|
27
|
+
|
28
|
+
end
|
29
|
+
# == Author
|
30
|
+
# Jonno Downes (jonno@jamtronix.com)
|
31
|
+
#
|
32
|
+
# == Copyright
|
33
|
+
# Copyright (c) 2008,2009 Jonno Downes (jonno@jamtronix.com)
|
34
|
+
#
|
35
|
+
#Permission is hereby granted, free of charge, to any person obtaining
|
36
|
+
#a copy of this software and associated documentation files (the
|
37
|
+
#"Software"), to deal in the Software without restriction, including
|
38
|
+
#without limitation the rights to use, copy, modify, merge, publish,
|
39
|
+
#distribute, sublicense, and/or sell copies of the Software, and to
|
40
|
+
#permit persons to whom the Software is furnished to do so, subject to
|
41
|
+
#the following conditions:
|
42
|
+
|
43
|
+
# The above copyright notice and this permission notice shall be
|
44
|
+
# included in all copies or substantial portions of the Software.
|
45
|
+
|
46
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
47
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
48
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
49
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
50
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
51
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
52
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
@@ -8,6 +8,8 @@ require 'CbmFile'
|
|
8
8
|
|
9
9
|
class C64GeosFile<CbmFile
|
10
10
|
|
11
|
+
|
12
|
+
|
11
13
|
is_valid_file_if lambda {(aux_code!=:not_geos)}
|
12
14
|
|
13
15
|
def type_description
|
@@ -24,11 +26,6 @@ def header_filename
|
|
24
26
|
info_block[0x4d,16].unpack("A*")[0]
|
25
27
|
end
|
26
28
|
|
27
|
-
def self.file_system_file_types
|
28
|
-
{
|
29
|
-
CbmDos=>:any
|
30
|
-
}
|
31
|
-
end
|
32
29
|
def info_block
|
33
30
|
@contents[0]
|
34
31
|
end
|
@@ -38,7 +38,12 @@ def point_ids
|
|
38
38
|
@point_ids
|
39
39
|
end
|
40
40
|
def point_sizes
|
41
|
-
|
41
|
+
r=[]
|
42
|
+
@contents.length.times do |record_no|
|
43
|
+
next if record_no==0
|
44
|
+
r<<record_no-1 unless @contents[record_no].nil?
|
45
|
+
end
|
46
|
+
r
|
42
47
|
end
|
43
48
|
def lengths
|
44
49
|
if @lengths.nil? then
|
@@ -53,31 +58,31 @@ def lengths
|
|
53
58
|
end
|
54
59
|
|
55
60
|
def char_width(point_size,char)
|
56
|
-
font_data=@contents[point_size]
|
61
|
+
font_data=@contents[point_size+1]
|
57
62
|
return nil if font_data.nil?
|
58
63
|
bit_stream_index=font_data[0x04]+0x100*font_data[0x05]
|
59
64
|
char_pointer=2*((char[0]%0x80)-0x20)
|
60
65
|
start_of_char=font_data[char_pointer+bit_stream_index]+0x100*font_data[char_pointer+bit_stream_index+1]
|
61
66
|
start_of_next_char=font_data[char_pointer+bit_stream_index+2]+0x100*font_data[char_pointer+bit_stream_index+3]
|
62
67
|
width=(start_of_next_char-start_of_char)
|
63
|
-
raise "invalid char width #{width} for char $#{"%02x" % char} point size #{point_size} - char pointer=#{char_pointer}" if width>(2*point_size)
|
68
|
+
raise "invalid char width #{width} for char $#{"%02x" % char[0]} point size #{point_size} - char pointer=#{char_pointer}" if width>(2*point_size)
|
64
69
|
width
|
65
70
|
end
|
66
71
|
|
67
72
|
def bytes_in_bitstream(point_size)
|
68
|
-
font_data=@contents[point_size]
|
73
|
+
font_data=@contents[point_size+1]
|
69
74
|
return nil if font_data.nil?
|
70
75
|
font_data[0x01]+font_data[0x02]*100
|
71
76
|
end
|
72
77
|
|
73
78
|
def char_height(point_size)
|
74
|
-
font_data=@contents[point_size]
|
79
|
+
font_data=@contents[point_size+1]
|
75
80
|
return nil if font_data.nil?
|
76
81
|
font_data[0x03]
|
77
82
|
end
|
78
83
|
|
79
84
|
def bitstreams(point_size,char)
|
80
|
-
font_data=@contents[point_size]
|
85
|
+
font_data=@contents[point_size+1]
|
81
86
|
return nil if font_data.nil?
|
82
87
|
bit_stream_index=font_data[0x04]+0x100*font_data[0x05]
|
83
88
|
bit_stream_base=font_data[0x06]+0x100*font_data[0x07]
|
@@ -104,28 +109,11 @@ def bitstreams(point_size,char)
|
|
104
109
|
end
|
105
110
|
|
106
111
|
|
112
|
+
|
107
113
|
def to_picture
|
108
114
|
require 'PatchedPNG'
|
109
|
-
|
110
|
-
point_size=point_sizes[0]
|
111
115
|
canvas = PNG::Canvas.new picture_width,picture_height, BACKGROUND_COLOUR
|
112
|
-
|
113
|
-
x=0
|
114
|
-
y=point_size
|
115
|
-
(32..126).each do |b|
|
116
|
-
c=b.chr
|
117
|
-
width=char_width(point_size,c)
|
118
|
-
# puts "char #{c} - char width=#{width},x=#{x},y=#{y},#{canvas.height}"
|
119
|
-
if (x+width)>=picture_width then
|
120
|
-
# puts "skipping at #{x} - w=#{width}"
|
121
|
-
x=0
|
122
|
-
y+=point_size
|
123
|
-
break if (y+point_size)>=picture_height
|
124
|
-
end
|
125
|
-
draw_char(canvas,point_size,c,x,y,TEXT_COLOUR)
|
126
|
-
x+=width
|
127
|
-
|
128
|
-
end
|
116
|
+
draw_sampler(canvas)
|
129
117
|
png = PNG.new canvas
|
130
118
|
result=png.raw_bytes
|
131
119
|
result
|
@@ -150,9 +138,11 @@ end
|
|
150
138
|
x=0
|
151
139
|
y+=point_size
|
152
140
|
end
|
141
|
+
break if (y+point_size)>=picture_height
|
153
142
|
draw_char(canvas,point_size,c,x,y,colour)
|
154
143
|
x+=width
|
155
144
|
end
|
145
|
+
[x,y]
|
156
146
|
end
|
157
147
|
|
158
148
|
def meta_data
|
@@ -163,7 +153,7 @@ def meta_data
|
|
163
153
|
@meta_data["geos_font_lengths"]=(lengths.collect{|x| '$%04x' % x}).join(",")
|
164
154
|
# point_sizes.each do |point_size|
|
165
155
|
# prefix="geos_font_point_size_#{point_size}"
|
166
|
-
# font_data=@contents[point_size]
|
156
|
+
# font_data=@contents[point_size+1]
|
167
157
|
# next if font_data.nil?
|
168
158
|
# @meta_data["#{prefix}_line_of_print"]=font_data[0x00]
|
169
159
|
# @meta_data["#{prefix}_bytes_in_bitstream"]=bytes_in_bitstream(point_size)
|
@@ -176,6 +166,40 @@ def meta_data
|
|
176
166
|
super
|
177
167
|
end
|
178
168
|
|
169
|
+
private
|
170
|
+
def draw_sampler(canvas)
|
171
|
+
raise "no valid point sizes" if point_sizes.length==0
|
172
|
+
point_size=point_sizes[0]
|
173
|
+
|
174
|
+
|
175
|
+
first_letter=filename[0].chr
|
176
|
+
#some fonts have only upper case, some have only lower case, some have both
|
177
|
+
best_case_filename= (char_width(point_size,first_letter.upcase) > char_width(point_size,first_letter.downcase) ? filename.upcase : filename.downcase)
|
178
|
+
x=0
|
179
|
+
y=0
|
180
|
+
point_sizes.each do |point_size|
|
181
|
+
(x,y)=draw_string(canvas,point_size,"#{best_case_filename} #{point_size}",x,y,TEXT_COLOUR)
|
182
|
+
x=0
|
183
|
+
y+=point_size
|
184
|
+
(32..126).each do |b|
|
185
|
+
c=b.chr
|
186
|
+
width=char_width(point_size,c)
|
187
|
+
# puts "#{filename} char #{c} - char width=#{width},x=#{x},y=#{y},#{picture_height}"
|
188
|
+
if (x+width)>=picture_width then
|
189
|
+
# puts "skipping at #{x} - w=#{width}"
|
190
|
+
x=0
|
191
|
+
y+=point_size
|
192
|
+
end
|
193
|
+
break if (y+point_size)>=picture_height
|
194
|
+
draw_char(canvas,point_size,c,x,y,TEXT_COLOUR)
|
195
|
+
x+=width
|
196
|
+
end
|
197
|
+
x=0
|
198
|
+
y+=point_size
|
199
|
+
end
|
200
|
+
|
201
|
+
end
|
202
|
+
|
179
203
|
|
180
204
|
end
|
181
205
|
|
data/test/tc_c64.rb
CHANGED
@@ -5,8 +5,35 @@ class ImageSniffing < Test::Unit::TestCase
|
|
5
5
|
|
6
6
|
|
7
7
|
def test_c64_images
|
8
|
+
f=sniff_url("http://cbmfiles.com/genie/geniefiles/GEOSFonts/SUPRA-SEXY.CVT",CVT,CVTArchive,
|
9
|
+
[{:filename=>"Supra Sexy",:expected_native_file_type=>C64GeosFont,:save_output=>[:to_picture,'png']}]
|
10
|
+
)
|
11
|
+
|
12
|
+
sniff_url("http://lyonlabs.org/commodore/onrequest/geos/geosfonts1.d64",D64,CbmDos,
|
13
|
+
[
|
14
|
+
{:filename=>"America",:expected_native_file_type=>C64GeosFont,:save_output=>[:to_picture,'png']},
|
15
|
+
{:filename=>"BONANZA",:expected_native_file_type=>C64GeosFont,:save_output=>[:to_picture,'png']},
|
16
|
+
{:filename=>"Cursive",:expected_native_file_type=>C64GeosFont,:save_output=>[:to_picture,'png']},
|
17
|
+
]
|
18
|
+
)
|
8
19
|
|
9
20
|
|
21
|
+
f=sniff_url("http://cbmfiles.com/genie/geniefiles/GEOSFonts/STENCIL.CVT",CVT,CVTArchive,
|
22
|
+
[{:filename=>"STENCIL",:expected_native_file_type=>C64GeosFont,:save_output=>[:to_picture,'png']}]
|
23
|
+
)
|
24
|
+
|
25
|
+
f=sniff_url("http://cbmfiles.com/genie/geniefiles/GEOSFonts/ZAPF.FONT.CVT",CVT,CVTArchive,
|
26
|
+
[{:filename=>"ZAPF 10 14",:expected_native_file_type=>C64GeosFont,:save_output=>[:to_picture,'png']}]
|
27
|
+
)
|
28
|
+
f=sniff_url("http://cbmfiles.com/genie/geniefiles/GEOSFonts/PRINCETONFNT.CVT",CVT,CVTArchive,
|
29
|
+
[{:filename=>"PRINCETON24 PD",:expected_native_file_type=>C64GeosFont,:save_output=>[:to_picture,'png']}]
|
30
|
+
)
|
31
|
+
|
32
|
+
|
33
|
+
# f=sniff_url("http://cbmfiles.com/genie/geniefiles/GEOSFonts/60DPIMEGAS.SFX",D64,CbmDos,
|
34
|
+
# [{:filename=>"klingon ship",:expected_native_file_type=>C64GeoPaintPic,:save_output=>[:to_picture,'png']}]
|
35
|
+
# )
|
36
|
+
|
10
37
|
f=sniff_url("http://lyonlabs.org/commodore/onrequest/geos/geos-klingon.d64",D64,CbmDos,
|
11
38
|
[{:filename=>"klingon ship",:expected_native_file_type=>C64GeoPaintPic,:save_output=>[:to_picture,'png']}]
|
12
39
|
)
|
@@ -36,10 +63,7 @@ class ImageSniffing < Test::Unit::TestCase
|
|
36
63
|
f=get_file_from_url("http://lyonlabs.org/commodore/geoLink/geoLink-1.00.d64","TURBOBOOT")
|
37
64
|
# puts f.to_hex_dump
|
38
65
|
|
39
|
-
|
40
|
-
[{:filename=>"America",:expected_native_file_type=>C64GeosFont,:save_output=>[:to_picture,'png']}]
|
41
|
-
)
|
42
|
-
|
66
|
+
|
43
67
|
|
44
68
|
f=get_file_from_url("http://lyonlabs.org/commodore/onrequest/geos/geosfonts1.d64","America")
|
45
69
|
|