CPWizard (Home)


MAME Output System

Please note that for MAME 0.170+ you must edit your mame.ini file with the following to re-enable the MAME Output System which is used by CPWizard:

output windows

New Bezel Method (LUA Plugin)

Update (27-8-2016): I've created a ShowCP plugin so you no longer need to re-compile MAME. Lua script support was added in MAME 0.148. Just download showcp and extract it into MAME's plugins folder then edit plugin.ini with the following:

showcp 1

Old Bezel Method (Patching MAME)

Thanks to BYOAC forum member frl he has updated the bezel patch to support MAME 144. Apparently it also works up to MAME 148 and possibly for future versions also. This patch allows you to show your CP's which have been exported from CPWizard in MAME's bezel format. When you pause MAME your custom CP with the buttons labeled for the current game will show. It's a fantastic feature that no MAME cab should be without (and you don't need to run CPWizard in the background to use this feature).

Here is a quick rundown on how to use the patch in MAME.

1. Use CPWizard to create your CP layout and export the bezel images for MAME (File->Export->Batch with the "Output Type" set to Bezel).
2. Download the bezel_0144.zip file (Update ShowCP0151, ShowCP153, ShowCP155 and ShowCP0173).
3. Patch and compile MAME using Mr. Do's guide found here or use MAME Compiler 64.
4. Now you can view your CP inside MAME by pausing!

NOTE: If you have issues exporting your bezels in CPWizard, (such as duplicates) caused by a GDI+ memory leak I have yet to fix, you can simply delete the broken bezel files and then use the "Skip Existing" option when exporting. Sorry for the inconvenience!

Screenshots of CPWizard's bezel patch feature in action. As you can see the CP layout is displayed as a bezel overlay in MAME while it's paused.

Windows 7 Users

If you are experiencing CPWizard crashing when exiting Mame please try editing mame.ini and changing the d3dversion setting from 9 to 8.

Important Update

Now CPWizard can unpause Mame without using a diff patch!

There are now 4 primary ways to use CPW and the new default method will not mess with state saves as it does not use Mame's pause key.

Method 1 (Recommended Default):

Mame Output System ON, Use Show Key ON, Send Pause ON, Pause Mode Message System, Detect Pause OFF (as per this image)

With these settings CPW uses the Show Key set in the Input Options to display the CPW menu. This means CPW no longer interferes with save state. It also can unpause Mame automatically when you exit CPW. No diff patch is necessary!

NOTE: Using this method you cannot set the Show Key to be the same as Mame's pause key.

Method 2 (Detecting pause using Mame >= 112u2)

Mame Output System ON, Use Show Key OFF, Send Pause OFF, Detect Pause ON

With these settings pausing Mame will show CPW

Method 3 (Older Method using diff patch):

Mame Output System ON, Use Show Key OFF, Send Pause ON, Pause Mode Diff Patch Method, Detect Pause ON

With these settings CPW detects when Mame is paused and then shows the CPW menu. To unpause Mame when you exit CPW you need to have the bezel_0129u2.zip diff patch applied.

Method 4 (For older versions of Mame < 0.108):

Mame Output System OFF, Use Show Key ON, Send Pause ON, Pause Mode Send Keys, Detect Pause OFF

With these settings CPW sends keys to pause and unpause Mame when you press the Show Key.

  • 30 May 2017 v2.63 - Added MAME Filter options
  • 30 May 2017 v2.62 - Bug Fixes
  • 27 May 2017 v2.61 - Added menu options (stigzler)
  • 16 Feb 2017 v2.60 - Added Mame filtering
  • 9 Jan 2017 v2.51 - Fixed event draw accumulation bug (thanks Stigzler!)
  • 2 Jan 2017 v2.50 - Fixed -show command line option. Moved from MDX to SlimDX
  • 23 Sep 2016 v2.42 - Added Show Layout options
  • 9 Sep 2015 v2.41 - Fix Mame xml parsing
  • 03 Dec 2013 v2.40 - Fix Mame xml parsing
  • 25 Mar 2013 v2.39 - Data files update
  • 28 Sep 2011 v2.38 - Fix for player 2 display and .c source file's in ctrlr files
  • 15 Jul 2011 v2.37 - Parent display for MameInfo, StoryDat and others
  • 31 Mar 2011 v2.36 - Export a single layout
  • 1 Jul 2010 v2.35 - Fixed wrong detection of invalid xml files
  • 29 Mar 2010 v2.34 - Fixed sub display not changing for different games
  • 27 Mar 2010 v2.33 - Fixed alternating controls display
  • 13 Feb 2010 v2.32 - Added FlipX and FlipY options
  • 26 Oct 2009 v2.31 - Added suppport for Layout Sub display within a layout
  • 19 Oct 2009 v2.30 - Added Support for Multi-Layouts, Sub Screen Display, Auto Show and Advanced Layouts
  • 19 Jun 2009 v2.21 - Fixed bug in analog to digital mapping system
  • 22 May 2009 v2.20 - Bug fixes to input control mapping system
  • 15 May 2009 v2.19 - Added new pause method and options. Added -exit and -rotate command line options.
  • 9 May 2009 v2.18 - Auto rotation option added to display options
  • 14 Apr 2009 v2.17 - Joystick/Key repeat improved. No wrap around for text display.
  • 9 Apr 2009 v2.16 - Joystick hotswap support and joystick repeat added
  • 08 Apr 2009 v2.15 - Fixed preview list bug for older versions of Mame (tested on Mame 0.104)
  • 04 Feb 2009 v2.14 - Fixed bugs introduced with new IPC system
  • 30 Jan 2009 v2.13 - Changed IPC to use WM_COPYDATA
  • 29 Jan 2009 v2.12 - Bug fixes. Improved Show/Hide.
  • 28 Jan 2009 v2.11 - Added scrollbars to the text viewer, menus now loop around. bezel_0129u2.zip Patch update. This allows you to view bezels created in CPWizard inside Mame when you pause. It also adds the ability to unpause Mame when you exit CPWizard. Hopefully this patch will work for subsequent versions of Mame.
  • 27 Jan 2009 v2.1 - Analog inputs now supported. Mame ROM name now lower case. Added Show Retry. Improved Show/Hide
  • 03 Jan 2009 v2.04 - Added support for multiple Label Links with the same input code
  • 03 Jan 2009 v2.03 - Fixed joystick and mouse codes
  • 1 Jan 2009 v2.02 - Added HiToText Support (Thanks to Fyrecrypts, NOP & HiToText Team)
  • 1 Jan 2009 v2.01 - Removed the selection bar from screens that don't need it. Should be alot easier to scroll through text using a joystick.
  • 1 Jan 2009 v2.0 - Supports Command.Dat Longhand format, scroll text by holding joy down, page skips fullscreen, added color coded text for command.dat, new Mame look

  • 04 Dec 2008 v1.96 - Loading screens now turn off TopMost property. Added option "Show Loading Screens"
  • 10 Nov 2008 v1.95 - Fixed exit issue with Mame.dll
  • 07 Nov 2008 v1.94 - Fixed threading issue with Mame.dll
  • 03 Nov 2008 v1.93 - Improved joystick handling
  • 10 Oct 2008 v1.92 - Fixed listview bug
  • 01 Oct 2008 v1.91 - Placed input codes into their own files (in Data\InputCodes). Fixed broken Dynamic Data Loading
  • 20 Sep 2008 v1.90 - Now supports dual monitor games and resolution change. Added support for source, cloneof, romof & parent to Mame's layout override. Fixed Export Bezel option not saving. bezel_0127.zip Patch released which returns you to the previously selected view when you unpause.
  • 16 Sep 2008 v1.89 - Added object coordinates to the status bar
  • 11 Sep 2008 v1.88 - Bezel options are now saved
  • 07 Sep 2008 v1.87 - Fixed bug introduced from previous release
  • 01 Sep 2008 v1.86 - If Command.Dat info is not available for the game it will try the parent ROM
  • 01 Sep 2008 v1.85 - Secondary controls for alternating games now won't light. I also remade some graphics including the Command.Dat symbols.
  • 18 Jul 2008 v1.84 - bezel_0126.zip Patch released which adds unpause when quitting Mame (thanks to TheShanMan). Fixed export bezel progress bar, added vertical for 90 degree rotation. Added dialog to enter keycode or joystick input when creating labels.
  • 14 Jul 2008 v1.82 - Added support for multiple resolutions and skip clones in export bezels.
  • 3 Jul 2008 v1.80 - Added support for vertical bezels in export bezels.
  • 01 Jul 2008 v1.79 - Fixed Mame.dll memory leak.
  • 01 Jun 2008 v1.78 - Fixed input with U360's, fixed minimizing when starting from GameEx, added support for increment/decrement input mappings.
  • 25 May 2008 v1.77 - Fixed Command.Dat bug
  • 12 May 2008 v1.76 - Added verbose logging, exit key added, default keycodes use default, X placeholder not rendered, custom text can be added to player codes.
  • 14 Apr 2008 v1.74 - Added window to hide minimizing Mame. Updated data files.
  • 13 Apr 2008 v1.73 - bezel_0124.zip Patch released. Added support for patch that will unpause Mame when exiting CPWizard. Includes the bezel patch. Fixed Alternating not working in Layout Maps.
  • 12 Apr 2008 v1.72 - Viewer will now work without minimizing. Enhanced Command.Dat viewer. Added MiniInfo to Layout display.
  • 10 Apr 2008 v1.71 - Fixed major bug from last release. Added Exit To Menu option in Data options. Improved preview window. Preview window remembers last game. Added buttons to change order of Layout Maps.
  • 8 Apr 2008 v1.7 - Improved input mapping. Enhanced preview window. Changed keywords to Layout Maps and added Constants, NumPlayers and Alternating options. Fixed moving objects with cursor keys. -exitmenu option added. Player Codes added for alpha fading joysticks and start and coin buttons
  • 30 Mar 2008 v1.68 - Added support for multiple labels with the same input codes.
  • 30 Mar 2008 v1.67 - Fixed bug using Dynamic Data Loading in standalone mode. Added zoom for PDF viewer.
  • 12 Mar 2008 v1.66 - Fixed bug using layout overrides (Tempest)
  • 28 Feb 2008 v1.65 - Added drop down list for Key Words
  • 22 Feb 2008 v1.64 - Fixed bug when exporting bezels (Kenpachi)
  • 19 Feb 2008 v1.63 - Added help. Big thanks to Matt McLemore (Tempest)
  • 18 Feb 2008 v1.62 - Changed Label Link in Display Options to Label Arrow to avoid confusion with Label Links.
  • 5 Feb 2008 v1.61 - Fixed info disappearing when not using the Mame Output system.
  • 4 Feb 2008 v1.6 - Fixed mainmenu command line option not exiting back to menu
  • 1 Feb 2008 v1.59 - Added Color values for Label Links and Label Spots.
  • 1 Feb 2008 v1.58 - Added Alpha Fade toggle and value.
  • 14 Jan 2008 v1.57 - Fixed shutting down PC showing Prompt To Exit message (Lakersfan).
  • 14 Jan 2008 v1.56 - Multiple object select/move/edit/cut/copy/paste. You can select multiple objects using the mouse to draw a selection or hold shift while you select objects. You can now edit object properties of multiple objects at once.
  • 12 Jan 2008 v1.55 - Added prompt to exit, can now edit most options
  • 6 Jan 2008 v1.53 - Updated graphics
  • 6 Jan 2008 v1.52 - Fixed Control Info offset bug
  • 5 Jan 2008 v1.51 - Fixed bug if you don't select Mame exe at startup
  • 5 Jan 2008 v1.5 - Big update! Improved mapping accuracy (alot). Prompt to save added.

  • 29 Dec 2007 v1.4 - Fixed label copy bug. Added "Lightning" layout
  • 30 Dec 2007 v1.41 - Fixed bug when using Mame 0104 (Dustin Mustangs). Auto update bug fix

  • 17 Dec 2007 v1.3 - Full PC Game support.
  • 18 Dec 2007 v1.32 - Fixed InterComm.dll problem
  • 19 Dec 2007 v1.34 - Fixed text align bug
  • 19 Dec 2007 v1.35 - Command line feature put back (oops!)
  • 20 Dec 2007 v1.36 - Added latest data files for Mame 0122
  • 23 Dec 2007 v1.37 - Added "Layout Size" to Export Batch

Screenshot of CPWizard running with Far Cry.
Please note that 'L' is the default key for showing the CP in PC games

  • 14 Dec 2007 v1.2 - Added command line options, Show CP Only & Back Key will Exit Menu option. You can also disable any menu options
  • 11 Dec 2007 v1.1 - Added Keyboard layout, Label Link arrow, Show Delay and CP Editor shortcuts

  • 8 Dec 2007 v1.09 - Added ability to include a standard bezel in the Export Batch bezel feature.

bezel_0121.zip has been changed to use this new feature. Now when you pause Mame it will show the CP but the vertical bezel will remain. You can now turn off bezels in the Video Options menu in Mame to disable this feature completely.

  • 6 Dec 2007 - bezel_0121.zip Patch released

  • This diff when applied to Mame will show the bezel when pause (default 'p') is pressed and hide when unpaused.

  • This can be used with CPWizard's Export Batch feature in bezel format so you can display your CP when Mame is paused.

To apply the patch for Mame 0121 (Will most probably work for several versions after as well)

  1. Download mame0121s.exe from here and extract the source
  2. Download and install Mame Compiler
  3. Select Start > Programs > Mame Compiler > MameCompiler
  4. Point the "Mame Source Folder" to where you extracted the Mame source
  5. Browse the "Diff Patch File" to bezel_0121.diff and press the "Apply Patch" button
  6. Press the GO! button to compile
  • 2 Dec 2007 v1.08 - Added Exporting for Bezels. Improved label mapping and grouping. Added Preview, Export Batch. Added Color Image and Keycode mappings to Options. Added Page Up/Down input.