From: Gerhard Sittig Date: Sun, 15 Jan 2017 10:26:19 +0000 (+0100) Subject: z80: Convert to PD API version 3 (brute force) X-Git-Tag: libsigrokdecode-0.5.0~85 X-Git-Url: https://sigrok.org/gitweb/?a=commitdiff_plain;h=2bde58c5654e7f0103a301548ac60ba294d5b649;p=libsigrokdecode.git z80: Convert to PD API version 3 (brute force) This implementation technically uses v3 API calls, but has yet to come up with appropriate wait() conditions, to spend less time in the decoder and have more tedious work done in the backend. --- diff --git a/decoders/z80/pd.py b/decoders/z80/pd.py index a8acf53..bd2ec57 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' @@ -129,8 +129,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({'skip': 1}) cycle = Cycle.NONE if pins[Pin.MREQ] != 1: # default to asserted if pins[Pin.RD] == 0: