A
abaxas
Is the Arduino the best solution to all these pinball ideas/problems? Maybe not. Is it an absolute doddle to work with, have a massive open-source community and cost peanuts? Yes. I believe an Arduino MEGA 2560 is more than up to the job of at least replicating what the original Motorola 6800-based MPU does and probably surpassing it with greater reliability and accuracy.
I'm also bit confused about the statement that Arduino is not realtime. Whilst the standard setup/loop of the Arduino IDE is non deterministic there are several projects to create real-time operating systems (RTOS) for Arduino; notable the DuinOS port of the mature FreeRTOS and others, e.g., RTuinOS.
Exactly, the issue can be put more simply. Noting that the arduino is not just a board, it is whole ecosystem.
If you want realtime you ditch most of the core arduino libraries and have to use alpha code. Possible, but you might as well ditch the whole concept of using the arduino IDE and go with something more suitable for the job. Why use something you are not actually using
If you stick with the standard arduino libraries you have a mare over what you can/cant use due to different libraries using the timers and their ability to switch off the avr's interrupts. Noting that in the world of arduino it's a bit of a free for all.
There is simply no 'good' way to implement a pinball machine on the arduino platform unless you ditch what makes and arduino an arduino and go with a different development suite.
However there might be a 3rd way. Why not offload most of the heavy stuff to a different computer/microcontroller and serial/i2c/whateverbus events over to the arduino? That way you could keep the arduino-ness but keep all the heavy stuff away from it.