X-Git-Url: https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blobdiff_plain;f=decoders%2Fz80%2Fpd.py;h=b7ff9a56b16ac83cc62bba2e6781876241b306dc;hp=e0d7ae4958c0a2a67f46f3e7dd2893f3f804e4cc;hb=10aeb8ea8b183394cebc0033f048f49f4262b57d;hpb=12851357e784b893e24880efc6cd22a0cbcc64ce diff --git a/decoders/z80/pd.py b/decoders/z80/pd.py index e0d7ae4..b7ff9a5 100644 --- a/decoders/z80/pd.py +++ b/decoders/z80/pd.py @@ -64,7 +64,7 @@ def signed_byte(byte): return byte if byte < 128 else byte - 256 class Decoder(srd.Decoder): - api_version = 2 + api_version = 3 id = 'z80' name = 'Z80' longname = 'Zilog Z80 CPU' @@ -110,7 +110,10 @@ class Decoder(srd.Decoder): ('warnings', 'Warnings', (Ann.WARN,)) ) - def __init__(self, **kwargs): + def __init__(self): + self.reset() + + def reset(self): self.prev_cycle = Cycle.NONE self.op_state = self.state_IDLE @@ -129,8 +132,10 @@ class Decoder(srd.Decoder): self.op_state = self.state_IDLE self.instr_len = 0 - def decode(self, ss, es, data): - for (self.samplenum, pins) in data: + def decode(self): + while True: + # TODO: Come up with more appropriate self.wait() conditions. + pins = self.wait() cycle = Cycle.NONE if pins[Pin.MREQ] != 1: # default to asserted if pins[Pin.RD] == 0: