Help with my 8 player game show buzzer please!

I am trying to fix a friend’s 8-player game show buzzer. I created a “breadboard arduino” and soldered everything to a strip board. I am supplying power via a 9V 0.5A wall wart through a 5V voltage regulator. After plugging it in it’s supposed to flash the 8 LEDs and play a short tune. Then it goes to the main loop. I adapted the tutorial showing how to do several things at once without delay. This assembles a random byte that is sent to 74HC595 shift register controlling the 8 LEDs in a random twinkle pattern. Every lap through the loop it evaluates the twinkle pattern, shifts out the byte and polls a 74HC165 to check if one of the 8 player buttons has been pressed. If anything other than 0x00 is on the '165, it sends that byte to the '595 plays a few notes and holds waiting for a HIGH input from the game reset button (do while input LOW loop). After game reset, it goes back to the twinkle '595/poll '165 loop.
What actually happens is I plug it in, the opening tune faintly plays, the LEDs flash once and then nothing. Dead. I’ve attached the sketch and “As-Built” schematic. Hopefully someone smarter than I can identify where I went wrong. I tried inserting the code between tags but it puts me over the 9000 character limit. I probably could have condensed the twinkle code into something a little more compact but I didn’t anticipate these problems. Lessons learned for next time.

Edna Runner.pdf (63.3 KB)

Runner_Elegant.ino (10.2 KB)

tblake3: attached the sketch and "As-Built" schematic.

I have some questions about that.

If that's going to be an 8-player game, why does it have 8 LEDs, but only seven switches accordingly to the circuit schematics? One player plays the game without having aswitch for himself, or what?

Why are there no pull-resistors connected to any iof the switch-pins? How long are the wires between atmega328 and the switches?

And what's the reason for using a shift register, except complicating hte hardware and the software?

Arduino boards with Atmega328 have 20 pins and you can use 18 of them in your application (except perhas RX/TX pin-0/1 (when using Serial for Debugging output at the same time). So why don't you simply use 8 pins for 8 LEDs and 8 pins for 8 switches?

You like it more complicated than you can handle?

jurs: If that's going to be an 8-player game, why does it have 8 LEDs, but only seven switches accordingly to the circuit schematics? One player plays the game without having aswitch for himself, or what?

There are 8 player switches. I did miss putting the game reset switch on pin 6 as defined in the sketch.

jurs: Why are there no pull-resistors connected to any iof the switch-pins? How long are the wires between atmega328 and the switches?

Pull down resistors R110-R117. There's about 4 or 5 feet between the switches and the Atmega.

jurs: And what's the reason for using a shift register, except complicating hte hardware and the software?

Arduino boards with Atmega328 have 20 pins and you can use 18 of them in your application (except perhas RX/TX pin-0/1 (when using Serial for Debugging output at the same time). So why don't you simply use 8 pins for 8 LEDs and 8 pins for 8 switches?

You like it more complicated than you can handle?

It seemed like a good idea at the time. Looking back at it now, I can't recall why I went with registers. Amateur over engineering mistake I suppose.