Player (61)
Joined: 9/15/2023
Posts: 71
Introduction and Technical Basis Baby Pac-Man is a hybrid Solid-State Pinball and Video Arcade game, developed by Bally Midway in 1982 and released just 9 months after Ms. Pac-Man. It is notable for being one of the few unique fully fleshed-out games of its kind, its extreme inaccessibility to home players, and its brutal difficulty (being the consensus hardest Pac-Man game of all time). However, despite its hybrid nature, it is possible to TAS; PinMAME is a fork of the original MAME, aiming to be an emulator designed to emulate the electronic components of pinball games, including LED and DMD (Dot-Matrix Display) screens, scoring, and etc. Using its component application and COM library, VPinMAME, it is possible for PinMAME to communicate with a Pinball simulator to automatically control the PinMAME hotkeys that PinMAME uses to represent communication functions of the physical element of the pinball cabinet. This library configuration is extremely crude, however, being just above using some form of macro script to manually transmit keyboard keys from the Pinball Simulator to PinMAME; PinMAME and the Simulator run as separate windows and processes, rendering them impossible to TAS using a program such as Hourglass. However, there is another way. The most popular and well-supported Pinball Simulator project is Visual Pinball, having been released in alpha form in the year 1999. VP and MAME are both VERY old programs, and while the modern versions of VP and VPM don't run on Windows XP, there are older versions that do, and have very good support for Baby Pac-Man's ROMset and have a compatible and workable table. The versions we're targeting to run under PCem+libTAS are VP 8.1 and VPM 1.52, both being released circa 2005, with a recreated Baby Pac-Man table made in the same year. The table in question is visually crude, but totally functional and presents no real accuracy concerns. While programs from 2005 seem ancient, it's worth keeping in mind that the current standard and support PCem configuration emulates a system with hardware dating circa 1999, and it's only because VP and VPM are such basic, low-spec programs that they run at good performance at all. Soon, I'm going to edit this post (or create a new post) with a full guide to creating the reproducible ISO file used to provide all required components to our cursed, jank setup, the verification movie that uses said ISO, and some other technical notes. In the meantime, however, have a preview in the form of some brief gameplay I encoded while testing the verification movie: Link to video
Player (61)
Joined: 9/15/2023
Posts: 71
Playing Back The Verification Movie Step 0: Setting up PCem/libTAS Before anything else you need to setup PCem and successfully run the Windows XP installation verification movie, as detailed on the wiki here. Beyond this no further changes to the windowsxp.cfg file or pcem.cfg file should be necessary, beyond changing the mounted ISO as needed. In addition, you will also want to want to download create_iso.sh, which we will be using to create the ISO with all of our required files and verifying its integrity later; as a prerequisite, make sure you have the program xorriso installed on your chosen Linux distribution. Step 1: Required Files Unfortunately, these files are not ones you will be able to find on the same sites as standard ROMsets, and I mostly won't be able to give any names or links due to the rules on copyrighted material; what information and details I can provide will be linked below; hashes for all the files are listed on the Verification Movie's userfiles page. My Baby Pac-Man Verification Movie, uploaded to userfiles here. Visual PinMAME 1.52, available from SourceForge here.
  • Filename: vpinmame_152.zip
Site A is a popular community and forum for enthusiasts of virtual pinball cabinets and simulators, which I am not allowed to link to or name due to site rules. You will need to register there in order to obtain the following files:
  • VPinball_8.1.zip ("Visual Pinball 8.1 EXE Only") Contains the file 'VPinball8.1.exe', dated 2007-11-06.
  • s3250u3.zip ("Sound Samples") Contains many WAV files dated 2004-8-31.
  • vpvbs3_58.zip ("VBS Scripts 3.58") Contains many VBS files dated 2021-12-22.
  • babypac.zip ("Baby Pacman - ROM - babypac.zip") This version of BABYPAC is not from the standard MAME ROMset, and attempting to use the standard version of BABYPAC.ZIP will not work.
Site B is another popular community and forum for enthusiasts of virtual pinball cabinets and simulators, which I am also not allowed to link to or name due to site rules. You will need to register there in order to download the Visual Pinball 8 table we will be using.
  • 52796-Baby_Pacman.zip ("Baby Pac-Man (Bally, 1982) VP8 v1.0 2020-01-28") Contains the file "Baby Pacman.vpt", dated 2005-11-19.
Step 2: Creating The Filesystem
  1. Create a clean working directory, preferably in a place accessible to your Linux system; the name of this directory does not matter, as it is the contents that will end up in the final ISO.
  2. Extract the contents of "52796-Baby_Pacman.zip" into your working folder.
  3. Create a folder named "Visual Pinball", and extract the contents of "VPinball_8.1.zip" into it. Create two additional folders within the "Visual Pinball" folder, named "Scripts" and "VPinMAME" respectively.
  4. Extract the contents of "vpvbs3_58.zip" into "{WORKINGDIR}/Visual Pinball/Scripts/".
  5. Extract the contents of "vpinmame_152.zip" into "{WORKINGDIR}/Visual Pinball/VPinMAME/".
  6. Copy, but do NOT extract, the file "s3250u3.zip" to "{WORKINGDIR}/Visual Pinball/VPinMAME/samples/".
  7. Copy, but do NOT extract, the file "babypac.zip" to "{WORKINGDIR}/Visual Pinball/VPinMAME/roms/".
Once done with these steps, run "create_iso.sh" and specify the FULL PATH of your working directory as the target to be made into an ISO. Your create_iso.sh output should match the the output log shown on the Verification Movie's userfiles page, and you should now have the file "TAS_CD.iso". From here, you can now set edit the Windows XP CFG file to mount TAS_CD.iso, and run the verification movie in the same way as the Windows XP Installation movie to create your SRAM state. The verification movie creates a shortcut in the startup folder in order to automatically start Baby Pac-Man as soon as login occurs. Another post on my plans for this game, as well as additional details on the workings of the verification movie, is coming soon (tomorrow, probably, it's getting late).
Player (61)
Joined: 9/15/2023
Posts: 71
Verification Movie Details The verification movie isn't particularly complex, doing the following things in no particular order:
  • Copy the files from the CD to the Desktop
  • Install PinMAME, registering the COM library and creating default configurations.
  • Change Visual Pinball's video settings, disabling cached table rendering and setting the resolution to 1024x768x32 fullscreen so that the entire table is visible, and not obstructed by the VPinMAME DMD.
  • Launches Baby Pac-Man in order to clear a nag screen, then again to make sure it stuck, deleting any written files afterwards that could affect sync such as NVRAM.
  • Creates a shortcut to launch Baby Pac-Man and places it in the Startup folder.
  • Delete Flash Player, because we won't need it.
  • Finally, shuts down the computer.
One thing that it does NOT do, due to me forgetting, is to disable/hide the mouse cursor in Visual Pinball. This won't affect the game at all, but could be a very minor visual distraction for viewers; however, I rank that as a much lower nuisance than the general ugliness of the table chosen just at base, so it's not a terribly high priority considering how much effort it would take to alter the verification movie. Additionally, due to the way that libTAS handles resolution changes, this video is effectively self-splitting at the moment that Visual Pinball finishes launching. This could be a good or a bad thing, depending on if you want to include the Windows XP bootup and logon in the movie for veracity and completeness purposes. TAS Goal After some discussion and advice, I've decided on a set of goals for this game that should complete all unique content, while offering a balanced combination of Pinball and Maze gameplay; I'm tentatively going to call this branch either "100%" or "All bonuses". They are as follows:
  • Complete the hardest and last unique stage; in this case this would mean ending at Maze #12, as there are 3 unique mazes that cycle, and all inner maze walls turn invisible starting at Maze #10.
  • Collect all four energizer pellets in each stage. This requires hitting all four of the yellow drop targets multiple times to spawn them all, saving time by using the second-from-left/right drop lanes to even out the P-A-C-M-A-N light progress.
  • Advance the Fruit type to the most valuable one, the Banana; this requires fully lighting up the leftmost lane multiple times.
  • Upgrade Tunnel Speed to the maximum value; this requires fully lighting up the rightmost lane multiple times.
  • Collect two fruit per maze.
Player (61)
Joined: 9/15/2023
Posts: 71
Alright, bad news: The table is defective, because none of the lights activate in the right order. So I tried a newer, better-looking table, but that one was also defective, because the drop targets wouldn't come back up after being hit. And after that, I've basically exhausted all of my options- the next newest table version is for VP9, and that works, but I can't get VP9 to run under the PCem hardware configuration, it doesn't even launch to the table editor. HOWEVER, the Visual Pinball 8 setup does work overall, even if there isn't a functioning Baby Pac-Man table for me to use. I plan on TASing the Atari 7800 version of Baby Pac-Man as a consolation prize, but I'm not done with actual pinball/video arcade hybrids just yet. There are three more pinball games that I'm looking at, Caveman Mr. & Mrs. Pac-Man, and Granny and the Gators. Caveman is the actual first hybrid pinball game to release and features what could be considered a full game in the video portion, although it is entire optional and the main mode of play is the pinball portion (as opposed to Baby Pac-Man, where the video portion is the main mode of play). Mr. & Mrs. Pac-Man is really just a pinball game with a small bonus minigame included, although it's definitely way more than nothing at least, and it has Pac-Man's star power going for it. Finally, the most promising is Granny and the Gators; it features the video game as the primary mode of play, which makes "Hardest cycle" viable as a TASing goal, yet the pinball segment is required in order to gain extra ammo for your gun in order to get rid of the gators. Testing all of these will be a monumental effort, so I plan on tackling the 7800 Baby Pac-Man first and getting a break from all the Visual Pinball frustrations I've been having the past couple of days.
p0008874
He/Him
Player (71)
Joined: 3/2/2022
Posts: 35
Location: Taiwan
I'm pretty sure the Newest PinMAME is on Github. https://github.com/vpinball/pinmame
Player (61)
Joined: 9/15/2023
Posts: 71
p0008874 wrote:
I'm pretty sure the Newest PinMAME is on Github. https://github.com/vpinball/pinmame
That doesn't work on Windows XP. You need an older one, I tested it.