z80_disassembler 0.1.3 → 0.1.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: 10ca0748d50c8d00bb27bc23da607dc4c749d9c017348d20046ca37776aed136
4
- data.tar.gz: 2407cc63119e48386a33bb0e448428423c820bde25e85c79a5a93c700c106251
3
+ metadata.gz: 05e63db7e5146f7f893ac8ac3cf7b6e6f6085382f067ff86d7c291c9685ecef0
4
+ data.tar.gz: 04407ab09433c4f7d19333c9979d0186afaad6814e57b18cd1f79b8fe005235d
5
5
  SHA512:
6
- metadata.gz: 0c08d4acbf8e07f739f383e963d0a4c36573b3c1c4a7b53389d2fb00e1973f1cca95af6ee1462d702d213fd185f10e6ae662f427e2000ef84a48b2bf28c201ca
7
- data.tar.gz: 8c24ea1e6c040901e7d8409d9cd8f44913a5ed426adba4bca0e09080af091a55b9eacbdf007c57ca9db2a74a0ff268b966f8c4dec54c74acd93eeb3fc69903bf
6
+ metadata.gz: 108465c7f06352d29a0c8973fe27691e5b76324e1e9d33fda8597ba794bcf994bcedb55f47047b2d659c4dea4f28dbf43ae83c61c279d185e74e355dfc59d541
7
+ data.tar.gz: d0e1ecd67efc481410f4c75b695ea143b9394438883b52c7a26b65a61f17b46caff12b58fc8a869fdc349c8ac0d22101aba3be2e041641ba69b2258c70732a16
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- z80_disassembler (0.1.1)
4
+ z80_disassembler (0.1.5)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -18,11 +18,11 @@ module Z80Disassembler
18
18
  def initialize(file_name, addr = 32_768)
19
19
  @file_name = file_name; @addr = addr.to_i
20
20
  @x = 0; @y = 0; @z = 0; @p = 0; @q = 0; @xx = nil
21
- @lambda = nil; @prefix = nil; @prev = nil, @bytes = []
21
+ @lambda = nil; @prefix = nil; @prev = nil
22
+ @bytes = []; @ascii = []; @result = {}
22
23
  end
23
24
 
24
25
  def start
25
- result = {}
26
26
  File.open(@file_name).each_byte do |byte|
27
27
  load_vars(byte)
28
28
  str = case @prefix
@@ -46,14 +46,16 @@ module Z80Disassembler
46
46
  else command
47
47
  end
48
48
  @prev = byte.to_s(16)
49
+ @ascii << ((32..126).include?(byte) ? ascii[byte - 32] : '.')
49
50
  @bytes << @prev.rjust(2, '0')
50
51
  next unless str
51
52
 
52
- result[@addr] = ["##{@addr.to_s(16)}".upcase, str, @bytes.join(' ')]
53
+ @result[@addr] = ["##{@addr.to_s(16)}".upcase, str, @bytes.join(' '), @ascii]
53
54
  @addr += @bytes.size
54
55
  @bytes = []
56
+ @ascii = []
55
57
  end
56
- result
58
+ @result
57
59
  end
58
60
 
59
61
  private
@@ -194,4 +196,15 @@ module Z80Disassembler
194
196
  end
195
197
  end
196
198
  end
199
+
200
+ def ascii
201
+ [
202
+ ' ', '!', '"', '#', '$', '%', '&', "'", '(', ')', '*', '+', ',', '-', '.', '/',
203
+ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', '<', '=', '>', '?',
204
+ '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
205
+ 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', '\\',']', '^', '_',
206
+ '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
207
+ 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~'
208
+ ]
209
+ end
197
210
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Z80Disassembler
4
- VERSION = '0.1.3'
4
+ VERSION = '0.1.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.1.3
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - dvitvitskiy