z80_disassembler 0.2.4 → 0.2.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: 5fe96f8335ed977825007f7846ed1b5b515ee9bab79fad0c67976504926c827e
4
- data.tar.gz: c9341766fb32cf922aea077fa5968755b05e05ac03b45d277b8cc9de023f5b46
3
+ metadata.gz: 9970749ade07cf2808e1e6792d3c45f26d8325e6fc2fd492d6b3f88c4d843c40
4
+ data.tar.gz: ebbfd99ccff00c4e86e5a8e09e31774359c7798d13ed847c65d1b0e95ccf04e5
5
5
  SHA512:
6
- metadata.gz: 4fabf9e9a350e8ddedbc85acb8c8f738fd471e347591107f81a169c14c5d3dbca0f779f7706294ec6a3fde06895d6d5a429b6c6c48c8f9e5e84ba2de29097539
7
- data.tar.gz: cc8e487897234f43ddc6962d1ce979704b9295a7f99551d592db7413acb5d985ccf0d394952b26d0e08e84caafb91e31a96b1a1abe94f48a154b2cc3332e9010
6
+ metadata.gz: 8455ef820171b02eb4e886a7a37ef4dc43679c0c8bf4b777d9dc73e93732c4ec8899da13b4ea73d38f4704d5b8487ba42ab722cda462b11a7a33f7b46f68eefc
7
+ data.tar.gz: cecc4ee2168d08c0e1a373209f472cc78936f69e8f6ad067b04e9632e44c9d7291b3027215c5a6329d2226dfeb8a208b1aa28adb9c2ba6b56e400785f74e51c2
@@ -26,7 +26,7 @@ module Z80Disassembler
26
26
  ].freeze
27
27
 
28
28
  def initialize(file, org = 32_768)
29
- @file = file; @org = org.to_i
29
+ @file = file; @org = 25108 # org.to_i
30
30
  if file.original_filename[-3..-1] == '.$C'
31
31
  File.open(@file) do |f|
32
32
  z = f.read(17)
@@ -131,13 +131,15 @@ module Z80Disassembler
131
131
  when 1
132
132
  resp = @lambda.call(@arg, byte.to_s(16).rjust(2, '0').upcase)
133
133
  @prefix = nil; temp = @temp; @temp = nil
134
- if temp && resp.include?(')')
135
- resp = @xx ? displacement(temp.hex, resp) : resp.sub(')', "#{temp})").sub('(', '(#')
134
+ if temp && resp.include?('(HL)')
135
+ resp += temp
136
+ elsif temp && resp.include?(')')
137
+ # resp = @xx ? displacement(temp.hex, resp) :
138
+ resp = resp.sub(')', "#{temp})").sub('(', '(#')
136
139
  elsif temp
137
140
  resp += temp
138
141
  end
139
142
  resp = hl_to_xx(resp, @xx) unless @xx.nil?
140
- @xx = nil
141
143
  if resp.include?('JR') || resp.include?('DJNZ')
142
144
  z = resp.split('#')
143
145
  z[1] = z[1].hex < 127 ? "$+#{z[1].hex + 2}" : "$-#{255 - z[1].hex - 1}"
@@ -149,6 +151,7 @@ module Z80Disassembler
149
151
  end
150
152
 
151
153
  def hl_to_xx(temp, reg)
154
+ @xx = nil
152
155
  if temp.include?('HL')
153
156
  temp.sub('HL', reg)
154
157
  elsif temp.include?(' L')
@@ -167,7 +170,7 @@ module Z80Disassembler
167
170
  def displacement(byte, temp)
168
171
  @prefix = nil
169
172
  byte -= 256 if byte > 127
170
- des = ['', "+#{byte.to_s(16)}", byte.to_s(16)][byte <=> 0]
173
+ des = ['', "+#{byte.to_s}", byte.to_s][byte <=> 0]
171
174
  temp.sub('HL', @xx + des)
172
175
  end
173
176
 
@@ -252,8 +255,8 @@ module Z80Disassembler
252
255
  if @temp&.include?('(')
253
256
  @prefix = 'xx'; nil
254
257
  elsif ['dd', 'fd'].include?(@prev) && @temp
255
- temp = @temp; @temp = nil; @prefix = nil; xx = @xx; @xx = nil
256
- hl_to_xx(temp, xx)
258
+ temp = @temp; @temp = nil; @prefix = nil
259
+ hl_to_xx(temp, @xx)
257
260
  elsif @lambda && !@arg&.include?('HL')
258
261
  @prefix = 1; @temp
259
262
  else
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Z80Disassembler
4
- VERSION = '0.2.4'
4
+ VERSION = '0.2.5'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: z80_disassembler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - dvitvitskiy
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-06-11 00:00:00.000000000 Z
11
+ date: 2021-06-12 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email: