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 +4 -4
- data/lib/z80_disassembler.rb +10 -7
- data/lib/z80_disassembler/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9970749ade07cf2808e1e6792d3c45f26d8325e6fc2fd492d6b3f88c4d843c40
|
4
|
+
data.tar.gz: ebbfd99ccff00c4e86e5a8e09e31774359c7798d13ed847c65d1b0e95ccf04e5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8455ef820171b02eb4e886a7a37ef4dc43679c0c8bf4b777d9dc73e93732c4ec8899da13b4ea73d38f4704d5b8487ba42ab722cda462b11a7a33f7b46f68eefc
|
7
|
+
data.tar.gz: cecc4ee2168d08c0e1a373209f472cc78936f69e8f6ad067b04e9632e44c9d7291b3027215c5a6329d2226dfeb8a208b1aa28adb9c2ba6b56e400785f74e51c2
|
data/lib/z80_disassembler.rb
CHANGED
@@ -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
|
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
|
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
|
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
|
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
|
+
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
|
+
date: 2021-06-12 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description:
|
14
14
|
email:
|