Logic analyser suitable for serial decoding of old HP calculator bus? - Page 1
Forum section: electronics / repair

author: Bill Woodbridge
author_rank: Contributor
timestamp: August 18, 2024, 11:13:59 am
content: I’m currently trying to fault-find an HP-67 calculator by examining its serial address/instruction bus. The machine transfers address, instruction and display data on this bus synchronously using fixed time slots within the 56-bit so-called ‘Woodstock word’. These timeslots are 12, 10 and 8 bits respectively, simple HI = 1 LO = 0 levels with a brief return to zero between each bit. There is a separate clock line (in fact two different phases) and a separate sync line indicating the start of each word.My Keysight DSOX3014 makes a good job of capturing the bus in either analogue or digital (MSO) acquisition mode. But none of the built-in serial protocol decoding capabilities are useful despite the Woodstock word structure being very simple, and as far as I can see there are no user-defined options for custom decoding. So I’m having to squint at the display counting 1s and 0s, then writing these into a spreadsheet, etc.My question is: does anyone know of a logic analyser that has enough user-defined decode options to extract and present data automatically from the ‘Woodstock word’? Just stripping out the three data items from each word would be nice, with extra points awarded for reversing the LSB-first order, converting the instructions against a lookup table of microcode mnemonics and presentation in an address – instruction table. Even more extra points if there is a classic HP model that would do this, to add to my vintage test equipment collection.Full disclosure – I’m pretty sure I’ve already found the actual fault, but I’d still like to dig deeper into analysis of what’s going on.Many thanks if anyone can help.

author: Le_Bassiste
author_rank: Frequent Contributor
timestamp: August 18, 2024, 12:46:41 pm
content: you may want to reach out to forum member "teenix" over athttps://www.hpmuseum.org/forum/index.php. he has done extensive work on HP calculator hardware, especially woodstocks.hth

author: Bill Woodbridge
author_rank: Contributor
timestamp: August 18, 2024, 02:15:27 pm
content: Thanks for the suggestion - Tony (Teenix) has already been incredibly helpful in helping me pinpoint the fault (a failed ROM/RAM IC, so unobtanium unfortunately as often with old HP calculators unless anyone happens to have a spare 1818-0232 they could sell me).It's true I haven't asked him this question though - I thought I'd post here as the calculator project has now crossed over somewhat into my vintage test equipment enthusiasm.Thanks again, Bill

author: aeg
author_rank: Regular Contributor
timestamp: August 19, 2024, 01:15:01 am
content: The HP logic analyzers were intended for parallel data buses, not serial. However, if you really want to decode synchronous serial, you can write a custom inverse assembler and upload it to the analyzer. Your triggering capabilities will be limited to triggering on sync or on the first few bits after sync. You could also make a hardware "preprocessor" to convert the serial bus to parallel - then you get the full capabilities of the analyzer.

author: Bill Woodbridge
author_rank: Contributor
timestamp: August 19, 2024, 12:00:45 pm
content: Thanks very much - I wasn't aware of the possibility of custom inverse assemblers for HP logic analysers. I'll look into that some more. Hardware preprocessing might be a step too far for me though!

author: artag
author_rank: Super Contributor
timestamp: August 19, 2024, 01:08:21 pm
content: The full-up logic analysers (16500 and descendents) have an inverse assembler development package. However I think you're using an MSO which isn't really a logic analyser - it's a scope with an extra 16 1-bit channels which can be displayed as a parallel word. It's not clocked and as far as I know doesn't support the inverse assembler.However, you can write custom code for the low-cost USB analysers out there and these are very suitable for a slow, narrow serial bus like the HP67. The leader was Saleae and they still have excellent products shipping with a development environment, but have got considerably more expensive than the original hardware which is widely available in other forms.You could look at a minimal ($10) USB analyser based on the cypress ez-usb with Sigrok for custom processing.

author: RAPo
author_rank: Super Contributor
timestamp: August 19, 2024, 06:38:58 pm
content: I don't think there is an out-of-the-box solution.Would anactive-plus debugger/logic analyzerhelp you?(I have an active pro on order).

author: Bill Woodbridge
author_rank: Contributor
timestamp: August 19, 2024, 10:45:26 pm
content: Thanks for these suggestions. You’re right – I’m just using one of the 16 ‘digital’ channels on my Keysight MSO as a 1-bit resolution oscilloscope, which doesn’t get me very much further. It can decode some common async and sync serial protocols (RS232, I2C, CAN etc) but not Woodstock, and even if it could as you say it’s not a logic analyser and so it's still miles away from being able to host an inverse assembler.It seems that a modern cheap USB–based capturer/analyser is definitely the correct starting point. I wasn’t aware of this class of device, and my fixation on vintage test equipment was rather clouding my outlook. In particular, the ‘Packet Presenter’ capability of the Active–Plus looks to be pretty much spot–on. The headline on the website 'Break out the fields and packets of your own custom protocol’ perfectly sums up what I’m trying to do, and the learning curve to write a ‘Packet Presenter Definition File’ doesn’t look too fearsome.Subject to a bit more reading through of the manual, I’m well on the way to ordering one of these. Thanks again.

author: artag
author_rank: Super Contributor
timestamp: August 20, 2024, 01:34:13 am
content: The vintage stuff is good too - I had a 16500B with the oldest analog and digital capture boards but I wasn't using it as I could do what I wanted with an 8-bit USB analyser, so I passed it on.But then I had a need for a wide bus again and got a 16500C with a 16557 capture board. It took forever to display 2M of trace ! I'm now up to a 16700A and finding more boards to put in it. It already has hundreds of channels at 1-2M depth.I've also got one of the later Saleae devices which has 8 bits of analog OR digital capture, and an Agilent MSO with 16 bits digital. They're all good at different things.

author: CircuitBreaker
author_rank: Contributor
timestamp: September 10, 2024, 02:10:50 pm
content: Hi @RAPo,Quote from: RAPo on August 19, 2024, 06:38:58 pmSince I'm interested in that debugger as well, but can find almost no reviews, how satisfied are you with it?

author: RAPo
author_rank: Super Contributor
timestamp: September 11, 2024, 03:10:57 pm
content: The LA came in last week.I did a preliminary if the device was working. It passed the test. A new version of the software was also needed. I like that my device (the pro version) has both input and output pins.Unfortunately that was all I could do due to heavy workload (and decorating the livingroom😁).Next week there is more time to "play" will report back then.Quote from: CircuitBreaker on September 10, 2024, 02:10:50 pm