(Topic ID: 253917)

DIY: 'LISY', a replacement MPU for Gottlieb, Bally & Stern

By bontango

1 year ago


Topic Heartbeat

Topic Stats

  • 687 posts
  • 54 Pinsiders participating
  • Latest reply 2 days ago by Robotworkshop
  • Topic is favorited by 71 Pinsiders

You

Linked Games

No games have been linked to this topic.

    Topic Gallery

    View topic image gallery

    pasted_image (resized).png
    pasted_image (resized).png
    BallyFA_ZeroCrossing.png
    pasted_image (resized).png
    pasted_image (resized).png
    pasted_image (resized).png
    pasted_image (resized).png
    5F893EF8-256A-4315-B2BE-7C42F482DD4B (resized).png
    20210812_101353 (resized).jpg
    20210812_101417 (resized).jpg
    20210812_101427 (resized).jpg
    DC_Ripple1.png
    IMG_0052c.jpg
    pasted_image (resized).png
    pasted_image (resized).png
    pasted_image (resized).png

    There are 687 posts in this topic. You are on page 14 of 14.
    #651 46 days ago

    bontango In my Black hole I am missing the first 2 numbers in display 1, 3 and the lower level bonus display.
    I have swapped around the displays and all numbers work in the other positions.
    I have tried swapping around the associated ICs on the board and gone over the soldering again.
    Cables look ok, wiggling connectors (repinned) doesn't change anything.
    I am using a Gottfa80 board that was tested in Genesis and worked there.
    Is this a software bug or should I be looking at something else ?

    #652 45 days ago
    Quoted from Zigzagzag:

    Is this a software bug or should I be looking at something else ?

    Should be something with your hardware, I'm using GottFA (v1.0) with my Panthera which has the same type of displays, working fine.
    Your faulty displays have digits D1 .. D6 in common which are not used for your 80B Genesis.
    Didi you check/replace IC16 (74HC138N) and IC19 (74HCT240N) and the connector J3 pin 1&2 ?

    #653 45 days ago
    Quoted from bontango:

    Should be something with your hardware, I'm using GottFA (v1.0) with my Panthera which has the same type of displays, working fine.
    Your faulty displays have digits D1 .. D6 in common which are not used for your 80B Genesis.
    Didi you check/replace IC16 (74HC138N) and IC19 (74HCT240N) and the connector J3 pin 1&2 ?

    I suspected as much. Yes, I swapped the ICs with their neighbours. I guess it might be the connection on the FPGA itself.

    Easiest will probably be just to place this board in Genesis and put that board in BH

    #654 45 days ago
    Quoted from Zigzagzag:

    I guess it might be the connection on the FPGA itself.

    I don't think so, looking to the schematics four FPGA IOs feeding the digit strobes, if one of them
    are faulty it would affect other digits too. Sure that the edge connector is OK?
    GottFA PCB (as well as LISY) are a bit skinny compared to the original

    #655 45 days ago
    Quoted from bontango:

    I don't think so, looking to the schematics four FPGA IOs feeding the digit strobes, if one of them
    are faulty it would affect other digits too. Sure that the edge connector is OK?
    GottFA PCB (as well as LISY) are a bit skinny compared to the original

    Never sure, of course ... problem is, BH is 4 hours away, so a quick check is difficult. All displays worked on the original board, though.

    I will try to investigate further.

    #656 44 days ago
    Quoted from KenLayton:

    Ever thought about doing a LISY Bally 6803 system board?

    No, it is not on my list. I had a short look and saw that it uses the same technique as the combo boards
    in games like 'Grand Slam'. As this board is still causing problems with LISY and BallyFA I did not investigate further.

    #657 44 days ago
    Quoted from bontango:

    No, it is not on my list. I had a short look and saw that it uses the same technique as the combo boards
    in games like 'Grand Slam'. As this board is still causing problems with LISY and BallyFA I did not investigate further.

    Isn’t the Grand Slam MPU just an -35 MPU but with a diode in place of a resistor? I’ve had to make that mod to use a -35 in Grand Slam and Goldball. If the same mod is done to LISY then it should work in those games.

    #658 43 days ago
    Quoted from Robotworkshop:

    Isn’t the Grand Slam MPU just an -35 MPU but with a diode in place of a resistor?

    Yep, thats the change for the hardware and LISY and BallyFA have this diode already as it works for all games with the diode present.
    So far so good ...
    The 'problem' is how the lamps are controlled. Bally did use a tricky control circuit to lower the number of Thyristors (cost cutting)
    Each Thyristor is used to control TWO different lamps instead of one. ( A and B phase )
    For that it feeds the lamps with positive and negative power and spend a diode for each lamp.
    The zerocross signal is then interpretet by software on the falling AND raising edge, generating two interrupts
    for phase A and phase B instead of only one Interrupt on the falling edge for the 'older' games.

    And I still have problem with these two interrupts implementing in LISY and BallyFA

    #659 43 days ago
    Quoted from bontango:

    And I still have problem with these two interrupts implementing in LISY and BallyFA

    What exactly is going wrong with the current implementation?

    I haven't looked at the game code, but I presume (guesstimate):
    6821 is programmed for normal falling edge trigger which happens on the rising phase A.
    Phase A crosses zero upwards and rises causing an interrupt to trigger.
    Interrupt is serviced then 6821 is changed to sense a rising edge trigger (falling phase A).
    Phase A falls and generates an interrupt trigger about 0.3ms *before* it has crossed zero.
    Interrupt is taken but flagged to service phase B about 0.6ms later when phase B has become active.
    0.6ms later phase B lamps are refreshed and 6821 is reprogrammed back to normal falling edge trigger for next rising phase A.

    Or am I totally off base?

    #660 40 days ago

    Top Tip: when installing your LED blocks in the LISY 80 displays, do not install them upside down.

    Then the center segment becomes the dot and vice versa.

    Whoops.

    (sorry no pic.... I already desoldered it and flipped it over to the proper direction).

    #661 40 days ago
    Quoted from Quench:

    Or am I totally off base?

    There is also a difference in the feeding of the zero cross detection

    Details here on 'pinballinfo'
    https://www.pinballinfo.com/community/threads/bally-zero-crossing-detector-circuit.17196/
    "On GOLD BALL Pin 15 on J4 is no longer fed by the +43VDC from the solenoid circuit, but instead uses one of the 10VAC lines from the Switched Illumination. This is a totally un-rectified AC voltage"
    I pasted the two zero cross signals from the thread below, first i the 'normal' signal, and the second the signal with the combo board.

    It may becoming a bit 'off topic' here, but I can start a seperate thread on this topic,
    and would be happy if you could help me there .. ?!

    pasted_image (resized).pngpasted_image (resized).png
    #662 40 days ago
    Quoted from bontango:

    "On GOLD BALL Pin 15 on J4 is no longer fed by the +43VDC from the solenoid circuit, but instead uses one of the 10VAC lines from the Switched Illumination. This is a totally un-rectified AC voltage"

    My presumption in this regard was based on the Zero Crossing being AC, but I forgot it was only 10 volts. It means the trigger times I mentioned (0.3ms and 0.6ms) are too short and in reality need to be longer because of the slower rise/fall in 10 volts wave.

    See below wave snapshot showing the traditional relationship of the Zero Crossing detector output going into the 6821 against the 43VDC solenoid voltage. You can see the Z.C detector only changes state while the ripple is positive - actually it never "crosses zero" volts on traditional systems using DC.
    When the Zero Crossing detector input is AC, it cannot detect and change state while the input is negative voltage. So this is the reason I presume you need to alternate the edge direction detection on the 6821 CB1 input and then wait some time after phase A falls and triggers near zero and then goes negative voltage (where phase B is now positive).
    The Zero Crossing pulse length in the oscilloscope snapshot below is approximately 0.6ms (but again it's based on the steep rise/fall of 43 volts, not 10 volts).
    The diagram below it hopefully explains my theory. Does it sound reasonable?

    IMG_0052c.jpg
    DC_Ripple1.png

    #663 38 days ago
    Quoted from Quench:

    Does it sound reasonable?

    It does, thx. I will make some tests with my logic analyzer and compare waveforms
    of the CB1 input between the 43V rectified and the 10V unrectified input.
    In a second step I will record what happens with the interrupt line on BallyFA.
    Let you know ...

    #664 36 days ago

    Uhoh - I let the magic smoke(s) out....

    History.... got machine (jacks to open) and one original display not working, and one p2/p4 digit locked on. Rottendog replacement mpu, Gulf pinball PS. Get the locked digits going and got a replacement display from a pinsider, which initially worked ok. Went to keep shopping and the new display craps out, figure it was just its time, etc. - disconnect and keep going. Then, all displays out, gulf pinball display section smoked, no schematics available, not paying $80 for another. It was blowing fuse F3 as well.

    Go for the LISY design and the new PS/displays - had to repin a couple of the display harness connectors, visible sparking on the input voltage pin on 2x displays, so repinned both of those. Working fine up until a couple days ago, turned it on and display is incorrect on the credit display and other displays are really dim/off. It had blown F3 again.

    Disconnected all displays and PS, tested input voltage for displays 60vac ok, hooked up PS, test voltages, all ok. (+5 is 4.9 where it was 5.1 when I first installed PS, but likely not important). Reconnected only credit display, still has bad info on display but lit. (power off between all connect/disconnect of course) - I did do the 10ohm mod for the displays on the PS when I built it (I ordered enough parts to build 10 boards, still have 4-5 to build up) Hooked up the p1 display and smoked what I think is the power regulator, and the 10 ohm current limited resistor blew as well, and F3 blew again as well.

    I know it's never the transformer.... but do you think it could be the transformer? It doesn't blow F3 without anything hooked up to it, didn't blow it without the displays connected, but did blow (see pictures) when I hooked up the display. There was a big spark at the connector similar to what I noticed when the connector needed to be repinned.

    I do have one spare display board that I can move the LED digits over to but I'd like to nail this down if I can before hand so I don't just blow them all up. I did turn up the brightness on all the displays as they were too dim - possibly the current just isn't enough to run all the displays so caused an undue load?

    Any other thoughts?

    20210812_101353 (resized).jpg20210812_101417 (resized).jpg20210812_101427 (resized).jpg
    #665 33 days ago

    Ralf, finally got around to building a 35 board. I get random numbers on the displays. When hooked up to the hotspot lisy thinks it’s pink panther even tho S2 is set to on on rest off (eight all)

    All Roms are on the Sd for Bally none for gottlieb

    #666 33 days ago
    Quoted from slochar:

    I did turn up the brightness on all the displays as they were too dim - possibly the current just isn't enough to run all the displays so caused an undue load?

    Any other thoughts?

    with the '10Ohm mod' the brightness should be fine, even with all displays connected.

    From your pictures ( and the damage) it looks like you have a shortage somewhere.
    I would doublecheck the wiring to the displays, you never know what people have done before ...

    #667 33 days ago
    Quoted from hockeymutt:

    Ralf, finally got around to building a 35 board. I get random numbers on the displays. When hooked up to the hotspot lisy thinks it’s pink panther even tho S2 is set to on on rest off (eight all)

    All Roms are on the Sd for Bally none for gottlieb

    You said 'Pink Panther', so I guess you are talking about a LISY80, not about a LISY35?
    What random numbers do you get? If you have an 'old' LISY80 HW Version ( pre 6.0 ) you need
    to program the display PIC with another Software version!

    Due to Copyright the Gottlieb roms are NOT included in my Image.

    For the 'misinterpreted' S2 dip switch I would double check orientation of the diodes and the resistor arrays.

    #668 33 days ago

    That’s the funny part this is a lisy35 board,

    Quoted from bontango:

    You said 'Pink Panther', so I guess you are talking about a LISY80, not about a LISY35?
    What random numbers do you get? If you have an 'old' LISY80 HW Version ( pre 6.0 ) you need
    to program the display PIC with another Software version!
    Due to Copyright the Gottlieb roms are NOT included in my Image.
    For the 'misinterpreted' S2 dip switch I would double check orientation of the diodes and the resistor arrays.

    5F893EF8-256A-4315-B2BE-7C42F482DD4B (resized).png
    #669 33 days ago
    Quoted from hockeymutt:

    That’s the funny part this is a lisy35 board,

    The LISY Image can be used with all LISY variants, there is a HW detection when LISY starts which ask the display PIC for a HW ID.
    By placing a LISY80 display PIC in a LISY35 PCB LISY will assume to be conected to a LISY80.
    So I guess you programmed your LISY35 display PIC with a LISY80 hex file.
    Best to program the display PIC again

    #670 29 days ago

    bontango On the GottFA80 I remember there being some information about some 80B-games not being compatible with the older versions of the board due to memory limitations.
    This information seems to have disappeared.
    Could you tell me which games were affected by this as I have 3 "old" boards I could put to use ?

    #671 29 days ago

    ups, you are right, that information got lost when I went to version 4.x
    I added it again to the 'old' docs on the bottom of the page
    https://lisy.dev/gottfa80.html
    thanks for letting me know

    Note: due to memory limitations v1.0 of GottFA80 is not compatible with the 'late' 80B games ( Hot Shots, Big House, Bad Girls, Bonebusters and Night Moves ).

    #672 29 days ago
    Quoted from bontango:

    ups, you are right, that information got lost when I went to version 4.x
    I added it again to the 'old' docs on the bottom of the page
    https://lisy.dev/gottfa80.html
    thanks for letting me know
    Note: due to memory limitations v1.0 of GottFA80 is not compatible with the 'late' 80B games ( Hot Shots, Big House, Bad Girls, Bonebusters and Night Moves ).

    Thanks ! That explains why my Night moves locks up on game start, I suppose

    #673 28 days ago

    FYI: new Atari replacement displays on lisy.dev, have a look here
    https://pinside.com/pinball/forum/topic/diy-atari-gen1-replacement-displays-on-lisydev

    #674 28 days ago
    Quoted from Quench:

    The Zero Crossing pulse length in the oscilloscope snapshot below is approximately 0.6ms (but again it's based on the steep rise/fall of 43 volts, not 10 volts).

    Finally I found some time to do the tracings with my logic analyzer on a BallyFA

    with the 43Volt input I see a pulse length of around 0,74ms (picture1), with 10V AC the pulse length is about 1,76ms (picture2)
    however I did not saw zero cross interrupts at the cpu, only the display refresh interrupts.
    a third trace (picture3) showed that there is ONE ZC interrupt (falling edge) followed by a change of the pia control register to
    change the interrupt to rising edge around 5ms after that.

    So my current theory is that the pia6821 module has a bug with rising edge interrupts, need to investigate further
    I keep you posted

    pasted_image (resized).pngpasted_image (resized).pngpasted_image (resized).png
    #675 26 days ago

    I think I solved it, maybe someone can test the new BallyFA version as I have no pin with a comboboard?
    http://www.flipperkeller.de/lisy/BallyFA_114.pof
    ( I have a tester here in Germany, but could be different in US because of 60Hz power frequncy)

    Background: The Interrupt had trouble with the display refresh interrupt in my VHDL cpu code.
    I had to 'shift' the display refresh a bit, now it looks much better.
    What I see now ist two interrupts, one at the rising edge and one at the falling edge, HOWEVER looks
    like Bally change the transition setting after each zero cross and not in between (what I would have expected)

    So the lamp refresh (with 50Hz power frequency) with the comboboard is every 20ms, where it is every 10ms with he 'normal' board?
    I wonder if lamps tend to more flickering with the comboboard ... ?

    In the picture you see the rising edge int at 'A' and the falling edge int at 'B'

    pasted_image (resized).png
    #676 25 days ago
    Quoted from bontango:

    I think I solved it

    Great to hear!

    Quoted from bontango:

    Background: The Interrupt had trouble with the display refresh interrupt in my VHDL cpu code.
    I had to 'shift' the display refresh a bit, now it looks much better.

    BTW, the display interrupt generator runs at:
    Around 430Hz on Bally 7 digit display games
    Around 320Hz on Bally 6 digit display games and Stern MPU-100 games
    Around 400Hz on Stern MPU-200 games

    I think you are running the display interrupt generator at 400Hz based on your diagrams? Because your approach will be more precise there is the opportunity that its interrupt could happen at the same time in sync with a 100Hz zero crossing. I think it would be safer to run the display interrupt generator a little higher speed say 410Hz to minimise this occurrence.

    Quoted from bontango:

    HOWEVER looks like Bally change the transition setting after each zero cross and not in between (what I would have expected)

    I had a look at the code:
    - Zero Crossing interrupt occurs
    - Alternate a RAM phase flag (actually it's just bit zero of a free running counter)
    - Perform a delay around 1.10ms
    - If RAM phase flag is set, service the phase ØA lamps, else service phase ØB lamps
    - Perform all other Zero Crossing system services
    - Alternate the edge detection on the 6821 Zero Crossing CB1 input
    - Exit the Zero Crossing interrupt service routine

    Quoted from bontango:

    with 10V AC the pulse length is about 1,76ms (picture2)

    Looks around 1.3ms to me. Doesn't this seem too short to you considering the AC wave is 50% duty? With 20ms cycle (50Hz) I would expect the Zero Crossing Detector pulse to be around 12ms.
    It doesn't look like you are getting Zero Crossing interrupts occurring every transition, only every second transition which doesn't seem right like Zero Crossing is serviced at 50Hz, not 100Hz and the phases are serviced at 25Hz. This is likely happening because that Zero Crossing Detector pulse is too short considering the 1.10ms delay in the zero crossing service routine causing the edge detection not being reprogrammed in time for the next transition - see below.

    BallyFA_ZeroCrossing.png

    #677 24 days ago

    Thanks for the help got that sorted now having issues were I’m getting no lamps, and solenoids not working cross detector is always lit

    #678 24 days ago
    Quoted from hockeymutt:

    now having issues were I’m getting no lamps, and solenoids not working cross detector is always lit

    did you also reprogram the other PICs? They may have also the wrong code

    #679 24 days ago
    Quoted from Quench:

    BTW, the display interrupt generator runs at:
    Around 430Hz on Bally 7 digit display games
    Around 320Hz on Bally 6 digit display games and Stern MPU-100 games
    Around 400Hz on Stern MPU-200 games

    I think you are running the display interrupt generator at 400Hz based on your diagrams? Because your approach will be more precise there is the opportunity that its interrupt could happen at the same time in sync with a 100Hz zero crossing. I think it would be safer to run the display interrupt generator a little higher speed say 410Hz to minimise this occurrence.

    Thanks for the hint, I was not aware of different display interrupt timings. And yes, my internal generator runs at 400Hz.
    I had problems before when the display/zero cross interrupts occured at the same time but now I do 'restart/resync' the display
    timer with every zero cross interrupt to adapt to the power frequency which is not as exact as the internal timer.

    I commented my trace below, for me the logic should be OK, as at point:
    (1) the int does occur because the sense is set to falling edge
    (2) the int does occur because the CB1 interrupt is disabled
    (3) the int does occur because the sense is set to falling edge
    ...
    what do you think?

    pasted_image (resized).png
    #680 24 days ago
    Quoted from bontango:

    what do you think?

    Can you explain how you're generating the zero crossing detector signal?
    Is it controlled by the power signal coming from the rectifier board to the MPU board at J4 pin 15?
    Or is it a timer implemented in your hardware?

    An AC signal going into MPU J4 pin 15 will produce a zero crossing detector signal with a cycle time of 20ms (50Hz), but your snapshot shows the cycle time is 10ms.

    #681 24 days ago
    Quoted from bontango:

    I had problems before when the display/zero cross interrupts occured at the same time

    This occurs on factory MPU boards too that the interrupts will occur at the same time every now and then.

    #682 23 days ago
    Quoted from Quench:

    Can you explain how you're generating the zero crossing detector signal?
    Is it controlled by the power signal coming from the rectifier board to the MPU board at J4 pin 15?
    Or is it a timer implemented in your hardware?

    An AC signal going into MPU J4 pin 15 will produce a zero crossing detector signal with a cycle time of 20ms (50Hz), but your snapshot shows the cycle time is 10ms.

    I'm using exact the same circuit which is used on the Bally MPU, feeding an IO on my FPGA, where it goes to CB1 of U10 on the Bally MPU.
    But you are right, I HAD AN ERROR in my testcircuit on the bench, see picture below with a 12Volt AC signal on J4/Pin15
    Cycle time is now 20ms and the zero cross signal is MUCH longer (around 11ms) showing an interrupt on the rising AND on the falling edge.
    So this is finally the waveform I had expected .. see picture below

    HOWEVER: In case of the 'non comboboard' version the input on J4/Pin15 is a full rectified AC Signal, so there we have a cycle time of 10ms, correct?

    Does that mean that the lamp refresh with the comboboard is slower, and if this is the case, why do the lamps not flickering with the comboboard?

    Quoted from Quench:

    This occurs on factory MPU boards too that the interrupts will occur at the same time every now and then.

    Yes, but during my tests I noticed that the VDHL module I'm using for the 6800 emulation (cpu68.vhd) has problems with nested interrupts. So for my hardware emulation I needed to make sure that the Zero Cross & Display interrupts do not occur at the same time
    pasted_image (resized).png

    #683 23 days ago
    Quoted from bontango:

    So this is finally the waveform I had expected

    And that's exactly what I've been expected too! Well done.

    Quoted from bontango:

    HOWEVER: In case of the 'non comboboard' version the input on J4/Pin15 is a full rectified AC Signal, so there we have a cycle time of 10ms, correct?

    You mean full rectified DC signal? (not AC). If yes, then the cycle time is 10ms.

    Quoted from bontango:

    Does that mean that the lamp refresh with the comboboard is slower, and if this is the case, why do the lamps not flickering with the comboboard?

    Yes, games with the dual phase lamp setup will be refreshed at half speed on each phase. The AC voltage is higher to compensate for this and in terms of incandescent lamps that have long persistence, the higher voltage makes them stay on longer so the slower rate of refresh will not be noticeable or cause flicker.

    LEDs complicate matters since they have no persistence. 50Hz refresh will be enough to not produce flicker, the problem as we know is that with traditional single phase DC games the lamp refresh occurs early in the DC phase when there is not enough current draw from LEDs for the lamp driver boards SCRs to latch. The solution has been to add resistors across the LED circuits to increase the current draw that helps the SCRs latch. This still isn't perfect and I suspect flicker can still sometimes occur in part because of nested interrupts (display interrupts can interrupt the zero crossing service routine).

    Quoted from bontango:

    Yes, but during my tests I noticed that the VDHL module I'm using for the 6800 emulation (cpu68.vhd) has problems with nested interrupts.

    Why is this? The 6800 /IRQ input is level sensitive (not edge). The 6821 IRQ outputs are open drain and all tied together in an OR fashion meaning they could all request an interrupt at the same time. It is up to the game software (operating system) to prioritise IRQs and determine which IRQ source(s) is active.
    In other words, interrupts are prioritised and dealt with in software and nesting should only occur to one level based on their frequencies.

    Anyway, great work! and to get back to the original request, hopefully a Bally 6803 control board replacement will one day make it on your list

    #684 21 days ago

    Thanks for the help, built this board over the course of a month, over a 9 months ago. Grabbed the wrong resistor, didn’t have the 1.5m ohm but had 2m and it solved all my issues

    2 weeks later
    #685 2 days ago

    Does anyone have an extra LISY1 PCB? It looks like I could use one of them to revive a Buck Rogers. I think I have most of the parts to assemble it.

    #686 2 days ago

    Yes, I have two extras of the LISY 1 and 1 extra of the LISY 80 board.

    #687 2 days ago
    Quoted from KenLayton:

    Yes, I have two extras of the LISY 1 and 1 extra of the LISY 80 board.

    PM sent.

    There are 687 posts in this topic. You are on page 14 of 14.

    Hey there! Got a moment?

    Great to see you're enjoying Pinside! Did you know Pinside is able to run thanks to donations from our visitors? Please donate to Pinside, support the site and get anext to your username to show for it! Donate to Pinside