are there like. no good solutions for viewing logic analyser dumps on macOS? Both pulseview and GTKWave don't seem to run under modern macOS...
i guess i can just use my linux machine, but ugh
next question is how do i actually physically interface with these pins. can’t use clips because well, it’s a flat surface, and the spacing is kinda weird so any prebuilt pogo pin things are ruled out
Ok, have a pinout of sorts
Ground Data Data Data Data Clock Half-press 1 Half-press 2 Shutter fired 1 Shutter fired 2 Bat+ Logic voltage
now we check if there are any common data interfaces with 4 data lines of some description and a clock
Is this just fucking SPI with a bonus pin
it would really help if I could non-destructively open up one of the program cards but they are sealed shut completely
i think it looks like a clock at least
in case you are wondering how i got this. i am just holding a pogo pin on the connector by hand
wtf is this though
its clock. but not.
jokes aside. there's two data lines (in/out i guess), one clock, one fucked up clock, and whatever this is
New working pinout:
Ground Fucked up clock Data Data Mystery pin Clock Half-press 1 Half-press 2 Shutter fired 1 Shutter fired 2 Bat+ Logic voltage
If I could make a guess, the mystery pin is probably a chip select
I think I need to come up with a proper test jig, I can't get a consistent reading just holding it on the pins by hand
lmao i killed the camera. rip
ok, it came back to life after reinserting the battery. logic voltage is 3.2v again
ordered some individual pogo pins, I’ll make a test jig with some cardboard and hotglue since I don’t have a 3D printer
That didn't work, so I ripped apart the side door where the card goes and just put some test clips on the card contacts. I'm no closer to understanding anything. Like, if this is SPI, why is there data going on both directions at once on an empty port when CSEL is low. Shouldn't it just be the camera trying to talk to the non-existent card?
I found a bit more information in the Minolta 5xi service manual (which also uses these expansion cards). The cards contain a microcontroller which communicates over whatever protocol this is
It's serial of some description according to the service manual
@protosphere having some decoded (hex) values would be very useful
@whitequark Here's an example of what spi-analyzer gave me:
d2ffff2041,ffffffffff 4e00,ffff 8e00,ffff 423e25003e001400000000002c42,ff211f12801f000a000000000016 423e25003e001400000000002c42,ffa11f12801f000a000000000016 d2ffff2001,ffffffffff 4e00,ffff 8e00,ffff 423e25003e001400000000002c42,ff211f12801f000a000000000016 4e00,ffff 423e25003e00140000000000ac42,ff211f12801f000a000000000056 a600,ffff d2ffff2001,ffffffffff 4e00,ffff 8e00,ffff 423e25003e001400000000002c42,ff211f12801f000a000000000016 4e00,ffff 423e25003e00140000000000ac42,ff211f12801f000a000000000056 a600,ffff d2ffff2001,ffffffffff 4e00,ffff 8e00,ffff 423e25003e001400000000002c42,ff211f12801f000a000000000016 4e00,ffff 423e25003e00140000000000ac42,ff211f12801f000a000000000056 a600,ffff d2ffff2001,ffffffffff 4e00,ffff 8e00,ffff 423e25003e001400000000002c42,ff211f12801f000a000000000016 4e00,ffff 423e25003e00140000000000ac42,ff211f12801f000a000000000056 a600,ffff d2ffff2001,ffffffffff 4e00,ffff 8e00,ffff 423e25003e001400000000002c42,ff211f12801f000a000000000016 4e00,ffff 423e25003e00140000000000ac42,ff211f12801f000a000000000056 a600,ffff d2ffff2001,ffffffffff 4e00,ffff 8e00,ffff 423e25003e001400000000002c42,ff211f12801f000a000000000016 4e00,ffff 423e25003e00140000000000ac42,ff211f12801f000a000000000056 a600,ffff d2ffff2001,ffffffffff 4e00,ffff 8e00,ffff 423e25003e001400000000002c42,ff211f12801f000a000000000016 4e00,ffff 423e25003e00140000000000ac42,ff211f12801f000a000000000056
@protosphere how even
@whitequark i have no idea, it just doesn't turn on anymore. i guess the battery could be dead, i'll have to test
@whitequark hm no, it's actually getting power (5.8v instead of 5.9v, but I imagine that's still enough. Logic power level is like 2.8v though instead of ~3.2v)
@whitequark pretty sure I somehow killed the processor
@protosphere sounds somewhat unlikely unless you shorted one of the logic pins to VBAT. do you know what's inside? do you have an oscilloscope? how expensive was the camera?
@protosphere that's odd. try changing the battery anyway
@protosphere yes that checks out
@whitequark I guess I'll run it through the SPI analyzer and see what it gives me then!
judging by the a9 schematics (several chips share the same data and clock lines) yeah, chip select seems likely
@protosphere yep that's SPI all right
@protosphere or something similar like MicroWire
@protosphere 3d print a jig?
@whitequark Yeah, or I just realised I can buy the part with the connector on it and just gut it for the connector (it’s cheap, this is an 80s camera)
@protosphere pulseview isn't really "good" in first place; I'd convert it to a VCD and use Surfer
@whitequark Ohhh that is what I’m looking for. I’ll be getting VCD files anyway since I (will be) using the glasgow analyzer applet for this
@whitequark If you don't mind me asking, how does one actually use the glasgow analyzer applet? The docs state that it's removed, yet it still seems to be there. But I can't get it to produce anything except a 0-byte VCD file

@protosphere the removed thing is the "applet analyzer", a distinct entity from "analyzer applet" (internal vs external logic analyzer)

glasgow run analyzer foo.vcd should do something, if not run with glasgow -vvv and upload log

@whitequark Seems to do nothing (I'm terminating it with Ctrl-C). Log has one error, E: g.hardware.assembly: cannot configure pulls for port A: Vio is off. There's no activity after starting the applet.
@protosphere you need -V A=<io-voltage> eg -V A=3.3
@whitequark Yeah ok that makes sense. It was an optional parameter so I imagine it maybe detected automatically voltage if left out (imo this is not clear in the documentation for someone more less technical in electronics like myself)
@protosphere it's also using the legacy applet infrastructure which is slowly falling apart concurrently with us porting applets to V2 infrastructure (which has actual design and is the only one I'm comfortable documenting)
@protosphere to autodetect voltage based on "S" wire, use -V A=SA
@whitequark Is this the "VA SENS" pin on the included diagram?
@whitequark This seems to crash the applet when it actually detects something. If I can be reasonably confident it's 5V (80s electronics), can I set that? Can it potentially damage the device if it operates at a lower voltage?

@protosphere ah, that's a bug in the legacy infrastructure

the analyzer applet sets all pins to inputs and we've taken great care to make sure they are never accidentally set to outputs, but if you want to 100% make sure this will not damage the device you can just put some 10K inline resistors

note that this changes if you enable pull-up resistors as that will put 5V (via a 10k resistor) on every pin

@protosphere you can also use glasgow voltage to see what's being sensed on the VA SENS wire and then manually set that voltage
@whitequark ah that works wonderfully, thank you
@whitequark It looks to be 3.3v, with 6V on one pin (battery voltage). Though I'm not sure if this is a data line and it's being averaged out to around 3v. Will running 5V into the glasgow in 3.3V mode damage it?
@protosphere it will not damage the glasgow (note that 6V is right on the edge of absolute maximum ratings for the data lines, anything above that will damage it), however you must be aware that if you configure it for 3V3 and connect to a set of mixed 3V3/5V signals, the 5V from the 5V signals may end up escaping to the 3V3 signals via ESD diodes
@protosphere 6V on the sense line is fine, I don't remember what the AMR for that is but it's something over 20V
@whitequark Yeah this was on the sense line. I'll make note to avoid that pin when probing for data
@whitequark I'm still so far unsuccessful in producing a VCD file with data in it. Best I could get was this. Do I need to set either pull up or pull down?
@protosphere (once it's ported to the V2 infrastructure, there will be an error message for this case, I just don't care to spend any more time supporting the legacy infra)
@whitequark That's totally fair

Thanks for all the help! So far the experience of using glasgow has been great overall. It's made this task much less daunting to work on

@protosphere nice, i'm very happy to hear that!

the underlying core of the analyzer applet is a bit weird (it is one of my first RTL designs dating back to like 2018, i was inexperienced then) so it might have some issues; if you hit overflows quickly, add --pull-ups or --pull-downs

(it compresses the capture data under the hood, which is good for long captures, except if the data is not very compressible like voltage around Vcc/2, it quickly overruns the buffers...)