z80_disassembler 0.3.4 → 0.3.5

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 390347df84d8651faf44793baf078879528723e14e7f3be3b72c7f560d539a25
4
- data.tar.gz: 93339825ed0af95a9119436e1e2f3655639296f7e68b95f081c1d29aa7e083e7
3
+ metadata.gz: 9531e2820a522fbeac575e6abbfa981605c0e844a6d5089867bc4f2e0570b9e3
4
+ data.tar.gz: 5396c8c1afa4d9de805a7a2c40aecbb635ede8f365540f106135b76bb902e77a
5
5
  SHA512:
6
- metadata.gz: 5c0f3af21beb421b8ae5c7f10397694531190f74024c07b576ade321eb2c0539cad1df4da916bfaf02f71a52246ca77478556969733138c097291370a91ea346
7
- data.tar.gz: 825e0e83814ac331543db23eb02e7faaa06eb94fcdc6a4df4d4c355785fbb93fa900f1ea7ad902c200fc582692e3a4146f18565720f370862815fb57e801e6cb
6
+ metadata.gz: 8884e1eda23ad1b24a87f04b10395007376c2356b75c010ac2ed9df5b25167e2dfc1746745b155358aa6ebd2489e0eb021a47aa42eca9b9b89a0102bec6ec3cb
7
+ data.tar.gz: 7f174c3374e042f5265b179db3a4d302aa7fae2a6489275dc41a90228224bc05e74267aff4724e56c82ee145836a54d25f3e89f7af33f653d581984acc075335
data/README.md CHANGED
@@ -20,16 +20,20 @@ Or install it yourself as:
20
20
 
21
21
  ## Usage
22
22
 
23
- - prepare: parse.asm >> parse.C
24
- ```bash
25
- sjasmplus parse.asm
26
- ```
23
+ * Example: zxn.ru/disasm - DEMO button
27
24
 
28
- - example: parse.C >> parse.C.txt and compare with parse.txt
29
25
  ```ruby
30
26
  z = Z80Disassembler::Disassembler.new(params[:file], 32768)
31
- z.start # return [ [25114, "#621A", "LD IX,#6300", "DD 21 00 63", " ! c"], [...], ... ]
32
- z.text # return " LD IX,link_1 ; #621A / 25114 ; DD 21 00 63 ; ! c ;\n"
27
+ text = z.start
28
+ z.file_size
29
+ z.org
30
+ file_name = 'tmp/disasm'
31
+ file = Tempfile.new(file_name)
32
+ file.write(text)
33
+ file.write(Z80Disassembler::Disassembler.compile_text(file_name))
34
+ file.close
35
+ compiled = system "sjasmplus --nologo #{file.path} 2> #{file_name}.log"
36
+ logs = File.open("#{file_name}.log").read.split("\n")
33
37
  ```
34
38
  ## Development
35
39
 
@@ -45,13 +45,13 @@ module Z80Disassembler
45
45
  @lambda = nil; @prefix = nil; @prev = nil
46
46
  @hash_links = {}; @del_links = []
47
47
  @rmda = """
48
- ;--- #{Date.today} --- https://rmda.su
49
- ; _______ _/| __ ______ ____
50
- ; / __ // |/ \\\\ _ \\ / \\
51
- ; / _/ _// \\\\ \\\\ \\\\ \\ \\
52
- ; \\___\\ \\\\___\\/___//______//__/\\__\\
53
- ; \\__/
54
- ;--- size: #{@file_size}b --- filename: #{@file_name}
48
+ ;--- #{Date.today} --- https://rmda.su
49
+ ; _______ _/| __ ______ ____
50
+ ; / __ // |/ \\\\ _ \\ / \\
51
+ ; / _/ _// \\\\ \\\\ \\\\ \\ \\
52
+ ; \\___\\ \\\\___\\/___//______//__/\\__\\
53
+ ; \\__/
54
+ ;--- size: #{@file_size}b #{"--- filename: #{@file_name}" if @file_name}
55
55
 
56
56
  """
57
57
  end
@@ -99,7 +99,7 @@ module Z80Disassembler
99
99
  "#{link} #{string.ljust(16, ' ')}; #{addr16.ljust(5, ' ')} / #{addr_.to_s.ljust(5, ' ')} ; #{ascii_.ljust(4, ' ')} ; #{defb}"
100
100
  end.join("\n")
101
101
  [
102
- *@rmda,
102
+ @rmda,
103
103
  ' device zxspectrum128',
104
104
  ' ORG #' + @org.to_s(16),
105
105
  @hash_links.map { |key, val| "#{(val + ':').ljust(16, ' ')} EQU #{key}" unless @del_links.include?(val) }.compact.join("\n"),
@@ -111,6 +111,7 @@ module Z80Disassembler
111
111
  end
112
112
 
113
113
  def self.compile_text(file_name)
114
+ name = file_name.split('/').last
114
115
  [
115
116
  'length equ end - begin',
116
117
  'CODE = #AF',
@@ -136,11 +137,11 @@ module Z80Disassembler
136
137
  'linlen = $ - linzac',
137
138
  'baslen = $ - baszac',
138
139
  " emptytap '#{file_name}.tap'",
139
- " savetap '#{file_name}.tap', BASIC, '#{file_name}', baszac, baslen, 1",
140
- " savetap '#{file_name}.tap', CODE, '#{file_name}', begin, length, begin",
140
+ " savetap '#{file_name}.tap', BASIC, '#{name}', baszac, baslen, 1",
141
+ " savetap '#{file_name}.tap', CODE, '#{name}', begin, length, begin",
141
142
  " savesna '#{file_name}.sna', begin",
142
- " savebin '#{file_name}.C', begin, length",
143
- " savehob '#{file_name}.$C', '#{file_name}.C', begin, length",
143
+ " savebin '#{file_name}.bin', begin, length",
144
+ " savehob '#{file_name}.$C', '#{file_name}.bin', begin, length",
144
145
  ''
145
146
  ].join("\n")
146
147
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Z80Disassembler
4
- VERSION = '0.3.4'
4
+ VERSION = '0.3.5'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: z80_disassembler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4
4
+ version: 0.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - dvitvitskiy