dsktool 0.1.5 → 0.1.6

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.
Files changed (192) hide show
  1. data/bin/dskexplorer.rb +15 -4
  2. data/bin/dskexplorer.rb~ +275 -0
  3. data/bin/dsktool.rb +1 -1
  4. data/bin/dsktool.rb~ +150 -0
  5. data/lib/DSK.rb~ +134 -0
  6. data/test/tc_dos_disks.rb~ +79 -0
  7. metadata +65 -252
  8. data/doc/classes/AppleSoftFile.src/M000011.html +0 -18
  9. data/doc/classes/AppleSoftFile.src/M000012.html +0 -18
  10. data/doc/classes/AppleSoftFile.src/M000013.html +0 -18
  11. data/doc/classes/AppleSoftFile.src/M000014.html +0 -18
  12. data/doc/classes/AppleSoftFile.src/M000020.html +0 -18
  13. data/doc/classes/AppleSoftFile.src/M000021.html +0 -18
  14. data/doc/classes/AppleSoftFile.src/M000022.html +0 -18
  15. data/doc/classes/AppleSoftFile.src/M000026.html +0 -18
  16. data/doc/classes/AppleSoftFile.src/M000027.html +0 -18
  17. data/doc/classes/AppleSoftFile.src/M000028.html +0 -18
  18. data/doc/classes/BinaryFile.src/M000023.html +0 -18
  19. data/doc/classes/BinaryFile.src/M000024.html +0 -18
  20. data/doc/classes/BinaryFile.src/M000025.html +0 -18
  21. data/doc/classes/BinaryFile.src/M000026.html +0 -19
  22. data/doc/classes/BinaryFile.src/M000029.html +0 -18
  23. data/doc/classes/BinaryFile.src/M000030.html +0 -18
  24. data/doc/classes/BinaryFile.src/M000031.html +0 -19
  25. data/doc/classes/BinaryFile.src/M000039.html +0 -18
  26. data/doc/classes/BinaryFile.src/M000040.html +0 -18
  27. data/doc/classes/BinaryFile.src/M000041.html +0 -19
  28. data/doc/classes/BinaryFile.src/M000045.html +0 -18
  29. data/doc/classes/BinaryFile.src/M000046.html +0 -18
  30. data/doc/classes/BinaryFile.src/M000047.html +0 -19
  31. data/doc/classes/CatalogServlet.html +0 -146
  32. data/doc/classes/CatalogServlet.src/M000015.html +0 -20
  33. data/doc/classes/CatalogServlet.src/M000021.html +0 -20
  34. data/doc/classes/D65.src/M000009.html +0 -18
  35. data/doc/classes/D65.src/M000010.html +0 -18
  36. data/doc/classes/D65.src/M000011.html +0 -64
  37. data/doc/classes/D65.src/M000018.html +0 -18
  38. data/doc/classes/D65.src/M000019.html +0 -64
  39. data/doc/classes/D65.src/M000024.html +0 -18
  40. data/doc/classes/D65.src/M000025.html +0 -64
  41. data/doc/classes/DOSDisk.src/M000014.html +0 -20
  42. data/doc/classes/DOSDisk.src/M000015.html +0 -20
  43. data/doc/classes/DOSDisk.src/M000016.html +0 -19
  44. data/doc/classes/DOSDisk.src/M000017.html +0 -76
  45. data/doc/classes/DOSDisk.src/M000023.html +0 -20
  46. data/doc/classes/DOSDisk.src/M000024.html +0 -19
  47. data/doc/classes/DOSDisk.src/M000025.html +0 -76
  48. data/doc/classes/DOSDisk.src/M000029.html +0 -20
  49. data/doc/classes/DOSDisk.src/M000030.html +0 -19
  50. data/doc/classes/DOSDisk.src/M000031.html +0 -76
  51. data/doc/classes/DOSFile.src/M000026.html +0 -22
  52. data/doc/classes/DOSFile.src/M000027.html +0 -22
  53. data/doc/classes/DOSFile.src/M000028.html +0 -17
  54. data/doc/classes/DOSFile.src/M000029.html +0 -18
  55. data/doc/classes/DOSFile.src/M000032.html +0 -22
  56. data/doc/classes/DOSFile.src/M000033.html +0 -17
  57. data/doc/classes/DOSFile.src/M000034.html +0 -18
  58. data/doc/classes/DOSFile.src/M000042.html +0 -22
  59. data/doc/classes/DOSFile.src/M000043.html +0 -18
  60. data/doc/classes/DOSFile.src/M000044.html +0 -18
  61. data/doc/classes/DOSFile.src/M000048.html +0 -22
  62. data/doc/classes/DOSFile.src/M000049.html +0 -18
  63. data/doc/classes/DOSFile.src/M000050.html +0 -18
  64. data/doc/classes/DOSFile.src/M000051.html +0 -31
  65. data/doc/classes/DSK.src/M000021.html +0 -19
  66. data/doc/classes/DSK.src/M000022.html +0 -18
  67. data/doc/classes/DSK.src/M000023.html +0 -40
  68. data/doc/classes/DSK.src/M000024.html +0 -23
  69. data/doc/classes/DSK.src/M000027.html +0 -18
  70. data/doc/classes/DSK.src/M000028.html +0 -22
  71. data/doc/classes/DSK.src/M000029.html +0 -22
  72. data/doc/classes/DSK.src/M000030.html +0 -34
  73. data/doc/classes/DSK.src/M000031.html +0 -19
  74. data/doc/classes/DSK.src/M000032.html +0 -18
  75. data/doc/classes/DSK.src/M000033.html +0 -18
  76. data/doc/classes/DSK.src/M000034.html +0 -22
  77. data/doc/classes/DSK.src/M000035.html +0 -22
  78. data/doc/classes/DSK.src/M000036.html +0 -34
  79. data/doc/classes/DSK.src/M000037.html +0 -19
  80. data/doc/classes/DSK.src/M000038.html +0 -18
  81. data/doc/classes/DSK.src/M000039.html +0 -40
  82. data/doc/classes/DSK.src/M000040.html +0 -23
  83. data/doc/classes/DirectoryServlet.html +0 -146
  84. data/doc/classes/DirectoryServlet.src/M000017.html +0 -20
  85. data/doc/classes/DirectoryServlet.src/M000023.html +0 -20
  86. data/doc/classes/IntegerBasicFile.src/M000006.html +0 -18
  87. data/doc/classes/IntegerBasicFile.src/M000007.html +0 -18
  88. data/doc/classes/IntegerBasicFile.src/M000008.html +0 -18
  89. data/doc/classes/IntegerBasicFile.src/M000012.html +0 -18
  90. data/doc/classes/IntegerBasicFile.src/M000013.html +0 -18
  91. data/doc/classes/IntegerBasicFile.src/M000014.html +0 -18
  92. data/doc/classes/IntegerBasicFile.src/M000018.html +0 -18
  93. data/doc/classes/IntegerBasicFile.src/M000019.html +0 -18
  94. data/doc/classes/IntegerBasicFile.src/M000020.html +0 -18
  95. data/doc/classes/RDoc.html +0 -141
  96. data/doc/classes/RDoc.src/M000032.html +0 -40
  97. data/doc/classes/RDoc.src/M000033.html +0 -40
  98. data/doc/classes/RDoc.src/M000038.html +0 -40
  99. data/doc/classes/RDoc.src/M000048.html +0 -40
  100. data/doc/classes/RDoc.src/M000055.html +0 -40
  101. data/doc/classes/SCAsmFile.html +0 -226
  102. data/doc/classes/SCAsmFile.src/M000025.html +0 -18
  103. data/doc/classes/SCAsmFile.src/M000026.html +0 -18
  104. data/doc/classes/SCAsmFile.src/M000027.html +0 -18
  105. data/doc/classes/SCAsmFile.src/M000028.html +0 -36
  106. data/doc/classes/SCAsmFile.src/M000035.html +0 -18
  107. data/doc/classes/SCAsmFile.src/M000036.html +0 -18
  108. data/doc/classes/SCAsmFile.src/M000037.html +0 -18
  109. data/doc/classes/SCAsmFile.src/M000038.html +0 -36
  110. data/doc/classes/SCAsmFile.src/M000041.html +0 -18
  111. data/doc/classes/SCAsmFile.src/M000042.html +0 -18
  112. data/doc/classes/SCAsmFile.src/M000043.html +0 -18
  113. data/doc/classes/SCAsmFile.src/M000044.html +0 -36
  114. data/doc/classes/ShowFileServlet.html +0 -146
  115. data/doc/classes/ShowFileServlet.src/M000026.html +0 -21
  116. data/doc/classes/ShowFileServlet.src/M000032.html +0 -22
  117. data/doc/classes/TestDOSDisks.src/M000004.html +0 -41
  118. data/doc/classes/TestDOSDisks.src/M000005.html +0 -27
  119. data/doc/classes/TestDOSDisks.src/M000006.html +0 -24
  120. data/doc/classes/TestDOSDisks.src/M000007.html +0 -19
  121. data/doc/classes/TestDOSDisks.src/M000008.html +0 -19
  122. data/doc/classes/TestDOSDisks.src/M000009.html +0 -25
  123. data/doc/classes/TestDOSDisks.src/M000010.html +0 -41
  124. data/doc/classes/TestDOSDisks.src/M000011.html +0 -27
  125. data/doc/classes/TestDOSDisks.src/M000012.html +0 -24
  126. data/doc/classes/TestDOSDisks.src/M000013.html +0 -19
  127. data/doc/classes/TestDOSDisks.src/M000014.html +0 -19
  128. data/doc/classes/TestDOSDisks.src/M000015.html +0 -25
  129. data/doc/classes/TestDOSDisks.src/M000016.html +0 -41
  130. data/doc/classes/TestDOSDisks.src/M000017.html +0 -27
  131. data/doc/classes/TestDisassembly.src/M000007.html +0 -19
  132. data/doc/classes/TestDisassembly.src/M000008.html +0 -19
  133. data/doc/classes/TestDisassembly.src/M000009.html +0 -19
  134. data/doc/classes/TestDisassembly.src/M000016.html +0 -19
  135. data/doc/classes/TestDisassembly.src/M000022.html +0 -19
  136. data/doc/classes/TextFile.src/M000029.html +0 -18
  137. data/doc/classes/TextFile.src/M000030.html +0 -18
  138. data/doc/classes/TextFile.src/M000031.html +0 -18
  139. data/doc/classes/TextFile.src/M000032.html +0 -20
  140. data/doc/classes/TextFile.src/M000035.html +0 -18
  141. data/doc/classes/TextFile.src/M000036.html +0 -18
  142. data/doc/classes/TextFile.src/M000037.html +0 -20
  143. data/doc/classes/TextFile.src/M000045.html +0 -18
  144. data/doc/classes/TextFile.src/M000046.html +0 -18
  145. data/doc/classes/TextFile.src/M000047.html +0 -20
  146. data/doc/classes/TextFile.src/M000052.html +0 -18
  147. data/doc/classes/TextFile.src/M000053.html +0 -18
  148. data/doc/classes/TextFile.src/M000054.html +0 -20
  149. data/doc/dot/f_0.dot +0 -58
  150. data/doc/dot/f_0.png +0 -0
  151. data/doc/dot/f_1.dot +0 -14
  152. data/doc/dot/f_1.png +0 -0
  153. data/doc/dot/f_2.dot +0 -23
  154. data/doc/dot/f_2.png +0 -0
  155. data/doc/dot/f_3.dot +0 -32
  156. data/doc/dot/f_3.png +0 -0
  157. data/doc/dot/f_4.dot +0 -88
  158. data/doc/dot/f_4.png +0 -0
  159. data/doc/dot/f_5.dot +0 -23
  160. data/doc/dot/f_5.png +0 -0
  161. data/doc/dot/f_6.dot +0 -30
  162. data/doc/dot/f_6.png +0 -0
  163. data/doc/dot/f_7.dot +0 -32
  164. data/doc/dot/f_7.png +0 -0
  165. data/doc/dot/f_8.dot +0 -32
  166. data/doc/dot/f_8.png +0 -0
  167. data/doc/dot/f_9.dot +0 -14
  168. data/doc/dot/f_9.png +0 -0
  169. data/doc/dot/m_0_0.dot +0 -30
  170. data/doc/dot/m_0_0.png +0 -0
  171. data/doc/dot/m_6_0.dot +0 -30
  172. data/doc/dot/m_6_0.png +0 -0
  173. data/doc/files/bin/dskexplorer_rb.html +0 -339
  174. data/doc/files/bin/dskexplorer_rb.src/M000001.html +0 -21
  175. data/doc/files/bin/dskexplorer_rb.src/M000002.html +0 -21
  176. data/doc/files/bin/dskexplorer_rb.src/M000003.html +0 -22
  177. data/doc/files/bin/dskexplorer_rb.src/M000004.html +0 -19
  178. data/doc/files/bin/dskexplorer_rb.src/M000005.html +0 -20
  179. data/doc/files/bin/dskexplorer_rb.src/M000006.html +0 -22
  180. data/doc/files/bin/dskexplorer_rb.src/M000007.html +0 -20
  181. data/doc/files/bin/dskexplorer_rb.src/M000008.html +0 -43
  182. data/doc/files/bin/dskexplorer_rb.src/M000009.html +0 -55
  183. data/doc/files/bin/dskexplorer_rb.src/M000010.html +0 -43
  184. data/doc/files/bin/dskexplorer_rb.src/M000011.html +0 -34
  185. data/doc/files/bin/dskserver_rb.html +0 -247
  186. data/doc/files/bin/dskserver_rb.src/M000001.html +0 -22
  187. data/doc/files/bin/dskserver_rb.src/M000002.html +0 -19
  188. data/doc/files/bin/dskserver_rb.src/M000003.html +0 -62
  189. data/doc/files/bin/dskserver_rb.src/M000004.html +0 -39
  190. data/doc/files/bin/dskserver_rb.src/M000005.html +0 -26
  191. data/doc/files/lib/rdoc_patch_rb.html +0 -114
  192. data/test/white_11a.dsk +0 -0
data/lib/DSK.rb~ ADDED
@@ -0,0 +1,134 @@
1
+ $:.unshift(File.dirname(__FILE__)) unless
2
+ $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
3
+ require 'open-uri'
4
+
5
+ #
6
+ # For manipulating DSK files, as created by ADT (http://adt.berlios.de) and ADTPRo (http://adtpro.sourceforge.net)
7
+ # used by many Apple 2 emulators.
8
+ #
9
+ class DSK
10
+
11
+ #does this filename have a suitable extension?
12
+ def DSK.is_dsk_file?(filename)
13
+ !(filename.upcase=~/\.DSK$|\.DSK\.GZ$|\.PO$|\.PO\.GZ$/).nil?
14
+ end
15
+ DSK_FILE_LENGTH=143360
16
+ attr_accessor (:file_bytes)
17
+ # does this DSK have a standard Apple DOS 3.3 VTOC?
18
+ def is_dos33?
19
+ # VTOC is at offset 0x11000
20
+ # bytes 1/2/3 are a track number, sector number and DOS version number
21
+ # see if these are reasonable values
22
+
23
+ (@file_bytes[0x11001]<=34) && (@file_bytes[0x11002]<=15) && (@file_bytes[0x11003]==3)
24
+ end
25
+
26
+
27
+ #create a new DSK structure (in memory, not on disk)
28
+ def initialize(file_bytes="\0"*DSK_FILE_LENGTH)
29
+ if (file_bytes.length!=DSK_FILE_LENGTH) then
30
+ raise "DSK files must be #{DSK_FILE_LENGTH} bytes long (was #{file_bytes.length} bytes)"
31
+ end
32
+ @file_bytes=file_bytes
33
+ @files={}
34
+ end
35
+
36
+ #read in an existing DSK file (must exist)
37
+ def DSK.read(filename)
38
+ #is the file extension .gz?
39
+ if !(filename=~/\.gz$/).nil? then
40
+ require 'zlib'
41
+ file_bytes=Zlib::GzipReader.new(open(filename,"rb")).read
42
+ else
43
+ file_bytes=open(filename,"rb").read
44
+ end
45
+ if (file_bytes.length!=DSK_FILE_LENGTH) then
46
+ abort("#{filename} is not a valid DSK format file")
47
+ end
48
+
49
+ dsk=DSK.new(file_bytes)
50
+ if (dsk.is_dos33?)
51
+ require 'DOSDisk'
52
+ dsk=DOSDisk.new(file_bytes)
53
+ end
54
+ dsk
55
+ end
56
+
57
+ def get_sector(track,sector)
58
+ start_byte=track*16*256+sector*256
59
+ @file_bytes[start_byte..start_byte+255]
60
+ end
61
+
62
+ def files
63
+ @files
64
+ end
65
+
66
+ #print to stdout a formatted hex dump of a single 256 byte sector
67
+ def dump_sector(track,sector)
68
+
69
+ start_byte=track*16*256+sector*256
70
+ s=@file_bytes[start_byte..start_byte+255]
71
+
72
+ print_hline
73
+ printf("TRACK: $%02X SECTOR $%02X\ OFFSET $%04X\n",track,sector,start_byte)
74
+ printf "\t"
75
+
76
+ (0..15).each {|x| printf("%02X ",x) }
77
+ puts
78
+ print_hline
79
+ (0..15).each {|line_number|
80
+ lhs=""
81
+ rhs=""
82
+ start_byte=line_number*16
83
+ line=s[start_byte..start_byte+15]
84
+ line.each_byte {|byte|
85
+ lhs+= sprintf("%02X ", byte)
86
+ rhs+= (byte%128).chr.sub(/[\x00-\x1f]/,'.')
87
+ }
88
+ printf("%02X\t%s %s\n",start_byte,lhs,rhs)
89
+ }
90
+
91
+ end
92
+
93
+ #print to stdout a formatted hex dump of all sectors on all tracks
94
+ def dump_disk
95
+
96
+ (0..34).each {|track|
97
+ (0..15).each {|sector|
98
+ dump_sector(track,sector)
99
+ }
100
+ }
101
+ end
102
+
103
+ private
104
+
105
+ def print_hline
106
+ puts "-"*79
107
+ end
108
+
109
+
110
+ end
111
+ # == Author
112
+ # Jonno Downes (jonno@jamtronix.com)
113
+ #
114
+ # == Copyright
115
+ # Copyright (c) 2007 Jonno Downes (jonno@jamtronix.com)
116
+ #
117
+ #Permission is hereby granted, free of charge, to any person obtaining
118
+ #a copy of this software and associated documentation files (the
119
+ #"Software"), to deal in the Software without restriction, including
120
+ #without limitation the rights to use, copy, modify, merge, publish,
121
+ #distribute, sublicense, and/or sell copies of the Software, and to
122
+ #permit persons to whom the Software is furnished to do so, subject to
123
+ #the following conditions:
124
+
125
+ # The above copyright notice and this permission notice shall be
126
+ # included in all copies or substantial portions of the Software.
127
+
128
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
129
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
130
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
131
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
132
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
133
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
134
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,79 @@
1
+ #make sure the relevant folder with our libraries is in the require path
2
+ lib_path=File.expand_path(File.dirname(__FILE__)+"//..//lib")
3
+ $:.unshift(lib_path) unless $:.include?(lib_path)
4
+
5
+ require 'test/unit'
6
+ require 'DSK'
7
+
8
+ class TestDOSDisks <Test::Unit::TestCase
9
+
10
+
11
+ def test_file_names
12
+ assert(DSK.is_dsk_file?("file.dsk"))
13
+ assert(DSK.is_dsk_file?("file.DSK"))
14
+ assert(DSK.is_dsk_file?("file.dsk.gz"))
15
+ assert(!DSK.is_dsk_file?("file.dsk.zip"))
16
+ end
17
+ def test_bad_dsks
18
+ assert_raise(RuntimeError,"short file should throw an error") {dsk=DSK.new("0"*100)}
19
+ assert_raise(Errno::ENOENT,"non existant file should throw an error") {dsk=DSK.read("NonExistantFileName.not")}
20
+ end
21
+
22
+
23
+ def test_empty_dsk
24
+ dsk=DSK.new()
25
+ assert(!dsk.is_dos33?,"empty DSK should not be DOS 3.3 format")
26
+ end
27
+
28
+ def test_open_url_to_compressed_dsk
29
+ dskname="http://www.apple2.org.za/mirrors/ftp.apple.asimov.net/images/games/adventure/vaults_of_zurich.dsk.gz"
30
+ dsk=DSK.read(dskname)
31
+ assert(dsk.is_dos33?,"#{dskname} should be DOS 3.3 format")
32
+ assert(dsk.files.length>0,"#{dskname} should have at least one file")
33
+
34
+ hello_file=dsk.files["HELLO"]
35
+ assert(hello_file!=nil,"#{dskname} should have a file called HELLO")
36
+ assert(hello_file.instance_of?(AppleSoftFile),"HELLO should be an AppleSoft file")
37
+ end
38
+
39
+ def test_simple_dos_dsk
40
+ dskname=File.dirname(__FILE__)+"//dos33_with_adt.dsk"
41
+ dsk=DSK.read(dskname)
42
+ assert(dsk.is_dos33?,"#{dskname} should be DOS 3.3 format")
43
+ assert(dsk.files.length>0,"#{dskname} should have at least one file")
44
+
45
+ hello_file=dsk.files["HELLO"]
46
+ assert(hello_file!=nil,"#{dskname} should have a file called HELLO")
47
+ assert(hello_file.instance_of?(AppleSoftFile),"HELLO should be an AppleSoft file")
48
+ assert(hello_file.to_s.length>0,"HELLO should have non-zero length")
49
+ assert(hello_file.to_s[0..5]=="10 REM","HELLO should start '10 REM'")
50
+
51
+ binary_file=dsk.files["MUFFIN"]
52
+ assert(binary_file!=nil,"#{dskname} should have a file called MUFFIN")
53
+ assert(binary_file.instance_of?(BinaryFile),"HELLO should be an Binary file")
54
+ assert(binary_file.to_s.length>0,"MUFFIN should have non-zero length")
55
+ assert(binary_file.disassembly.length>0,"MUFFIN disassembly should have non-zero length")
56
+ assert(binary_file.disassembly[0..4]=="0803:","MUFFIN disassembly should start at $803")
57
+
58
+
59
+ integer_file=dsk.files["APPLESOFT"]
60
+ assert(integer_file!=nil,"#{dskname} should have a file called APPLESOFT")
61
+ assert(integer_file.instance_of?(IntegerBasicFile),"HELLO should be an IntegetBasic file")
62
+ assert(integer_file.to_s.length>0,"APPLESOFT should have non-zero length")
63
+ assert(integer_file.to_s[0..5]=="10 REM","APPLESOFT should start '10 REM'")
64
+ end
65
+
66
+ def test_scasm_file
67
+ dskname=File.dirname(__FILE__)+"//AAL_1.DSK"
68
+ dsk=DSK.read(dskname)
69
+ assert(dsk.is_dos33?,"#{dskname} should be DOS 3.3 format")
70
+ assert(dsk.files.length>0,"#{dskname} should have at least one file")
71
+
72
+ asm_file=dsk.files["MORSE CODE"]
73
+ assert(asm_file!=nil,"#{dskname} should have a file called MORSE CODE")
74
+ assert(asm_file.instance_of?(SCAsmFile),"MORSE CODE should be an SCasm file")
75
+ assert(asm_file.to_s.length>0,"MORSE CODE should have non-zero length")
76
+ assert(!(asm_file.to_s=~/930\W*.LIST OFF/).nil?,"MORSE CODE should start '930 .LIST OFF'")
77
+ end
78
+
79
+ end
metadata CHANGED
@@ -1,9 +1,9 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.8.11
2
+ rubygems_version: 0.9.0
3
3
  specification_version: 1
4
4
  name: dsktool
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.1.5
6
+ version: 0.1.6
7
7
  date: 2007-06-24 00:00:00 +10:00
8
8
  summary: a command line tool + libraries for manipulating DSK format images as used by Apple 2 emulators
9
9
  require_paths:
@@ -25,84 +25,59 @@ required_ruby_version: !ruby/object:Gem::Version::Requirement
25
25
  platform: ruby
26
26
  signing_key:
27
27
  cert_chain:
28
+ post_install_message:
28
29
  authors:
29
30
  - Jonno Downes
30
31
  files:
31
- - bin/dskexplorer.rb
32
32
  - bin/dsktool.rb
33
- - doc/classes
34
- - doc/created.rid
35
- - doc/dot
33
+ - bin/dskexplorer.rb
34
+ - bin/dskexplorer.rb~
35
+ - bin/dsktool.rb~
36
36
  - doc/files
37
- - doc/fr_class_index.html
37
+ - doc/classes
38
38
  - doc/fr_file_index.html
39
39
  - doc/fr_method_index.html
40
+ - doc/created.rid
41
+ - doc/fr_class_index.html
40
42
  - doc/index.html
41
43
  - doc/rdoc-style.css
42
- - doc/classes/AppleSoftFile.html
44
+ - doc/files/test
45
+ - doc/files/lib
46
+ - doc/files/bin
47
+ - doc/files/test/ts_test_all_rb.html
48
+ - doc/files/test/test_dos_disks_rb.html
49
+ - doc/files/test/tc_disassembly_rb.html
50
+ - doc/files/test/tc_dos_disks_rb.html
51
+ - doc/files/lib/D65_rb.html
52
+ - doc/files/lib/DOSDisk_rb.html
53
+ - doc/files/lib/DSK_rb.html
54
+ - doc/files/lib/DOSFile_rb.html
55
+ - doc/files/bin/dsktool_rb.html
43
56
  - doc/classes/AppleSoftFile.src
44
- - doc/classes/BinaryFile.html
45
- - doc/classes/BinaryFile.src
46
- - doc/classes/CatalogServlet.html
47
- - doc/classes/CatalogServlet.src
48
- - doc/classes/D65.html
49
57
  - doc/classes/D65.src
50
- - doc/classes/DirectoryServlet.html
51
- - doc/classes/DirectoryServlet.src
52
- - doc/classes/DOSDisk.html
58
+ - doc/classes/IntegerBasicFile.src
53
59
  - doc/classes/DOSDisk.src
54
- - doc/classes/DOSFile.html
55
- - doc/classes/DOSFile.src
56
- - doc/classes/DSK.html
60
+ - doc/classes/TestDisassembly.src
57
61
  - doc/classes/DSK.src
58
- - doc/classes/IntegerBasicFile.html
59
- - doc/classes/IntegerBasicFile.src
60
- - doc/classes/RDoc.html
61
- - doc/classes/RDoc.src
62
- - doc/classes/SCAsmFile.html
63
- - doc/classes/SCAsmFile.src
64
- - doc/classes/ShowFileServlet.html
65
- - doc/classes/ShowFileServlet.src
62
+ - doc/classes/TestDOSDisks.src
63
+ - doc/classes/BinaryFile.src
64
+ - doc/classes/TextFile.src
65
+ - doc/classes/DOSFile.src
66
66
  - doc/classes/TestDisassembly.html
67
- - doc/classes/TestDisassembly.src
67
+ - doc/classes/DSK.html
68
68
  - doc/classes/TestDOSDisks.html
69
- - doc/classes/TestDOSDisks.src
69
+ - doc/classes/BinaryFile.html
70
70
  - doc/classes/TextFile.html
71
- - doc/classes/TextFile.src
71
+ - doc/classes/DOSFile.html
72
+ - doc/classes/AppleSoftFile.html
73
+ - doc/classes/D65.html
74
+ - doc/classes/IntegerBasicFile.html
75
+ - doc/classes/DOSDisk.html
76
+ - doc/classes/AppleSoftFile.src/M000010.html
72
77
  - doc/classes/AppleSoftFile.src/M000005.html
73
78
  - doc/classes/AppleSoftFile.src/M000006.html
74
79
  - doc/classes/AppleSoftFile.src/M000008.html
75
80
  - doc/classes/AppleSoftFile.src/M000009.html
76
- - doc/classes/AppleSoftFile.src/M000010.html
77
- - doc/classes/AppleSoftFile.src/M000011.html
78
- - doc/classes/AppleSoftFile.src/M000012.html
79
- - doc/classes/AppleSoftFile.src/M000013.html
80
- - doc/classes/AppleSoftFile.src/M000014.html
81
- - doc/classes/AppleSoftFile.src/M000020.html
82
- - doc/classes/AppleSoftFile.src/M000021.html
83
- - doc/classes/AppleSoftFile.src/M000022.html
84
- - doc/classes/AppleSoftFile.src/M000026.html
85
- - doc/classes/AppleSoftFile.src/M000027.html
86
- - doc/classes/AppleSoftFile.src/M000028.html
87
- - doc/classes/BinaryFile.src/M000015.html
88
- - doc/classes/BinaryFile.src/M000020.html
89
- - doc/classes/BinaryFile.src/M000021.html
90
- - doc/classes/BinaryFile.src/M000022.html
91
- - doc/classes/BinaryFile.src/M000023.html
92
- - doc/classes/BinaryFile.src/M000024.html
93
- - doc/classes/BinaryFile.src/M000025.html
94
- - doc/classes/BinaryFile.src/M000026.html
95
- - doc/classes/BinaryFile.src/M000029.html
96
- - doc/classes/BinaryFile.src/M000030.html
97
- - doc/classes/BinaryFile.src/M000031.html
98
- - doc/classes/BinaryFile.src/M000039.html
99
- - doc/classes/BinaryFile.src/M000040.html
100
- - doc/classes/BinaryFile.src/M000041.html
101
- - doc/classes/BinaryFile.src/M000045.html
102
- - doc/classes/BinaryFile.src/M000046.html
103
- - doc/classes/BinaryFile.src/M000047.html
104
- - doc/classes/CatalogServlet.src/M000015.html
105
- - doc/classes/CatalogServlet.src/M000021.html
106
81
  - doc/classes/D65.src/M000002.html
107
82
  - doc/classes/D65.src/M000003.html
108
83
  - doc/classes/D65.src/M000004.html
@@ -110,226 +85,63 @@ files:
110
85
  - doc/classes/D65.src/M000006.html
111
86
  - doc/classes/D65.src/M000007.html
112
87
  - doc/classes/D65.src/M000008.html
113
- - doc/classes/D65.src/M000009.html
114
- - doc/classes/D65.src/M000010.html
115
- - doc/classes/D65.src/M000011.html
116
- - doc/classes/D65.src/M000018.html
117
- - doc/classes/D65.src/M000019.html
118
- - doc/classes/D65.src/M000024.html
119
- - doc/classes/D65.src/M000025.html
120
- - doc/classes/DirectoryServlet.src/M000017.html
121
- - doc/classes/DirectoryServlet.src/M000023.html
122
- - doc/classes/DOSDisk.src/M000007.html
123
- - doc/classes/DOSDisk.src/M000008.html
88
+ - doc/classes/IntegerBasicFile.src/M000001.html
89
+ - doc/classes/IntegerBasicFile.src/M000004.html
90
+ - doc/classes/IntegerBasicFile.src/M000005.html
124
91
  - doc/classes/DOSDisk.src/M000010.html
125
92
  - doc/classes/DOSDisk.src/M000011.html
126
93
  - doc/classes/DOSDisk.src/M000012.html
127
94
  - doc/classes/DOSDisk.src/M000013.html
128
- - doc/classes/DOSDisk.src/M000014.html
129
- - doc/classes/DOSDisk.src/M000015.html
130
- - doc/classes/DOSDisk.src/M000016.html
131
- - doc/classes/DOSDisk.src/M000017.html
132
- - doc/classes/DOSDisk.src/M000023.html
133
- - doc/classes/DOSDisk.src/M000024.html
134
- - doc/classes/DOSDisk.src/M000025.html
135
- - doc/classes/DOSDisk.src/M000029.html
136
- - doc/classes/DOSDisk.src/M000030.html
137
- - doc/classes/DOSDisk.src/M000031.html
138
- - doc/classes/DOSFile.src/M000016.html
139
- - doc/classes/DOSFile.src/M000017.html
140
- - doc/classes/DOSFile.src/M000018.html
141
- - doc/classes/DOSFile.src/M000021.html
142
- - doc/classes/DOSFile.src/M000022.html
143
- - doc/classes/DOSFile.src/M000023.html
144
- - doc/classes/DOSFile.src/M000024.html
145
- - doc/classes/DOSFile.src/M000025.html
146
- - doc/classes/DOSFile.src/M000026.html
147
- - doc/classes/DOSFile.src/M000027.html
148
- - doc/classes/DOSFile.src/M000028.html
149
- - doc/classes/DOSFile.src/M000029.html
150
- - doc/classes/DOSFile.src/M000032.html
151
- - doc/classes/DOSFile.src/M000033.html
152
- - doc/classes/DOSFile.src/M000034.html
153
- - doc/classes/DOSFile.src/M000042.html
154
- - doc/classes/DOSFile.src/M000043.html
155
- - doc/classes/DOSFile.src/M000044.html
156
- - doc/classes/DOSFile.src/M000048.html
157
- - doc/classes/DOSFile.src/M000049.html
158
- - doc/classes/DOSFile.src/M000050.html
159
- - doc/classes/DOSFile.src/M000051.html
160
- - doc/classes/DSK.src/M000009.html
95
+ - doc/classes/DOSDisk.src/M000007.html
96
+ - doc/classes/DOSDisk.src/M000008.html
97
+ - doc/classes/TestDisassembly.src/M000005.html
98
+ - doc/classes/TestDisassembly.src/M000006.html
161
99
  - doc/classes/DSK.src/M000010.html
162
100
  - doc/classes/DSK.src/M000011.html
101
+ - doc/classes/DSK.src/M000020.html
163
102
  - doc/classes/DSK.src/M000012.html
164
103
  - doc/classes/DSK.src/M000013.html
165
104
  - doc/classes/DSK.src/M000014.html
166
105
  - doc/classes/DSK.src/M000015.html
167
106
  - doc/classes/DSK.src/M000016.html
168
107
  - doc/classes/DSK.src/M000017.html
108
+ - doc/classes/DSK.src/M000009.html
169
109
  - doc/classes/DSK.src/M000018.html
170
110
  - doc/classes/DSK.src/M000019.html
171
- - doc/classes/DSK.src/M000020.html
172
- - doc/classes/DSK.src/M000021.html
173
- - doc/classes/DSK.src/M000022.html
174
- - doc/classes/DSK.src/M000023.html
175
- - doc/classes/DSK.src/M000024.html
176
- - doc/classes/DSK.src/M000027.html
177
- - doc/classes/DSK.src/M000028.html
178
- - doc/classes/DSK.src/M000029.html
179
- - doc/classes/DSK.src/M000030.html
180
- - doc/classes/DSK.src/M000031.html
181
- - doc/classes/DSK.src/M000032.html
182
- - doc/classes/DSK.src/M000033.html
183
- - doc/classes/DSK.src/M000034.html
184
- - doc/classes/DSK.src/M000035.html
185
- - doc/classes/DSK.src/M000036.html
186
- - doc/classes/DSK.src/M000037.html
187
- - doc/classes/DSK.src/M000038.html
188
- - doc/classes/DSK.src/M000039.html
189
- - doc/classes/DSK.src/M000040.html
190
- - doc/classes/IntegerBasicFile.src/M000001.html
191
- - doc/classes/IntegerBasicFile.src/M000004.html
192
- - doc/classes/IntegerBasicFile.src/M000005.html
193
- - doc/classes/IntegerBasicFile.src/M000006.html
194
- - doc/classes/IntegerBasicFile.src/M000007.html
195
- - doc/classes/IntegerBasicFile.src/M000008.html
196
- - doc/classes/IntegerBasicFile.src/M000012.html
197
- - doc/classes/IntegerBasicFile.src/M000013.html
198
- - doc/classes/IntegerBasicFile.src/M000014.html
199
- - doc/classes/IntegerBasicFile.src/M000018.html
200
- - doc/classes/IntegerBasicFile.src/M000019.html
201
- - doc/classes/IntegerBasicFile.src/M000020.html
202
- - doc/classes/RDoc.src/M000032.html
203
- - doc/classes/RDoc.src/M000033.html
204
- - doc/classes/RDoc.src/M000038.html
205
- - doc/classes/RDoc.src/M000048.html
206
- - doc/classes/RDoc.src/M000055.html
207
- - doc/classes/SCAsmFile.src/M000025.html
208
- - doc/classes/SCAsmFile.src/M000026.html
209
- - doc/classes/SCAsmFile.src/M000027.html
210
- - doc/classes/SCAsmFile.src/M000028.html
211
- - doc/classes/SCAsmFile.src/M000035.html
212
- - doc/classes/SCAsmFile.src/M000036.html
213
- - doc/classes/SCAsmFile.src/M000037.html
214
- - doc/classes/SCAsmFile.src/M000038.html
215
- - doc/classes/SCAsmFile.src/M000041.html
216
- - doc/classes/SCAsmFile.src/M000042.html
217
- - doc/classes/SCAsmFile.src/M000043.html
218
- - doc/classes/SCAsmFile.src/M000044.html
219
- - doc/classes/ShowFileServlet.src/M000026.html
220
- - doc/classes/ShowFileServlet.src/M000032.html
221
- - doc/classes/TestDisassembly.src/M000005.html
222
- - doc/classes/TestDisassembly.src/M000006.html
223
- - doc/classes/TestDisassembly.src/M000007.html
224
- - doc/classes/TestDisassembly.src/M000008.html
225
- - doc/classes/TestDisassembly.src/M000009.html
226
- - doc/classes/TestDisassembly.src/M000016.html
227
- - doc/classes/TestDisassembly.src/M000022.html
228
111
  - doc/classes/TestDOSDisks.src/M000001.html
229
112
  - doc/classes/TestDOSDisks.src/M000002.html
230
113
  - doc/classes/TestDOSDisks.src/M000003.html
231
- - doc/classes/TestDOSDisks.src/M000004.html
232
- - doc/classes/TestDOSDisks.src/M000005.html
233
- - doc/classes/TestDOSDisks.src/M000006.html
234
- - doc/classes/TestDOSDisks.src/M000007.html
235
- - doc/classes/TestDOSDisks.src/M000008.html
236
- - doc/classes/TestDOSDisks.src/M000009.html
237
- - doc/classes/TestDOSDisks.src/M000010.html
238
- - doc/classes/TestDOSDisks.src/M000011.html
239
- - doc/classes/TestDOSDisks.src/M000012.html
240
- - doc/classes/TestDOSDisks.src/M000013.html
241
- - doc/classes/TestDOSDisks.src/M000014.html
242
- - doc/classes/TestDOSDisks.src/M000015.html
243
- - doc/classes/TestDOSDisks.src/M000016.html
244
- - doc/classes/TestDOSDisks.src/M000017.html
245
- - doc/classes/TextFile.src/M000019.html
114
+ - doc/classes/BinaryFile.src/M000020.html
115
+ - doc/classes/BinaryFile.src/M000021.html
116
+ - doc/classes/BinaryFile.src/M000022.html
117
+ - doc/classes/BinaryFile.src/M000015.html
246
118
  - doc/classes/TextFile.src/M000020.html
247
119
  - doc/classes/TextFile.src/M000024.html
248
120
  - doc/classes/TextFile.src/M000025.html
249
121
  - doc/classes/TextFile.src/M000026.html
250
122
  - doc/classes/TextFile.src/M000027.html
251
- - doc/classes/TextFile.src/M000029.html
252
- - doc/classes/TextFile.src/M000030.html
253
- - doc/classes/TextFile.src/M000031.html
254
- - doc/classes/TextFile.src/M000032.html
255
- - doc/classes/TextFile.src/M000035.html
256
- - doc/classes/TextFile.src/M000036.html
257
- - doc/classes/TextFile.src/M000037.html
258
- - doc/classes/TextFile.src/M000045.html
259
- - doc/classes/TextFile.src/M000046.html
260
- - doc/classes/TextFile.src/M000047.html
261
- - doc/classes/TextFile.src/M000052.html
262
- - doc/classes/TextFile.src/M000053.html
263
- - doc/classes/TextFile.src/M000054.html
264
- - doc/dot/f_0.dot
265
- - doc/dot/f_0.png
266
- - doc/dot/f_1.dot
267
- - doc/dot/f_1.png
268
- - doc/dot/f_2.dot
269
- - doc/dot/f_2.png
270
- - doc/dot/f_3.dot
271
- - doc/dot/f_3.png
272
- - doc/dot/f_4.dot
273
- - doc/dot/f_4.png
274
- - doc/dot/f_5.dot
275
- - doc/dot/f_5.png
276
- - doc/dot/f_6.dot
277
- - doc/dot/f_6.png
278
- - doc/dot/f_7.dot
279
- - doc/dot/f_7.png
280
- - doc/dot/f_8.dot
281
- - doc/dot/f_8.png
282
- - doc/dot/f_9.dot
283
- - doc/dot/f_9.png
284
- - doc/dot/m_0_0.dot
285
- - doc/dot/m_0_0.png
286
- - doc/dot/m_6_0.dot
287
- - doc/dot/m_6_0.png
288
- - doc/files/bin
289
- - doc/files/lib
290
- - doc/files/test
291
- - doc/files/bin/dskexplorer_rb.html
292
- - doc/files/bin/dskexplorer_rb.src
293
- - doc/files/bin/dskserver_rb.html
294
- - doc/files/bin/dskserver_rb.src
295
- - doc/files/bin/dsktool_rb.html
296
- - doc/files/bin/dskexplorer_rb.src/M000001.html
297
- - doc/files/bin/dskexplorer_rb.src/M000002.html
298
- - doc/files/bin/dskexplorer_rb.src/M000003.html
299
- - doc/files/bin/dskexplorer_rb.src/M000004.html
300
- - doc/files/bin/dskexplorer_rb.src/M000005.html
301
- - doc/files/bin/dskexplorer_rb.src/M000006.html
302
- - doc/files/bin/dskexplorer_rb.src/M000007.html
303
- - doc/files/bin/dskexplorer_rb.src/M000008.html
304
- - doc/files/bin/dskexplorer_rb.src/M000009.html
305
- - doc/files/bin/dskexplorer_rb.src/M000010.html
306
- - doc/files/bin/dskexplorer_rb.src/M000011.html
307
- - doc/files/bin/dskserver_rb.src/M000001.html
308
- - doc/files/bin/dskserver_rb.src/M000002.html
309
- - doc/files/bin/dskserver_rb.src/M000003.html
310
- - doc/files/bin/dskserver_rb.src/M000004.html
311
- - doc/files/bin/dskserver_rb.src/M000005.html
312
- - doc/files/lib/D65_rb.html
313
- - doc/files/lib/DOSDisk_rb.html
314
- - doc/files/lib/DOSFile_rb.html
315
- - doc/files/lib/DSK_rb.html
316
- - doc/files/lib/rdoc_patch_rb.html
317
- - doc/files/test/tc_disassembly_rb.html
318
- - doc/files/test/tc_dos_disks_rb.html
319
- - doc/files/test/test_dos_disks_rb.html
320
- - doc/files/test/ts_test_all_rb.html
321
- - lib/a2_symbols.yaml
123
+ - doc/classes/TextFile.src/M000019.html
124
+ - doc/classes/DOSFile.src/M000021.html
125
+ - doc/classes/DOSFile.src/M000022.html
126
+ - doc/classes/DOSFile.src/M000023.html
127
+ - doc/classes/DOSFile.src/M000024.html
128
+ - doc/classes/DOSFile.src/M000016.html
129
+ - doc/classes/DOSFile.src/M000025.html
130
+ - doc/classes/DOSFile.src/M000017.html
131
+ - doc/classes/DOSFile.src/M000018.html
322
132
  - lib/D65.rb
323
133
  - lib/DOSDisk.rb
324
- - lib/DOSFile.rb
325
134
  - lib/DSK.rb
135
+ - lib/DOSFile.rb
136
+ - lib/a2_symbols.yaml
326
137
  - lib/rdoc_patch.rb
327
- - test/AAL_1.DSK
328
- - test/dos33_with_adt.dsk
138
+ - lib/DSK.rb~
139
+ - test/ts_test_all.rb
329
140
  - test/tc_disassembly.rb
330
141
  - test/tc_dos_disks.rb
331
- - test/ts_test_all.rb
332
- - test/white_11a.dsk
142
+ - test/AAL_1.DSK
143
+ - test/dos33_with_adt.dsk
144
+ - test/tc_dos_disks.rb~
333
145
  test_files:
334
146
  - test/ts_test_all.rb
335
147
  rdoc_options: []
@@ -338,6 +150,7 @@ extra_rdoc_files: []
338
150
 
339
151
  executables:
340
152
  - dsktool.rb
153
+ - dskexplorer.rb
341
154
  extensions: []
342
155
 
343
156
  requirements: []