z80_disassembler 0.2.4 → 0.2.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: 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: