After about a month we'd managed to get a final prototype done with all of the mechanical and electronic parts fully integrated into the MDF prototype I made pictured above (mind you this was after we literally tore down and disassembled what I thought was the final MDF prototype I had just assembled, Jean had other ideas involving a handsaw and a utility knife, results pictured below...)! Also, because we're currently using a C.H.I.P. to power the cabinet, and there aren't a ton of projects out there that use the C.H.I.P. to power game machines like this, I used a Pimoroni Picade PCB to get our cabinet's controls to connect and register control input on the C.H.I.P.
Next on the list of things to focus on was the recipient's experience while using the cabinet. We needed to make the prototype's hardware function more like an appliance. Top of that list are the following items: hiding linux's boot-up chatter on the cabinet's screen at start, getting the cabinet to boot directly into PICO-8 followed by a specific game, getting PICO-8 to work in full-screen mode, and getting the cabinet to go into a shutdown sequence when it's unplugged from an outlet to avoid corrupting of our software package. For the record, I intend to send this artifact to a variety of users, some from very technical backgrounds, others not. I need to make sure the cabinet experience is as frictionless and easy to use as possible given the mix of people we're sending them to. First up, I needed to get the hardware to autostart straight into PICO-8 like a NES game system would with a cart inserted into it. Looking around on the NTC BBS I found this shell script and installation instructional that user Xerxes Rånby created that makes the C.H.I.P. auto start straight into PICO-8, and implemented it in my prototype using his instructions.
Beyond the user experience related to boot ups, I next needed to make the artifact as hard as possible to break. With the autostart problem resolved, and the system immediately booting inot PICO-8, I now needed to resolve power shut downs on power disconnects to avoid corrupting my software package. This problem is not resolvable with software alone, and requires a hardware element that can hold a charge while the C.H.I.P. goes through its shutdown sequence. Thankfully the C.H.I.P. has a power management package and JST port I was able to use to plug in a teeny tiny battery, while a piece of software handles the shutdown sequence after a power disconnect! After a little more research on the NTC BBS I found this excellent little program and instructional made by user Steve Fords. Using Nano I edited his config file to initiate a shutdown when power was disconnected and after the little 3.7v 150mAh Lithium Ion Polymer Battery connected to the C.H.I.P. registered a 99% or less charge (which given the load it was driving is near instantaneous). None of this again would have been possible without John Edgar Park's generous advice and pointed questions/critiques via the countless emails we exchanged as I developed this portion of the project! He even came by the DesignLab to critique the V9 MDF prototype in person after I had finished my V9 prototype! All advice that I plan to put to good use on the next version of the cabinet!!! XD