(Topic ID: 221615)

Oscilloscopes and Pinball

By oldschoolbob

5 years ago


Topic Heartbeat

Topic Stats

  • 49 posts
  • 11 Pinsiders participating
  • Latest reply 5 years ago by barakandl
  • Topic is favorited by 8 Pinsiders

You

Linked Games

No games have been linked to this topic.

    Topic Gallery

    View topic image gallery

    Pages from Dolly Manual Complete-2 (resized).png
    u9 p37 (resized).jpg
    u9 p3 (resized).jpg
    u14 p4 (resized).jpg
    u12 p3 (resized).jpg
    cpu 12 (resized).jpg
    cpu 11 (resized).jpg
    cpu 10 (resized).jpg
    cpu 9 (resized).jpg
    pic_24_7a (resized).jpg
    pic_24_6a (resized).jpg
    pic_24_5a (resized).jpg
    pic_24_4a (resized).jpg
    pic_24_2a (resized).jpg
    pic_24_1a (resized).jpg
    a0a (resized).jpg

    You're currently viewing posts by Pinsider benheck.
    Click here to go back to viewing the entire thread.

    #29 5 years ago

    Looking at a serial stream from a single address line isn't super useful.

    The real secret sauce is finding the chip enable decodes. A PIA for instance has 3 chip enables CS0, CS1 and CS2 which has a line drawn over it.

    A line means active low, no line means active high. So in order to access the PIA the address lines go through some logic to set CS0 and CS1 high, CS2 low and boom! The PIA now accepts I/O.

    This is how any IC is selected on the bus. Anything that's not active goes "tristate" meaning its pins aren't affected (and can't affect) the rest of the bus.

    Depending on how many channels your scope has you can set logic triggers to look for these states. IE, if channel 1 is high and channels 2 and 3 are low then trigger. This would allow you to pause the scope when a PIA access takes place for instance.

    If you lack the channels you can go super dorky and use glue logic to make an edge detector. In the case of the PIA you'd put CS1 and CS0 through an AND gate, CS2 through an inverter, then both of those outputs through another AND gate. This would create a signal that goes high whenever CPU is trying to access PIA. You could use this as an external trigger for the scope and probe signals to see what's happening when the PIA is pinged.

    #33 5 years ago

    PiA has two 8 bit data ports, which can output or input data.

    So if you wanted to use one to drive an 8x8 switch matrix you'd set one to output (to drive columns) and one to input (to read switch rows)

    The CPU would then need to change the column at a certain frequency and then read the result of the rows (one byte at a time) to determine what switch was closed. Thus a complete scan of switches would require 16 accesses to the PIA. (eight writes interlaced with eight reads)

    #36 5 years ago

    These work well: https://www.saleae.com/?gclid=CjwKCAjwhevaBRApEiwA7aT535j4nwaTiWniKlFB6iKtHb_jkmWK9RNTkCj3JUNadIhpOQW17H2ZNRoCjz8QAvD_BwE

    and have more bits of resolution than low end oscilloscopes.

    If you're just looking for logic levels an analyzer can be all you need!

    You're currently viewing posts by Pinsider benheck.
    Click here to go back to viewing the entire thread.

    Reply

    Wanna join the discussion? Please sign in to reply to this topic.

    Hey there! Welcome to Pinside!

    Donate to Pinside

    Great to see you're enjoying Pinside! Did you know Pinside is able to run without any 3rd-party banners or ads, thanks to the support from our visitors? Please consider a donation to Pinside and get anext to your username to show for it! Or better yet, subscribe to Pinside+!


    This page was printed from https://pinside.com/pinball/forum/topic/oscilloscopes-and-pinball?tu=benheck and we tried optimising it for printing. Some page elements may have been deliberately hidden.

    Scan the QR code on the left to jump to the URL this document was printed from.