(Topic ID: 253917)

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

By bontango

2 years ago


Topic Heartbeat

Topic Stats

  • 971 posts
  • 68 Pinsiders participating
  • Latest reply 16 days ago by knohbody
  • Topic is favorited by 83 Pinsiders

You

Linked Games

No games have been linked to this topic.

    Topic Gallery

    View topic image gallery

    Kissd.png
    IMG_6220 (resized).jpg
    pasted_image (resized).png
    PXL_20220420_191415167.MP (resized).jpg
    lisy80_debug.pdf (PDF preview)
    lisy80_debug.pdf (PDF preview)
    20220325_170554 (resized).jpg
    20220325_170624 (resized).jpg
    20220318_014224 (1) (resized).jpg
    2022-03-04 13.44.28 (resized).jpg
    20220227_013431 (resized).jpg
    20220225_105202 (resized).jpg
    20220225_102434 (resized).jpg
    lisy_kit (resized).jpg
    pasted_image (resized).png
    pasted_image (resized).png

    There are 971 posts in this topic. You are on page 17 of 20.
    #801 4 months ago

    Ok, I am a bit confused.

    I understand that the MPU-200 of Flight 2000 generates the sounds by controlling the sound generator on the sound board SB-300 directly.
    So Lisy35 cannot control this since J5 is not implemented and therefore one must use a pHat sound card.

    Since the sounds are programmed by the MPU I cannot seem to record them using Pinmame on a PC.
    Therefore I have no samples (except for speech which I found here : http://pinmame.retrogames.com/downloads.html)

    Reading the documentation it seems sounds can be emulated using Pinmame.
    On page 12 the dip switch table indicates that setting S1-dip2 and S1-dip6 to "on" will activate pinmame sound emulation using the internal pHat sound card.
    But page 13 (and 26) states that S1-dip6 "on" will start Lisy control instead of Pinmame.

    When setting S1-dip6 to "on" on my board Pinmame starts but there is no sound (except the welcome message).

    Am I assuming or doin something wrong here ... ?

    #802 4 months ago
    Quoted from Cheddar:

    I had a request for a Robo War dip file

    file name: 055_lisy80_dips.csv

    thx, added to next LISY

    #803 4 months ago
    Quoted from Zigzagzag:

    I have now assembled my Flight 2000 and have it booting with Lisy35 SMD.

    According to the lisy_35_displays.php it says "This game has 5 display with 6 digits".
    But Flight 2000 has 4 x 7 + 1 x 6 display.
    So now the first digit of the 7 digit displays is stuck on at all times.
    I know this is not a display fault - new boards from pinballsolutions.eu, and they behave correctly during boot.
    Is this a setting somewhere ?

    Yes, it is a parameter in /lisy/lisy35/cfg/lisy35games.cfg which seems to be wrong for Flight 2000
    I have updated the user manual, have a look to chapter 15.4
    https://lisy.dev/media/files/lisy_user-manual_v5.27-67.pdf

    So changing the line
    83;flight2k;Flight 2000;5000;0;0;Stern;
    to
    83;flight2k;Flight 2000;5000;1;0;Stern;

    Should fix your display issue.
    Please let me know if it helped and I will change the default

    #804 4 months ago
    Quoted from Zigzagzag:

    Reading the documentation it seems sounds can be emulated using Pinmame.

    Pinmame sound never worked as it should, so I decided to discontinue it.
    I deleted the dip settings dip2 & dip6 from latest user manual.

    What you are reffering to is what I call 'internal sound' where soundnumbers mapped to soundfiles on the LISy SD card
    Have a look to chapter 13.5 how to do that with LISY35

    So set only dip2 to ON and if you can hear the welcome message your basic soundcard config is working.
    For Flight2000 (internal number 83) you will need to create a mapping file /lisy/lisy35/sounds/083_lisy35_sounds.csv and
    create a subfolder '083' where you place you own soundfiles.
    If LISY could not find a valid mapping file it will deactivate the internal sound option!

    #805 4 months ago
    Quoted from bontango:

    Pinmame sound never worked as it should, so I decided to discontinue it.
    I deleted the dip settings dip2 & dip6 from latest user manual.
    What you are reffering to is what I call 'internal sound' where soundnumbers mapped to soundfiles on the LISy SD card
    Have a look to chapter 13.5 how to do that with LISY35
    So set only dip2 to ON and if you can hear the welcome message your basic soundcard config is working.
    For Flight2000 (internal number 83) you will need to create a mapping file /lisy/lisy35/sounds/083_lisy35_sounds.csv and
    create a subfolder '083' where you place you own soundfiles.
    If LISY could not find a valid mapping file it will deactivate the internal sound option!

    Ok, I understand.
    I have basic soundcard working, so that is fine.

    But in this case - since there is no sound command sent to the soundcard there are no mappings to be made (except for the speech which is a separate card).
    The MPU programs the sound chip directly via J5 as far as I understand :

    https://ikehamill.com/2021/04/17/controlling-the-sb-300-with-b-sos-hardware/
    http://www.pinball4you.ch/okaegi/rep_soundsb300.html

    It does not send sound commands to the sound card, but programs the sound chip directly as I understand it.
    Therefore capturing sounds in the "traditional" way using Pinmame (https://www.vpforums.org/index.php?app=tutorials&article=54) does not seem to work.

    So the only option left is to use the sound emulated by Pinmame.
    Would it be possible for me to build Lisy from source including the emulated sound ?
    I have some exceperience with this sort of work.

    #806 4 months ago
    Quoted from Zigzagzag:

    So the only option left is to use the sound emulated by Pinmame.
    Would it be possible for me to build Lisy from source including the emulated sound ?
    I have some exceperience with this sort of work.

    The code is still there, but the problem is that LISY is running on Unix and the pinmame sounddriver
    for Unix are outdated and as said give poor quality.
    I tried update them severall times but failed its mainly a timing problem.

    Quoted from Zigzagzag:

    But in this case - since there is no sound command sent to the soundcard there are no mappings to be made (except for the speech which is a separate card).

    Not sure, I had a short look to the pinmame source for 'SNDBRD_ST300V' which is the internal code for the Flight2000 SB
    and it looks like there is send some data, only missing is the link to LISY. Idid similar with LISY for Williams (APC)
    I will check tomorrow if I can add the mapping to the development LISY, let you know

    #807 4 months ago
    Quoted from bontango:

    Yes, it is a parameter in /lisy/lisy35/cfg/lisy35games.cfg which seems to be wrong for Flight 2000
    I have updated the user manual, have a look to chapter 15.4
    https://lisy.dev/media/files/lisy_user-manual_v5.27-67.pdf
    So changing the line
    83;flight2k;Flight 2000;5000;0;0;Stern;
    to
    83;flight2k;Flight 2000;5000;1;0;Stern;
    Should fix your display issue.
    Please let me know if it helped and I will change the default

    Yes, displays are correct after doing the change described here.

    #808 4 months ago
    Quoted from Zigzagzag:

    Therefore capturing sounds in the "traditional" way using Pinmame (https://www.vpforums.org/index.php?app=tutorials&article=54) does not seem to work.

    I dumped pretty much all the F2K sounds (including speech) for a project I was doing some time ago (which I later dropped). PM me your email address and I'll send you a zip file with them in. You'll need to put them in the right place and probably rename them for Lisy (not looked at how this works) but you should have all you need.

    #809 4 months ago

    It seems Flight 2000 is running at 1/2 speed, very sluggish and slow as noted by koji
    Is there any way to remedy this ? Using a beefier Pi or something ?

    #810 4 months ago
    Quoted from Zigzagzag:

    It seems Flight 2000 is running at 1/2 speed, very sluggish and slow as noted by koji
    Is there any way to remedy this ? Using a beefier Pi or something ?

    There are Clockscale and Throttle settings in a config file that can affect playback speeds. I had to fiddle with them to get playback right on a Gottlieb joker poker. I have described what I did in this thread above.

    #811 4 months ago

    Zigzagzag
    Had a closer look today and looks more complicated then I though plus the 'speed' problem which I think is with games with MPU200 in general.
    ( not sure if it can be solved by adjusting throttle value, but worth a try)
    SORRY, but as it will eat more time I need to put this 'on my TODO list' for now, as I'm working on finalizing 'GottFA1' and the 80B display at the moment.
    I will come back to the issue ASAP, but please you remind me again if you do not hear in 2-3 weeks time!

    #812 4 months ago

    bontango, no problem, let me know if you need more info or if I can help in any way

    #813 4 months ago
    Quoted from bontango:

    Zigzagzag
    Had a closer look today and looks more complicated then I though plus the 'speed' problem which I think is with games with MPU200 in general.
    ( not sure if it can be solved by adjusting throttle value, but worth a try)
    SORRY, but as it will eat more time I need to put this 'on my TODO list' for now, as I'm working on finalizing 'GottFA1' and the 80B display at the moment.
    I will come back to the issue ASAP, but please you remind me again if you do not hear in 2-3 weeks time!

    I set the throttle value to 1000 and it helped, but not sure if the timing is as in the original. I'll test some more and see how it behaves.

    #814 4 months ago
    Quoted from Zigzagzag:

    I set the throttle value to 1000 and it helped, but not sure if the timing is as in the original. I'll test some more and see how it behaves.

    Quoted from Cheddar:

    OK here is my findings on joker poker to get the correct chime timing:
    On PZW
    Throttle: 1750
    Clockscale: 110
    On PZ2
    Throttle: 1750
    Clockscale: 80

    You can see how sensitive the Clockscale settings are. I believe Throttle starts at 3k and Clockscale at 1k

    #815 4 months ago
    Quoted from Cheddar:

    You can see how sensitive the Clockscale settings are. I believe Throttle starts at 3k and Clockscale at 1k

    Clockscale is with LISY1 only at the moment, I will check if adding clockscale to Stern helps ...

    #816 4 months ago
    Quoted from Cheddar:

    You can see how sensitive the Clockscale settings are. I believe Throttle starts at 3k and Clockscale at 1k

    Throttle down to a 100 now (from 5000), and the game is still way too slow compared to online videos - easy to see when comparing the score displays flashing on/off during game play and in the bonus countdown.

    #817 4 months ago

    short info for users of my FPGA boards ( BallyFA & GottFA ) !!!

    Intel has discontinued support for Cyclone II FPGAs, as a result the software version 13.0sp1
    needed for programming & develop software for these devices is not available for download anymore.

    However I have tried latest version (21.1) of the lite version of 'Standalone Programmer'
    and it looks like at least the programmer do still support these old devices
    I will update the links for software download in the documentation ASAP

    btw: Finally I managed to get the prototype FPGA Gottlieb System1 replacement board 'GottFA1' running
    https://lisy.dev/gottfa1.html
    I'm working on v1.0 now which should be availabe for download end of Jan, beginning of Feb!

    #818 4 months ago

    bontango - Awesome project! I've been following this since you first announced and finally got around to trying it out. Version 21.1 does work for programming the FPGA as you said. I'm working with the Bally FPGA currently and man it's everything I'd hoped for. I'll have to reconsider my position on rehabbing all these original boards.

    Question:
    I'm assuming the small +5v and GND points near the power jack of the FPGA was meant to install a pigtail for the power to the FPGA?

    Statement:
    I have noticed display flickering with LED Displays, not sure if it's refresh rate or what but I'll play around some more and see what happens.

    #819 4 months ago
    Quoted from perry1670:

    Question:
    I'm assuming the small +5v and GND points near the power jack of the FPGA was meant to install a pigtail for the power to the FPGA?

    Yes

    Quoted from perry1670:

    Statement:
    I have noticed display flickering with LED Displays, not sure if it's refresh rate or what but I'll play around some more and see what happens.

    You may want to try v1.15 which I have currently in testing.
    Changes are around interrupt handling and display refresh ...
    http://flipperkeller.de/lisy/BallyFa_115.pof

    #820 4 months ago

    Good deal,

    I'll give the trial software a run and report back.

    #821 4 months ago
    Quoted from bontango:

    Yes, there is an option for eagle export. I did that for a few users but from the feedback looks like importing them in Eagle is not an easy task.
    Its not about earning money, but I'm a bit hesitant to put the eagle exports on my website.
    What are you planing to do? If you have ideas for improvements let me know and I will try to implement them, with this all users can benefit.

    Sorry for the delay.

    I am looking to add mounting holes for a full sized PI, Swap out the PICs for some Arduino compatible alternatives to have access to libraries for more peripherals. I'm sure someone with programming skills can handle the PICs but I'm not as fluent. I also haven't done card edges before on PCBs.

    #822 4 months ago

    bontango I just noticed the "aooo" sound when the ball goes down to the level under the playfield in this video :


    It is sound #13 in the samples folder - but it does not seem to be triggered on my board ?

    #823 4 months ago

    The PICs are backordered on Digikey until May.

    Any recommended sources in the US?

    #824 4 months ago
    #825 4 months ago
    Quoted from Zigzagzag:

    It is sound #13 in the samples folder - but it does not seem to be triggered on my board ?

    for generell testing on Gosof you can jumper K2 to #13 ( 10110 ) and push input test, worked for me
    If it works but not in the game it might be the same problem as with the 'wind' ...
    btw: did you set DIP6 of 'SB Options' to ON ?

    #826 4 months ago

    Not US but not the worst wait.

    10 items will ship on 22-Jan-2022 from Thailand and arrive on 25-Jan-2022

    #827 4 months ago
    Quoted from bontango:

    for generell testing on Gosof you can jumper K2 to #13 ( 10110 ) and push input test, worked for me
    If it works but not in the game it might be the same problem as with the 'wind' ...
    btw: did you set DIP6 of 'SB Options' to ON ?

    DIP6 of "SB options" is on and setting K2 to 10110 and pushing test gives the right sound.

    When I flashed firmware 0.9 I just flashed "on top" of the old one.
    Should the old one be erased first like on EPROMs ?

    #828 3 months ago

    <ignore this post, I fixed it!>

    #829 3 months ago

    Was thinking of making displays but wanted to see if I could find pink led 7 segment displays.

    #830 3 months ago
    Quoted from Zigzagzag:

    When I flashed firmware 0.9 I just flashed "on top" of the old one.
    Should the old one be erased first like on EPROMs ?

    The FPGA programmer do erase the old one automatically before flashing the new version
    I'm working on v0.7 at the moment, let you know ...

    #832 3 months ago
    Quoted from northvibe:

    Was thinking of making displays but wanted to see if I could find pink led 7 segment displays.

    White displays and pink light gels/filters?

    #833 3 months ago

    Still strobing on displays with Bally 115.fop.

    LED displays so maybe the older Plasmas would react differently. I don't have any at the moment to test unfortunately.

    #834 3 months ago
    Quoted from perry1670:

    Still strobing on displays with Bally 115.fop.

    what type of LED displays do you use?
    Can say that my own Bally LED displays working fine with BallyFA
    https://lisy.dev/bally-7digit.html

    #835 3 months ago
    Quoted from Zigzagzag:

    DIP6 of "SB options" is on and setting K2 to 10110 and pushing test gives the right sound.

    can you try with version 0.7 please?
    I did 'optimize' the SC01 simulation and found that DIP6 was not configured correctly
    http://www.flipperkeller.de/lisy_dev_sw/GOSOF/GOSOF80/v2.1/

    btw:
    v0.7 has also some (very experimental!) new speech version. Not based on wav files but 'produced' on the fly
    based on a FPGA library for the speech chip SP256. It is activated by setting DIP1 of options DIP bank to ON.
    Attract Mode speech and speeches in self test working with this.
    You may want to give it a try.

    #836 3 months ago
    Quoted from bontango:

    can you try with version 0.7 please?
    I did 'optimize' the SC01 simulation and found that DIP6 was not configured correctly
    http://www.flipperkeller.de/lisy_dev_sw/GOSOF/GOSOF80/v2.1/
    btw:
    v0.7 has also some (very experimental!) new speech version. Not based on wav files but 'produced' on the fly
    based on a FPGA library for the speech chip SP256. It is activated by setting DIP1 of options DIP bank to ON.
    Attract Mode speech and speeches in self test working with this.
    You may want to give it a try.

    Version 0.7 displays the same behaviour - no sound when going down, and the wind sound stops when interrupted by speech - and doesn't commence.

    Here's a video with DIP1 options on : https://www.dropbox.com/s/kduw8rvke9132vm/2022-01-20%2021.04.16.mp4?dl=0

    There is some speech during attract, but it's difficult to tell what it says.
    There are artifacts of speech during the game as you can hear.
    When going down, there is no down sound, no wind sound and no speech.

    #837 3 months ago
    Quoted from Zigzagzag:

    There is some speech during attract, but it's difficult to tell what it says.

    yep as said this is very experimental ... thx for testing

    I have uploaded 071, can you pls. make a short 'wind' test (DIP1=OFF)? I do not expect that it works, but just in case the
    board reacts in a real game during play different from my tests on the desk

    #838 3 months ago
    Quoted from Pinash:

    White displays and pink light gels/filters?

    OHHh yeah forgot about the gels. Hopefully they make those. Was looking for a bally playboy for a friend and I think pink displays would go nicely. I did red for his bally kiss.

    #839 3 months ago
    Quoted from bontango:

    yep as said this is very experimental ... thx for testing
    I have uploaded 071, can you pls. make a short 'wind' test (DIP1=OFF)? I do not expect that it works, but just in case the
    board reacts in a real game during play different from my tests on the desk

    Well .... good news and bad news

    The "ooaa" sound going down now works - but now there is no wind ...
    Not sure if there's speech "down there", I don't really know when it is triggered ?

    #840 3 months ago

    OK, I managed to emulate it 'on the desk' and saw that wind (#22) is triggered first and then 'ooa' (#13).
    However there are only 2ms between the two commands, so the FPGA is missing #13.
    I will try to queue it which should solve the problem

    Quoted from Zigzagzag:

    Not sure if there's speech "down there", I don't really know when it is triggered ?

    That would be my next question what actions I have to simulate to get a 'speech' at the lower deck?

    Latest findings:
    The main problem is that the 'wind' sound (#22) is not a speech via SC01 but an 'internal' sound and it looks like
    my FPGA emulation does have problems with this sound. The speech with the MP3 is only a workaround.

    I tried latest pinmame and saw that in "manual sound command mode" the 'wind' also do not work.

    So my theory is that 'something' is different between emulation ( either pinmame or FPGA and the real hardware)
    I know that it was the case with the Pink Panther soundprom which used undocumented 6503 opcodes.

    Anyone knows if the 'wind' does work in visual pinball? as it is based on pinmame shouldn't work their either!
    ANY HELP APPRECIATED

    #841 3 months ago
    Quoted from bontango:

    OK, I managed to emulate it 'on the desk' and saw that wind (#22) is triggered first and then 'ooa' (#13).
    However there are only 2ms between the two commands, so the FPGA is missing #13.
    I will try to queue it which should solve the problem

    That would be my next question what actions I have to simulate to get a 'speech' at the lower deck?
    Latest findings:
    The main problem is that the 'wind' sound (#22) is not a speech via SC01 but an 'internal' sound and it looks like
    my FPGA emulation does have problems with this sound. The speech with the MP3 is only a workaround.
    I tried latest pinmame and saw that in "manual sound command mode" the 'wind' also do not work.
    So my theory is that 'something' is different between emulation ( either pinmame or FPGA and the real hardware)
    I know that it was the case with the Pink Panther soundprom which used undocumented 6503 opcodes.
    Anyone knows if the 'wind' does work in visual pinball? as it is based on pinmame shouldn't work their either!
    ANY HELP APPRECIATED

    Looking at this video at 1:30 :

    where the ball goes down.
    Here the sequence is approximately :
    - down sound
    - wind
    - speech "Complete bank for reentry"
    - wind
    - speech "Capture ball"(or something)

    At 5:16 :

    there is the same sequence

    I noticed the sirenlike sound when the ball is on it's way up is missing in Gosof as well.
    There is only wind (or silence if interrupted by speech).

    #842 3 months ago
    Quoted from northvibe:

    OHHh yeah forgot about the gels. Hopefully they make those. Was looking for a bally playboy for a friend and I think pink displays would go nicely. I did red for his bally kiss.

    They have kits with assorted colors or you can just go pink.
    amazon.com link »

    #843 3 months ago
    Quoted from Zigzagzag:

    Looking at this video at 1:30 :

    OK, got it.

    Two possibilities now:
    1) change the coding on the FPGA to have a FIFO for sounds coming in 'quick' and code some rules where the 'wind'
    is started again after cancelled by pecific speeches on the lower playfield
    2) fix the soundboard emulation bug with the 'wind'.

    Solution 2) would be my prefferred one but finding the bug will not be easy as I have to go down to 6502 assembly language.
    Will try it a few days and if not succesfull code solution 1) as a workaround.

    let you know

    1 week later
    #844 3 months ago

    I was having occasional Error 11 on a Lisy1 board. Spoke to bontango about it and he said it's an IC2 issue and that the pi was not able to communicate with 1 of the PICs and it's a timing issue. To correct this issue follow these instructions:

    On Lisy v5.28 you can try to set the i2c speed in config.txt on the SD card to 100KHz

    #set I2C baudrate fix to 200KHz (bug in PI3?)
    #dtparam=i2c_arm=on,i2c_arm_baudrate=200000
    dtparam=i2c_arm=on,i2c_arm_baudrate=100000

    #845 3 months ago

    It took a bit to get back around to this project but I think I found the issue. The link you had posted to the bally 115.pof is actually labeled a 113.pof when you download it. I'm thinking it's the same file and not the updated 115.

    http://flipperkeller.de/lisy/BallyFa_115.pof

    #846 3 months ago
    Quoted from perry1670:

    The link you had posted to the bally 115.pof is actually labeled a 113.pof when you download it.

    ups, happens sometimes when I cut & paste and correct afterwards

    Quoted from perry1670:

    but I think I found the issue.

    so your displays are OK with v115 ?

    btw: I have started to build a repository with alle my docs & software.
    You find BallyFA software here http://www.flipperkeller.de/lisy_dev_sw/BallyFA/software/

    #847 3 months ago
    Quoted from Zigzagzag:

    where the ball goes down.
    Here the sequence is approximately :
    - down sound
    - wind
    - speech "Complete bank for reentry"
    - wind
    - speech "Capture ball"(or something)

    as I was not able to find the bug in the emulation why the 'wind' is not playing, I did implement it
    as a 'speech' (long played wav file) and coded some extra rules for Black Hole Wind

    -> when wind is playing and interrupted by another 'speech' it will be restarted after the speech is finished,
    EXCEPT for #3(Tilt), #15(Slam Tilt), #26 and #27 reentry accomplished/failed

    Can you please test v0.8 and let me know if it works for you?
    http://www.flipperkeller.de/lisy_dev_sw/GOSOF/GOSOF80/v2.1/

    #848 3 months ago

    Does anyone have a BADI35 or Bally Lamp, Sound, & Solenoid Tester they would trade for a GOD1/80?

    #849 3 months ago
    Quoted from bontango:

    as I was not able to find the bug in the emulation why the 'wind' is not playing, I did implement it
    as a 'speech' (long played wav file) and coded some extra rules for Black Hole Wind
    -> when wind is playing and interrupted by another 'speech' it will be restarted after the speech is finished,
    EXCEPT for #3(Tilt), #15(Slam Tilt), #26 and #27 reentry accomplished/failed
    Can you please test v0.8 and let me know if it works for you?
    http://www.flipperkeller.de/lisy_dev_sw/GOSOF/GOSOF80/v2.1/

    Well ... now there is enough wind, at least.
    It never stops ...

    Summary :

    - no "down" sound
    - wind starts and keeps going (when going downstairs)
    - no speech (not downstairs and not when going upstairs, no "reentry attempt ...")
    - wind continues even after going upstairs (other sounds play fine, but no speech)
    - wind continues after game ends

    Let me know if there's other things I need to test.

    #850 3 months ago
    Quoted from Zigzagzag:

    Let me know if there's other things I need to test.

    works for me on the bench, can you double check if you used v08?
    If yes, can you check sound with LISY_control?

    There are 971 posts in this topic. You are on page 17 of 20.

    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, become a Pinside+ member!