pinHP changelog #18MAY22

# pinHP Arcade image

+ Minor, minor, minor bug fix. Well … not even a bug, really. Honestly, I simply wanted to release a 4th birthday version 🙂

+ Added “Delete Game” option to P2-Start Button behaviour
+ Added “Show Deleted Games” to Game Menu Settings

+ Support for Quadro cabinets with rotatable monitors. Requires hardware modifications. See this thread (German language forum):
+ MAME errors (e. g. messages about missing files), flashing on the screen briefly, are now logged to “rpi2jamma/_MAME_ERROR” on the USB stick for easier debugging.

+ Added group and filter options: Horizontal/Vertical games.

– Bug fix: System would crash if orientation was changed, after very first boot with a fresh SD card setup only.

+ Added option to run AdvanceMENU and AdvanceMESS (Options > System Settings > AdvanceMENU frontend). If you want to use it instead of the classic pinHP interface, you should know why and how to configure it.

– Bugfix: Manually setting Coin-Up to „5“ inside MAME would delete and reset all MAME settings.
– Bugfix: Changing autostart settings would cause game menu to display oversized logos, under certain circumstances, until next reboot.

+ Added option to directly boot into last game that was played: Options > System Settings > Autostart Last Game
+ Alarm Mail: Added option to send a start mail not only with each boot, but in regular intervals (e. g. all 7 days).

+ Some game filter fine tuning.

+ Lots of options to filter and group games by genre, manufacturer, system and more. Options > Filter Games and Options > Group Games for actual filtering. Options > Filter Settings to select even more filter values: Select your favourites out of a list of 390 manufacturers, 29 genres and 10 game systems.
+ Game menu overhauled. It has grown and grown over the years and got a more logic structure now.

+ New online update: System Settings Menu > Online Tools > Check for Update > Game settings.
Over time, some files like the games definition file or MAME configuration file were updated (e. g. to add new game resolutions, mouse/spinner support, …). Whenever you restored your settings from a backup after a system update, all those new features were gone. Now you can always check for a “Game settings” update, to include the latest recommended settings.
   IMPORTANT: Before any change, the update system will ask for confirmation. There is no risk of losing customized settings.
+ Faster than ever menu generation. The message “Generating game menu” has been disabled.

+ Support for MAME save states. “Player1-Start & Joystick left” saves the current game state to the USB stick, “Player1-Start & Joystick right” loads it.
– Minor bug fixes

+ System boot: No more Linux login message flashing before the boot screen.
+ Clean autostart game boot: Boot right into a game, without any sign of emulation (no pinHP boot screen).
+ Added screensaver: Run a random game from favourites list.
+ Added option to backup favourites settings (System Settings Menu > Game Settings > Backup Fav. Menu). This makes it possible to update the game list template and restore favourites from the backup (System Settings Menu > Game Settings > Restore Fav. Menu). An updated template file, fixing some game names and including joystick 4-8-way information, is available as separate download (included in the full image).
+ Updated, optimized and almost complete sets of game preview logos, marquees and videos are available as separate downloads (logos and marquees are included in the full image).
+ Theme settings are now bound to the screen orientation.

+ Customize pinHP menu text size, color and alignment: System Settings Menu > Screen Settings
+ Select to display either logos or marquees in game selection menu (logo files are placed in “rpi2jamma/logos”, marquees in „rpi2jamma/marquees“): System Settings Menu > Game Menu
+ Additional video screensaver: Play favourite videos only.
+ Monitor Test Card: Flip through eight different test images.

+ For ServoStik users: Joystick parameter can now be set from the menu: Options > Set Games 4-8-Way
+ Select individual game menu text color: System Settings Menu > Screen Settings > Text Color

+ Added support for Ultimarc® ServoStik (switchable 4-8-way Arcade joystick)

+ Run an external file, placed in the ‘rpi2jamma’ base directory, from the menu (System Settings Menu > System Settings > Run External File).
Attn. developers: Since a child process does not have access to its parent’s variables, the current pinHP variables are dumped into /tmp/pinhp_variables right before running the external file, making it possible to grep the values. The other way round, if you need to change pinHP variables, you can declare them in /tmp/external_vars. The main script sources this file right after executing the custom script/program.

+ Maintenance update: Automatically disable custom folders option in System Settings Menu if no ROM subfolders are found, bringing back traditional 1/2/3 line menu selection options.

+ Maintenance update, enabling to read custom parameters from _games.template.
+ Added a fully working example script to /root/scripts/custom, demonstrating to read a custom parameter and switch relays via GPIO pins accordingly.

+ Support for optional custom scripts, to be run before/after a MAME game starts, or during system shutdown. See the example scripts inside /root/scripts/custom.
+ BIOS files (e.g. for most games are now included und located in a dedicated bios_advmame folder
+ Fav. Games are now also available when custom folders are activated.
+ Fav. Games handling improved.

+ Fine tuning and bug fixes of the new 15MAY21 subfolders feature. Switch it on or off: System Settings Menu > Game Menu Settings > Custom Folders).

+ Subfolders inside the ROM directory are now accepted and will show up in the menu. Individual display names can be set with the “.title” file inside each directory. Write the name into the file and nothing else. Names preceded by a “.” (dot) will hide the directory completely, making it inaccessible from the menu. Names preceded by a “#” (hash sign) will show a blank line in the menu, but leave it accessible.

+ Get new game resolutions by online update (System Settings Menu > Online Tools > Check for Update.
+ System automatically creates complete folder structure on empty USB stick if required. No more need to copy anything from the zipped distribution.

+ Change time zone (System Settings Menu > System Settings > Set Time Zone).

+ Installed alternate update server with automatic fallback.
+ Wi-Fi credentials are now included in backups.
– A bug, not remembering the current number of multiple MAME configurations after restoring from a very old backup, was fixed.

– Bugfix: config.ini file could become corrupt if it was manually edited with a DOS/Windows editor, caused by different format of line endings than files created on Linux (CR/LF vs. LF).

+ Added option to show button layout before game start (System Settings Menu > Mame Settings > Display Button Layout.
– Bugfix: Menu screen was shifted to the right by 8 pixels (Jamma only), caused by the latest Linux system update.
– Minor bug fixes.

+ Fresh Linux install from scratch. The previous system was still based on an old image from the very beginning of Pi2Jamma, with lots of leftover clutter.
+ Rewrite of the game menu generation routine. 90 % speed up. Game menu list containing 6.000 games typically generates within a second now.
+ Improved favourites editing: Add a game to the Fav. Games menu, cursor stays in place at the next game in the list.
+ Obsolete “restore” folder on the USB stick. It caused confusion. The “Restore Settings” function now restores directly from the “backup” folder.
+ Selectable keyboard layout (de/us/fr).
+ Added support for NTFS formatted USB sticks.
+ Automatic Wi-Fi connect at boot.
+ Automatic email alarm: Did you ever leave your game room for „just a minute“ and forgot to come back before the next weekend? Receive an email that the system is still up and running after a specified amount of time. To be configured inside rpi2jamma/.mail on the USB stick.

– Bugfix: When “Fav.” button (Player2-Start) is defined to change screen orientation (System Settings Menu > System Settings > P2-Start), the pinHP menu now stays at the same line from where orientation change was activated

– Bugfix: System would crash when changing game menu lines (System Settings Menu > Game Menu Settings)

+ Customizable menu text (System Settings Menu > Language Settings)
+ More text customization possible with new language.ini file (inside rpi2jamma directory on USB stick or DATA partition)
+ Customizable idle screensaver time (System Settings Menu > System Settings) and MAME idle exit time (System Settings Menu > Mame Settings)

+ Maintenance update

Included in 12DEC20 full image only, not via online update:
+ Refined Advance Mame modelines (game resolution definitions)
+ Changed default game controls (Insert coin: Player1-Start & Joystick up, Exit game:Player1-Start & Player1-Button1)

+ Select from up to three different saved MAME configurations

– Bugfix: Gamepad controls did not work with backup/restore dialog

– Bugfix: SSH login for user “pinhp” was denied

+ Improved gamepad support: No more keyboard required except for entering a Wi-Fi key for the first time. Dialog boxes (OK / Cancel, item selection) work with the gamepad now.
+ On popular demand: Although the use of a USB stick is still recommended, the data partition on the SD card can now be expanded to its maximum size from the menu.
+ Just a gimmick: Select the date to be set when the system boots. There is no hardware clock in a Raspberry Pi, so the system date will always be wrong unless there is an Internet connection. Select between image date, last shutdown date or a custom date.

+ Support for Xbox one wireless dongle
+ Additional screensavers: Random game / random videos
+ At long last! A pinHP boot logo 🙂

+ Remember last Wi-Fi profile / Quick connect

+ USB gamepad handling
+ Improved Pi2SCART auto detection

+ Additional color themes (Rainbow / Vivid)
+ Mame idle exit time now independent from screensaver
+ Option to copy games from internal SD to USB

– Minor bugfix / hardware mode selection

– Bugfix: Screensaver types were not saved reliably
– Bugfix: Online update system
+ Updated screensaver selection menu
+ Check & set hardware mode (Jamma/SCART) from the menu
+ “Snappier” menu navigation

+ New “Online Tools” menu
+ Online update patches

+ Select from 7 different screensavers
+ Change general game volume from system settings menu (Alsa mixer interface)

+ Option to activate screensaver with P2-Start button
+ Select P2-Start button behaviour from system settings menu
– Bugfix: Mame idle exit time is now synchronized with screensaver time

+ Added “Silver” menu style

– Bugfix: A new line was added to config.ini on every system start
– Bugfix: If MAME brighness/gamma settings were changed manually inside advmame.rc, the entry was listed twice in the system settings menu.
– Bugfix: Preview video volume was not remembered after exit into shell

+ Increased DATA partition size to 12 GB, 16 GB SD card required
+ Added config.ini option to quickly switch screen orientation via “Add to Fav.” (Player2-Start) button
+ Added more default directory path entries, like “image” (for CHD files) or “memcard” to advmame.rc configuration file
– Bugfix: Pi2SCART mode was not initialized properly, causing possible system slowdown by constantly sending (unvisible) keystrokes in the background

+ Raspberry Pi 4 support
+ Adapted design to display game marquees
+ Marquee files are included in the package
+ Automatic backup of highscores and MAME settings to USB stick
– Minor bug fixes

+ Added Pi2SCART support
+ Improved favourites selection, no more jumping out of menu
+ Menu selector stays where it was when changing settings
+ Menu navigation speed up
+ Added “Are you sure?” dialogs for certain operations
+ Installed RAM disk for /tmp folder, extending SD card life
+ SSH login enabled. Username pinhp / password root

+ Added and adjusted lots of resolution settings
99 percent of the games should automatically run with close to perfect resolution and refresh rate settings now
+ Added USB mouse/trackball/spinner support
+ Added MAME free play option, works for games which support it via DIP switches
+ Added uptime display in system menu
+ Added system menu item: Exit into Linux shell
+ Added a 2 seconds delay for preview videos (editable in config.ini)
+ Reboot/Shutdown/Backup/Restore menu options can all be hidden individually
+ *Hide Seettings Menu* does not require a reboot anymore
– Bugfix: Quickedit mode settings were not always remembered
– Bugfix: Preview videos settings were not always remembered

+ Added a monitor test card for hardware screen calibration
– Bugfix: Arcade start with USB keyboard connected is enabled again

+ Runs with just the SD card, USB stick is optional
+ Includes 100 popular horizontal and vertical games

+ Added preview video support

+ Dedicated system settings menu with lots of new items to select
+ Additional menu theme making better use of limited available screen space

+ Auto activate screensaver
+ Qick Edit Mode: Select games for favourites lists, changes are applied when leaving edit mode
+ Hide status messages (e. g. game rom name) when starting games
– Bugfix: In vertical mode, when scrolling game list per page, one line was skipped

+ Advance Mame 3.9 update
+ Lots of new game resolution settings – most vertical games should use almost perfect settings now
+ Fixed annoyances: Press any key to exit screen saver or dialog boxes
– Minor bug fixes

+ Improved menu navigation speed
– Bugfix: An “sRGB profile error” message was flashing in the terminal window under certain circumstances

+ Enable/Disable MAME cheat option
+ Enable/Disable artwork backdrop and overlay options
+ Added screen mode “upside down”
– Minor bug fixes


+ Edit favourites lists from the menu


+ „Hidden feature“: Access system configuration menu by clicking into empty lines three times


+ First public release version