z80_disassembler 0.3.4 → 0.3.5

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