(Topic ID: 136087)

My Sys80/B replacement mainboard project - want to join?

By Fabrz71

6 years ago


Topic Heartbeat

Topic Stats

  • 39 posts
  • 13 Pinsiders participating
  • Latest reply 1 year ago by Grangeomatic
  • Topic is favorited by 13 Pinsiders

You

Linked Games

Topic poll

“What do you think about a programmable replacement mainboard ?”

  • really interesting! I'd like to have one to hack my machine! 4 votes
    100%
  • mmm... would you provide the ROMs files of my GTB pin ? (no, you can't) 0 votes
  • mmm... you should consider other mainboards 0 votes
  • mmm... too difficult to use (needed Arduino programming skills) 0 votes
  • it's interesting only for few tech-sicked guys 0 votes
  • it's a useless gadget 0 votes

(Multiple choice - 4 votes)

Topic Gallery

View topic image gallery

IMG_20200407_083224 (resized).jpg
IMG_20151128_092527.jpg
IMG_20151101_233656.jpg
sys80b_prb_rev1.jpg
pcb.png
IMG_20150729_200245.jpg
sys80b.jpg

#1 6 years ago

Hi!
I'm a newbie here and I would like to present you a project of mine and see what's interest about it in the pinball community. Hoping I'm not off-topic here.
Last fall I bought a broken pinball for a good price... my first and only pinball by now. For many years I've got fascinated by pinballs since I was a teen, with all their mechanisms and lights, but I couldn't ever get one by hands. Now that I finally got my piece of hardware, my interest is more focused on what's inside the pinball and its tech. The pinball is a Gottileb "Big House" (not a great pinball in fact), it was completely disassembled and in great need of a restore. But it offered all the electronics and electromechanicals I was strongly curious about.
With a lot of time and patience (although I have not a lot of spare time), I completely restored the pin having a lot of fun, and it's fully working now.
But it all was not enough for me. I begun to brood what about tricking with the electronics inside it.
I realized the Gottlieb System 80/B motherboard is based on a 6502 CPU which I've already appreciated in the past.
The same days, I was discovering Arduino prototypal boards and their interesting potentials (www.arduino.cc).
So I started to think at the feasibility and working around a quite ambitious, stimulating, amatorial project... a replacement Sys80/B mainboard, based on an advanced Arduino board with the following features:
- complete 8-bit hardware emulation, included 6502 CPU, 3 RIOT (Ram, I/O, Timer) 6532 chips, ROM, RAM and some additional glue-logic
- universal Sys80/B board: just load the original ROMs data on a SD flash memory and play it!
- full hardware compatibility with Gottlieb Sys 80/B pinballs, which makes the board ready to plug-in as an alternative of the original mainboard
As a possible (simpler) side-projectis is a fully programmable board which allows to play an existing pinball with new customized rules.
That kind of board would be assembled around a simple and more cheap Arduino Boards like the UNO or the ZERO, given a sufficient number of GPIO expanders to cover all the I/O signals required by the pinball.
I've already done a lot of work on my own only for my personal pleasure, spending a lot of hours in several trials, some frustration, documentation views and "re-works" on failures.
Up to now I've completed a pre-prototype on breadboard, using an Arduino DUE board, a SD reader (on which to put the ROMs files) and 23S17 GPIO SPI expanders. The Arduino software is almost completely developed, showing that the DUE's performances can allow a 60-70% code execution speed of the real 6502 CPU.
I've begun to see first signs of life of the creature (light output signals seems to be ok although not yet tested on the pinball), although I'm still far from proving the full functionality of the board.
Now I'm on the next step, working on a PCB project for a replacement board ready to plug in the pinball, in order to proceed with tests and further development.
I'd like to receive your feedback / suggestions / ideas about the project, and see if there's anybody interested in the development and testing the board.
Thankyou for your attention!

sys80b.jpg

IMG_20150729_200245.jpg

2 weeks later
#2 6 years ago

In fact my progress is slow and full of pitfalls... It's really a challenging, interdisciplinary project and I'm doing all the work by myself as amatorial activity in my little spare time. I'm open to other enthusiasts' contribution anyway!

The crazy aspect is that there's no preliminary certainty the DUE has sufficient power to do all what it should do! That is.. 6502 emulation, three 6532 RIOT chips emulation, RAM, ROM (on microSD) and other on-board glue-logic.. all in real-time.

It should be a lot easier to write the control software from scratch with the specific game rules by hand... but the board would then work only for that pinball game with no chance to update the PROM inside it to play another pin.

And all my work is mainly for the sake of experimentation and strong passion for pinballs and electronic systems...

The progress now is:

- a breadboard based mainboard based on an Arduino DUE and some additional I/O logic (MCP23S17, voltage level translators, microSD card reader) and some leds as well (solenoids, sound and lights outputs)

- the real hard part: full emulation software for the DUE... partially working with still some bugs to fix. The 6502 cpu emulation runs at about 66% of the real cpu... and I fear it could be a problem.

- (almost completed) 90% PCB design of the mainboard, ready to plug in the pinball top - then I will order first test samples through easyeda.com service

The only way I'm testing the board is through a PC connected to the DUE's USB port, reading the serial text output coming from the board, and some leds.

The board is still going under a minor review before completing the PCB design and send it for production.

Before having by hands the PCB that will allow me to test it directly plugged in the machine, the lights outputs seems to work correctly but the display data does not seem to be ok (with partial string transfer... why?). And about the strobes, only the first line out of 8 outputs a regular periodic signal (with no return input signals).

More news will follow.. and remember: others' contribution is welcome!

#3 6 years ago

*Code* Emulation is real difficult for CPU's. Not only to get the emulation correct and fast enough but you also need to get the small timing loops to run at the right speed. This is why Pascal and NiWumf run new code rather than emulation.
Hardware emulation - now that is different. You can fit CPU, 6532s and other stuff into a small FPGA and emulate the hardware instead of the software, that makes software emulation a non-problem. FYI -- 6502's are still made but the 6532s are not and current mfr wants 'somebody' other than them to pay the $50K NRE and setup charges. If they could/would remake the 6532s - the Gottlieb CPU redesign would be trivial.

Suggestions --
The edge connectors on that board are obsolete (both single sided and double sided). Add an alternative connection method for future when the connectors get harder to obtain.
Also, never rely on simple 0.156" connectors for power - they are unreliable. Add screw terminals as an alternative and you will always have access to a reliable power connection.

#4 6 years ago

Thankyou for your interesting contribute GPE! You surely have a knowledge I miss as I'm a simple electronics amateur.
About my *amatorial* project - based on a general purpose Arduino DUE although I guess it's not the best choice for a serious project - I'm optimistic about correct code emulation as I fixed & tested the emulator for long through specific 6502 test routines.
But about the timings, although 6532 timers are emulated through the DUE's internal timers, the timings of 6502 code execution surely is not accurate and I fear that could lead to unsolvable functional problems.
What do you mean with "$50K NRE and setup charges"? ... Royalties? Please explain to me. I'm sorry my english is still poor
Thank you very much for your suggestions. I'm designing a board with edge connections with 0.156" copper pads, ready to plug in the machine (see the attached pic: WIP!). The idea of screw terminal is very good especially for power cables for which I will consider an on-board alternative connection.
I'm going to release more project details soon.

pcb.png

#5 6 years ago

GPE... I've just googled about "NiWumpf" and "Pascal pinball" you mentioned, discovering those great ready-to-use products I haven't been aware of!
Anyway, it revamped the idea of mine of a simpler project based on a cheap software-emulation replacement board with no included game-software: users have to write their own custom software (related to a specific pinball game) - on some fundamental code library - and feel free to share it. But I guess it could be only a toy for few pin-hackers
Coming back to my project, it has born for personal interest that I started mainly for curiosity and for the sake of it, exploring the potential applications of the DUE at its most. Possible later economical chances wouldn't be so bad although I do not seriously rely on those.
I will continue to explore the possibility of a CPU-emulation replacement board until I will be convinced enough (hope not) it's a dead end way.
Thanks again, hope to read you again!

1 month later
#7 6 years ago

HI,
Great idea !!!
I have start the same project for a SYS1 board on 2013 but never ending it
I have choose big CPLD for maximum Logic for replace old IC
Atmel mega2560 like arduino mega
I have make the board but never sold the components !!!! and also buy an ISP programmer
Not an emulation but write new code for same play rules for all Sys1 models. I have write some parts of the code

http://www.flipperfrance.com/index.php?threads/cpu-systeme-1.12148/page-2

Today i have created a sound board adapter for replace 6530/6503 by 6532 - 6502 with full game eprom (sys1/sys80 and some sys80A) . This board is finished and some pinball in my collection are now with Sound

http://img11.hostingpics.net/pics/31820720150918075058.jpg

Regards

#8 6 years ago
Quoted from CSAUV:

Today i have created a sound board adapter for replace 6530/6503 by 6532 - 6502 with full game eprom (sys1/sys80 and some sys80A) . This board is finished and some pinball in my collection are now with Sound
img11.hostingpics.net/pics/31820720150918075058.jpg
Regards

Wow, an IC adapter for that sound board has been sorely needed because of the chips that are no longer available.

Will you be making the design available for download or selling the adapter?

#9 6 years ago

A new board with game code rewritten to take advantage of more modern hardware and greater memory would be nice. Better and/or more diagnostics would be nice too.

How about a 20 x 4 LCD display on the board to allow detailed diagnostic messages?

http://www.digikey.com/product-search/en/optoelectronics/display-modules-lcd-oled-character-and-numeric/524437?k=73-1249-ND

#10 6 years ago
Quoted from ForceFlow:

Wow, an IC adapter for that sound board has been sorely needed because of the chips that are no longer available.
Will you be making the design available for download or selling the adapter?

Where do you live ? me in France
Today i have some PCB but with a mistake (my first release). Just need to cut a line and add one wire for solve this mistake.
OK for Sys1 or SYS80 with my full 27C512.
I need to solve another bug for my sys80a selection dip switch (adress rom program select). need to change the eprom for Sys80A
After that i release the board to the B version and launch another little production.

The original idea is to have a simple board to adapt several version (sys1 without cut heater or sys80 or Sys80A) and choose to replace the 6503 by 6502 or not, the 6530 by 6532 with eprom, or both in same time like you want.
Without plugin on socket but directly by unmount old IC and weld the adapter in place. (like SYS80a piggyback)

i estimate the board full equiped to 55$, Pcb alone to 12$

regards

#11 6 years ago

Very interesting project that I shall be following closely as I am starting a SYS1 controller project using a Raspberry Pi.

BTW it doesn't look as if you have enough connectors to do both banks of displays or is that intentional?

Good luck!

#12 6 years ago

I'm in the US...shipping would be a small fortune.

#13 6 years ago
Quoted from ForceFlow:

I'm in the US...shipping would be a small fortune.

Effectively, but it's depend for the quantity, PCB alone or equipped.
Even if you have the Eagle files, you must pay for make the PCB.

#14 6 years ago

This is a great project! I wish someone would consider doing this for Allied Leisure games. There is no aftermarket MPU, and the original board also uses custom 6530's that are no longer available. Owners that cannot get the custom chips to repair their boards are out of luck.

Allied Leisure games were made in the late 70's, were very simple--early solid state games, and all their games used the same MPU. An Arduino or Pi controlled Allied game would probably be easier to learn to develop than a Sys 80, b/c they only had a few controlled lights, switches and solenoids, and the rules were really simple.

#15 6 years ago
Quoted from KenH:

This is a great project! I wish someone would consider doing this for Allied Leisure games. There is no aftermarket MPU, and the original board also uses custom 6530's that are no longer available. Owners that cannot get the custom chips to repair their boards are out of luck.
Allied Leisure games were made in the late 70's, were very simple--early solid state games, and all their games used the same MPU. An Arduino or Pi controlled Allied game would probably be easier to learn to develop than a Sys 80, b/c they only had a few controlled lights, switches and solenoids, and the rules were really simple.

How true this is. There are absolutely NO replacement boards for Allied Leisure. A modern board could be made with much more diagnostics and have the game rules improved (think attract mode light show).

#16 6 years ago
Quoted from KenLayton:

How true this is. There are absolutely NO replacement boards for Allied Leisure. A modern board could be made with much more diagnostics and have the game rules improved (think attract mode light show).

At least John's Jukes still says they repair the generation 2 boards.

For the early Allied Leisure games, there are 10 unique circuit boards (plus the displays) and 12-14 boards total in each game, John's site says they don't have a test rig to perform repairs on them, unfortunately. It's going to be an adventure when I start diving into troubleshooting those boards that are in the game I have.

http://www.pinwiki.com/wiki/index.php?title=ALI/Fascination_Repair#Generation_1

#17 6 years ago
Quoted from KenLayton:

(think attract mode light show).

That'd be really cool.

As it is, you can't even try to hack the 'ROMs' to add something like a light show, since they're trapped on those 6530's, and not accessible like on a Bally on 2732's.

I'm pretty sure these aren't emulated on PinMame either--probably because no one has been able to get the code off the 6530's.

#18 6 years ago
Quoted from ForceFlow:

At least John's Jukes still says they repair the generation 2 boards.

John fixed a board of mine in the '90's (Hearts&Spades). Its still going strong. Thanks John!!!

Per John's recommendation for longevity to keep the board operational, I replaced the 5v supply with an old PC power supply, and added heat sinks (those kind that slide under the chip) to all the socketed chips.

#19 6 years ago
Quoted from KenH:

That'd be really cool.
As it is, you can't even try to hack the 'ROMs' to add something like a light show, since they're trapped on those 6530's, and not accessible like on a Bally on 2732's.
I'm pretty sure these aren't emulated on PinMame either--probably because no one has been able to get the code off the 6530's.

normally the ROM of the 6530 can be read !! by select the ROM with RS0 to Low and CS2 to High
increase adress from 0 to 3FF, read Data bus.
of course with a IC in good condition.

2 weeks later
#20 5 years ago
Quoted from CSAUV:

HI,
Great idea !!!
I have start the same project for a SYS1 board on 2013 but never ending it
I have choose big CPLD for maximum Logic for replace old IC
Atmel mega2560 like arduino mega
I have make the board but never sold the components !!!! and also buy an ISP programmer
Not an emulation but write new code for same play rules for all Sys1 models. I have write some parts of the code
ww.flipperfrance.com/index.php?threads/cpu-systeme-1.12148/page-2
Today i have created a sound board adapter for replace 6530/6503 by 6532 - 6502 with full game eprom (sys1/sys80 and some sys80A) . This board is finished and some pinball in my collection are now with Sound
img11.hostingpics.net/pics/31820720150918075058.jpg
Regards

My congratulations for your results, CSAUV!
I use to start with great exiting ideas but then I give up near the finish...
...the emulation board is an ambitious project and a technical challenge.
I should share all the work so that anybody could join/complete it (maybe?).
Now my efforts (not many for real - not much time to get in!) focused on a more affordable parallel project: a simulation programmable replacement board for Sys 80/b machines (Vs. an emulation board)... lot of work, lot of material still in progress, both on software and hardware sides... which potential should be more funny. This time I choosed a Teensy 3.x as "core".
It should include a onboard 8x8 led grid (for switch matrix monitoring) and a LCD display (although the pinball display should be the main user interface).
You tan take a look at the PCB here: https://easyeda.com/fabvolpi/Sys80b_PRB-v82kewO60
More infos will follow...

sys80b_prb_rev1.jpg

1 week later
#21 5 years ago
Quoted from KenLayton:

A new board with game code rewritten to take advantage of more modern hardware and greater memory would be nice. Better and/or more diagnostics would be nice too.
How about a 20 x 4 LCD display on the board to allow detailed diagnostic messages?
http://www.digikey.com/product-search/en/optoelectronics/display-modules-lcd-oled-character-and-numeric/524437?k=73-1249-ND

Yes Ken, I considered a LCD display for onboard messages. Thank you!
Following is the first PCB I received from easyEDA... it's a strange, exciting feeling having by hands the real version of what have been a virtual on-screen object for so long!
Note that it is the EMUlation board, the more ambitious project than the SIMulation board.
Now the components soldering work is waiting me... I wish I had more spare time for it!
Comments, suggestions, contributions are welcome.

IMG_20151101_233656.jpg

#22 5 years ago

Personally, I would love the ability to add or change various sound-effects in the games. Would that be possible on your system?

System 80b games have great music (for the time), but most of the games could use some extra/varied speech and sounds. Sampled call-outs would improve my Arena and Excalibur games immensely.

#23 5 years ago

Hi FTZ... I'm sorry but I'm afraid the answer is NO.
What you ask could be done by a replacement sound board, which is not what I'm working on.
(I guess It wouldn't be a complex project using modern low-cost hardware).
I'm not working on the original sound board, which remains unaltered in the machine hardware.
In fact I'm working (very slowly) on two different projects, as you could read above, about a Sys80/B *mainboard* replacement.
The first *emulates* the whole onboard 6502 CPU system and should execute original ROMs code with no behavior differences from the original game.
The second project is a *reprogrammable* main board that would allow to rewrite from scratch the game rules and behavior. Here you could the "calls" of the available sound effects the sound card offers.
I'm afraid you can't play "added" or "changed" sound FXs with an original sound card, unless you discover (possible?) "secret" unused effects the board could reproduce.
Bye!

2 weeks later
#24 5 years ago

What stage are you up to on this project, Fabrz? I think it's a great initiative and hope you can get it working soon?

#25 5 years ago
Quoted from 4_amusement_only:

What stage are you up to on this project, Fabrz? I think it's a great initiative and hope you can get it working soon?

Thank you for your attention CJM.
Well, as you can see in the picture the hardware is almost ready.
About the software, the EMU project is almost ready as well but in need of a general debug (which is not easy without professional equipment) but I lost enthusiasm on this side due to possible timing problems with interrupts and code execution. Read GPE's post above for more informations.
Now I'm working on the software of the SIM project (the smaller PCB, based on Teensy 3.x) which promises to be more easy to get performance from. I'm about at 60% of development (still missing: setting menus, game PROM rules, and further debugging!) and I'm going on quite slowly due to other obligations that took the most of my time
It wouldn't be bad to find someone to help me in the project

IMG_20151128_092527.jpg

2 months later
#26 5 years ago

I was just getting ready to release my 6530 replacement project - was ironing out a bug - that will cover both Gottlieb and Allied Leisure games. It is licensed though and not to put a damper on things here, but the Gottlieb code is internationally protected by Gottlieb LLC with any country that follow international copyright laws - and France is a signatory.

So, if you reproduce these devices they can not legally have any Gottlieb code in them.

There is nothing to stop you from writing your own code to emulate the games though! Niwumpf does their System 1 and System 80 boards by creating their own code so they have a legal board that they then own the complete rights to. Rottendog pays a licensing fee to use Gottlieb code in their boards.

#27 5 years ago

Thank you for the informations Flippers_com. I've already warried about license matters.
But the main problem I'm currently facing with is a permanent lack of time for my beloved project, which requires huge amount of time. Unfortunately I have other priorities and I can't to all on my own.
I still have to test the emulator project... and the simulator project is getting harder and more complex than I expected.
Maybe I will publish electronic details and software sources watching for somebody to share the developement with...

#28 5 years ago

A question arises about licensing...
My Sys/80b Emulator replacement board would be intended for owners of Gottlieb machines with the original mainboard out of order.
Would't be enough to OWN the original ROM set to get the right to use the code inside it exclusively in the replacement board ??
This would overcome the Gottileb licence issue...

1 month later
#29 5 years ago

Yeah how does Fred Swimmer get around the licensing issue?

1 month later
#30 5 years ago

Perhaps Fred doesn't have permission.

Only Rottendog and myself are licensed to provide Gottlieb replacement code. Rottendog can only provide the ROMs as part of their board sales, I can sell any code that is copyrighted by Gottlieb - essentially all their code in other words.

Someone can legally archive their code for thier own use, but they can't provide it to anyone else. So, if for example you have a game and you want to install a new board you can simply transfer the EPROM or ROMs over to the new board. However if you have a bad ROM then technically you should be contacting me for a replacement.

If you are developing a product that ships with Gottlieb code then you need to work it out with me or contact Gottlieb LLC directly.

John :-#)#

#31 5 years ago

I think some aftermarket boards that don't use game-specific EPROMs end up rewriting the game rules from scratch in a manner that's compatible with the new board (Pascal and Ni-wumpf system 1 replacement boards come to mind). In that case, since it's new code and not the original code, it doesn't fall under the manufacturer's copyright. It may fall under a patent (ie, a method to implement game rules), but those have long since expired.

1 week later
#32 5 years ago

A brief update... I'm sorry I couldn't give you updates about my project: the developement is suspended... Job tasks weren't enough: I'm getting married next week
Meanwhile my "big House" pinball also sadly got in troubles... going crazy after few second I switch it on... Maybe a ground issue.
I hope to come back to my pin and my project soon. Always opened to share the developement with whoever interested.
Bye to you all and thanks for your posts.

#33 5 years ago

Congratulations!

3 months later
#34 5 years ago

Hi people,
Due to my chronic lack of time, I'm going to share my work so far, in the hope of attracting somebody's interest and contribution.
As you could have read above, I started the design of both the EMU(lation) and SIM(ulation) replacement board for System 80/B pinballs.
Documentation is still poor but I'm writing an introductory project overview document, introducing both EMU and SIM approaches in designing the replacement boards.
I would also complete the documentation with more detailed informations about the SIM-board to possibly allow anybody to join software and hardware developement and improvement.
(In my opinion the SIM project is the less problematic against the EMU project, although less attractive about its potential).
I think it's an interesting and exciting project and it would be sad for me seeing it die for starvation, considering the advanced developement progress on some parts.
Meanwhile you could take a look to some details of what I've done so far about the SIM board:
- Arduino C/C++ source code for Teensy Board 3.x (https://github.com/fabrz71/sys80b-sim-rb)
- SIM-PRB printed circuit board design (https://easyeda.com/fabvolpi/Sys80b_SIM_PRB-v82kewO60).
Documentation will follow.

#35 5 years ago

Do consider adding pads for alternate connectors such as 0.156" headers with the same pinouts. Note that *ALL* of the 0.156" edge connector plugs that go onto these boards are now obsolete and getting quite tough to locate in any reasonable quantity.

#36 5 years ago

Thanks GPE.
Here is a draft of project overview doc:
https://docs.google.com/document/d/1RE6BeeNJAHuc40C9e44f32ufBQDINiu-w_Pa5TKWBWU/edit?usp=sharing
More specific documentation about SIM PRB to come...

#37 5 years ago

watching your progress,looks good
Mike

3 years later
#38 1 year ago

Hi to all you enthusiasts,

After a very long time, I've come back again as I found the time to continue the previously suspended developement of my Sys80/b PRB (pinball replacement board), with the aim of producing a fully programmable card. All that "thanks" to plentyful spare time available time due to current stop period for coronavirus here in Italy.
I'm now focused on SIM developement approach (which stands for SIMulation Vs. EMUlation) of the board, which involves double HW/SW project. The approach requires programming the board from scratch and doesn't rely on original ROMs code and System 80/B emulation.
The SIM PRB aims to be a fully programmable board, carried with software library for low-level and mid-level basic control functions for old Gottlieb System 80/B pinballs.
Software developement is in C/C++ language under VS.micro IDE, using Arduino framework.

The PRB carries the following interesting components onboard:
- 8x8 led matrix, used to show either current light or switches states
- optional LCD alphanumeric display (16x2, on upper-left side) to display messages
- 10x led strip to show current solenoid outputs
- SD card as non-volatile memory for settings and statistic data

The microcontroller I used is the Arduino compatible "Teensy 4.0" from PJRC, which offerts much power and memory available.
I've running in many troubles and a lot of time to resolve them, much more than expected, spending really a LOT of time and MUCH personal effort... but I can finally see first encouraging results now.
The board software base modules is almost complete although I''ve still have to resolve a "sound commands" issue.
I'm now engaged with #bighouse game (the pinball I own) specific software developement, in order to mimic the original machine behavior.
But I still have to write all the SW and HW documentation... :-/

HW PCB revision: https://easyeda.com/fabvolpi/sys80b-sim-prb-rev2
Arduino C++ software:
- Sys80b PRB driver: https://github.com/fabrz71/sys80b-board
- Sys80b PRB low-level and mid-level software library: https://github.com/fabrz71/sys80b-sim-rb
Youtube very short video:

Just take a look at the actual progress... I'm expecting some encouragement from you to give me the energy to continue.
As well, external collaboration would be always welcome!
Please notice that the picture below shows the current prototype PRB which is incomplete and has undergone several changes.
Hope you appreciate my work, although still incomplete.

IMG_20200407_083224 (resized).jpg
#39 1 year ago

I love all the led diagnostics. Great work on this ambitious project.

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