What is DOFLinx In Game Effects for Pixelcade?
DOFLinx is the software that is used to connect MAME, Visual Pinball, FX2, FX3, Future Pinball to various devices including Pixelcade. For example, when a ship is destroyed in a game, a corresponding explosion can be displayed on Pixelcade.
General DOFLinx info
DOFLinx for Pixelcade Demo
DOFLinx Effects for Pixelcade LCD Marquees
Requirements
DOFLinx for Pixelcade is compatible only with Microsoft Windows-based arcade machines and Batocera Linux and requires a minimum of MAME version 265.
If you’re using an older version of MAME, you’ll need to update to at least version 265 and ensure your romset is compatible.
Installation
The Pixelcade installer will automatically install and configure DOFLinx for you if you don’t already have an existing DOFLinx installation. If you already have DOFLinx installed, then follow the manual configuration steps below to configure it for Pixelcade.
The installer will also download the MAME plug-in and check if you have the minimum version of MAME required for DOFLinx, version 265. However, it will not update your other MAME files and roms, and if you’re using an older MAME version like 193 for example, this most likely will break your MAME installation so you should first upgrade your MAME and associated romset to a version close to 265.
If you have an Arcade-One HyperSpin image, the Pixelcade installer will recognize it and automatically configure the MAME, AimTrak Gun Games, and Sinden Gun Games wheel for DOFLinx in game effects.
![]()
![]()
![]()
To get the latest DOFLinx effects, click the “Update DOFLinx MAME Files” icon in your Pixelcade start menu.
![]()
This screen will appear which will download the latest DOFLinx effects files.

What Games have Effects?
This sheet lists the MAME games with Pixelcade DOFLinx effects
See the video below how to customize in game events for these games and add additional games.
Customizing
DOFLinx for Pixelcade Manual Setup
If you don’t have DOFLinx already installed, the Pixelcade installer will set it up for you, automated all the steps below. If you however already have DOFLinx installed, then you’ll need to setup DOFLinx for Pixelcade manually following these steps:
Step 1. Upgrade your DOFLink to the latest version from here including the DOFLinx MAME plug-in.
Step 2. Ensure your MAME is a minimum of 265.
Step 3. Edit mame.ini from your MAME folder and change the line that contains output to this or add this line if output is not there.
output network
Step 4. Edit DOFLinx.ini file following this example and change paths accordingly:
#Pixelcade
####
# The config file for DOFLinx Starter MAME and Pinball FX
####
# 0 = OFF (normal operation), 1 = ON - When ON a window will appear and a log file will be created in the EXE directory.
DEBUG=0
# Pixelcade: Go back to the game marquee after playing an animation
# Pixelcade: You can however override this by game by adding this same line and setting it to 0 in the [startup] section of a game specific .MAME file
PIXELCADE_REPLACE_LED_MARQUEE_AFTER_ANIMATION=1
# location of your files and systems
COLOUR_FILE=D:\Arcade\Pixelcade\DOFLinx\config\colours.ini
PATH_FX=D:\Arcade\Pixelcade\DOFLinx\FX\
#Path to the game specific .MAME files
PATH_MAME=D:\Arcade\Pixelcade\DOFLinx\DOFLinx_MAME\
PATH_PIXELCADE=D:\Arcade\Pixelcade\
PATH_HI2TXT=D:\Arcade\Pixelcade\hi2txt\
#Path to your MAME emulator
MAME_FOLDER=D:\Arcade\Emulators\MAME\
# Pixelcade: This setting is for PinUp Popper Only, see tutorials for how to enable in Popper
PIXELCADE_MENU_HIGHSCORE=0
# Pixelcade: Send high scores on game launches for MAME games that have a hi score, set to 0 if you have the paid version of LEDBlinky
PIXELCADE_GAME_START_HIGHSCORE=0
PIXELCADE_REPLACE_LED_MARQUEE_AFTER_ANIMATION=0
# When to activate, and more specifically what is the MAME process to kick things off
# Change from Mame to Mame64 for older versions of MAME
PROCESSES=Mame,PinballFX-Win64-Shipping
MAME_PROCESS=Mame
# Set the time that MAME output messages for LED / player outputs run for
MAME_MESSAGE_TIME=1500
# Uncomment this line to start attract mode after 1 minute
#ATTRACT_START_DELAY=60000
# If attact mode (above) is enabled, then show each marquee for 20 seconds
ATTRACT_MARQUEE_TIME=20000
# Uncomment below to turn on cabinet Surround Sound Force Feedback
SSF_ENABLED=1
#SSF_DEVICE=6
SSF_SOUND_PATH=D:\Arcade\Pixelcade\DOFLinx\Sounds\
#Button Configs
#Coin In Button
LINK_BUT_CN=0000,MONO,55,0000,MONO,53
#LINK_BUT_J1=1074,Random,00
#LINK_BUT_ST=0000,White,35
#Escape / Exit
LINK_BUT_EX=0000,Amber,1B
LINK_BUT_RE=0000,Orange_Red,72
LINK_BUT_PS=0000,Deep_Pink,50
# Player 1 Button
LINK_BUT_P1=0000,Cyan,52
#Player 2 Button
LINK_BUT_P2=0000,Orchid,54
#LINK_BUT_LF=1071,White,A0
#LINK_BUT_RF=1050,White,A1
#LINK_BUT_B1=1032,Green,A2
#LINK_BUT_B2=1035,Red,A4
#LINK_BUT_B3=1038,Blue,20
#LINK_BUT_B4=1041,Blue,00
#LINK_BUT_B5=1044,Blue,5A
#LINK_BUT_B6=1047,Blue,58
#LINK_BUT_CH=0000,Deep_Pink,75
#LINK_BUT_MN=1020,Yellow,09
Step 5. Adds the DOFLinx Startup shortcut to your windows startup folder so DOFLinx runs automatically upon Windows startup.
For Arcade-One HyperSpin image users, the installer will also edit D:\Arcade\Utilities\Startup and Exit\HyperSpin Startup Script.ini and adds this line which will load DOFLinx automatically when HyperSpin starts.
<Pixelcade Folder>\DOFLinx\DOFLinx.exe PATH_INI=<Pixelcade Folder>\config\DOFLinx.ini FOCUS=HyperSpin PINONE=NO
Note the PINONE=NO line is required to resolve a conflict between DOFLinx and Sinden Light Gun software
For reference on LINK_BUT_x https://doflinx.github.io/docs/parameters/11_The_Parameters.html#link_but_xxdooocccckkdooocccckk
In particular, you’ll want to configure the CN, P1, and P2 button codes at a minimum. In the example, 55 equats to the ‘U’ key and 53 equtes to the ‘S’ key. See this virtual keycode mapping here and edit accordingly for Windows setups https://learn.microsoft.com/en-gb/windows/win32/inputdev/virtual-key-codes and for Linux setups, you’ll need to use the linux key code. There is a file of all key codes in the Linux DOFLinx distribution and also below. So if you have key 0, you want code 11, and for 6 code 7.
KEY_RESERVED 0
KEY_ESC 1
KEY_1 2
KEY_2 3
KEY_3 4
KEY_4 5
KEY_5 6
KEY_6 7
KEY_7 8
KEY_8 9
KEY_9 10
KEY_0 11
KEY_MINUS 12
KEY_EQUAL 13
KEY_BACKSPACE 14
KEY_TAB 15
KEY_Q 16
KEY_W 17
KEY_E 18
KEY_R 19
KEY_T 20
KEY_Y 21
KEY_U 22
KEY_I 23
KEY_O 24
KEY_P 25
KEY_LEFTBRACE 26
KEY_RIGHTBRACE 27
KEY_ENTER 28
KEY_LEFTCTRL 29
KEY_A 30
KEY_S 31
KEY_D 32
KEY_F 33
KEY_G 34
KEY_H 35
KEY_J 36
KEY_K 37
KEY_L 38
KEY_SEMICOLON 39
KEY_APOSTROPHE 40
KEY_GRAVE 41
KEY_LEFTSHIFT 42
KEY_BACKSLASH 43
KEY_Z 44
KEY_X 45
KEY_C 46
KEY_V 47
KEY_B 48
KEY_N 49
KEY_M 50
KEY_COMMA 51
KEY_DOT 52
KEY_SLASH 53
KEY_RIGHTSHIFT 54
KEY_KPASTERISK 55
KEY_LEFTALT 56
KEY_SPACE 57
KEY_CAPSLOCK 58
KEY_F1 59
KEY_F2 60
KEY_F3 61
KEY_F4 62
KEY_F5 63
KEY_F6 64
KEY_F7 65
KEY_F8 66
KEY_F9 67
KEY_F10 68
KEY_NUMLOCK 69
KEY_SCROLLLOCK 70
KEY_KP7 71
KEY_KP8 72
KEY_KP9 73
KEY_KPMINUS 74
KEY_KP4 75
KEY_KP5 76
KEY_KP6 77
KEY_KPPLUS 78
KEY_KP1 79
KEY_KP2 80
KEY_KP3 81
KEY_KP0 82
KEY_KPDOT 83
KEY_ZENKAKUHANKAKU 85
KEY_102ND 86
KEY_F11 87
KEY_F12 88
KEY_RO 89
KEY_KATAKANA 90
KEY_HIRAGANA 91
KEY_HENKAN 92
KEY_KATAKANAHIRAGANA 93
KEY_MUHENKAN 94
KEY_KPJPCOMMA 95
KEY_KPENTER 96
KEY_RIGHTCTRL 97
KEY_KPSLASH 98
KEY_SYSRQ 99
KEY_RIGHTALT 100
KEY_LINEFEED 101
KEY_HOME 102
KEY_UP 103
KEY_PAGEUP 104
KEY_LEFT 105
KEY_RIGHT 106
KEY_END 107
KEY_DOWN 108
KEY_PAGEDOWN 109
KEY_INSERT 110
KEY_DELETE 111
KEY_MACRO 112
KEY_MUTE 113
KEY_VOLUMEDOWN 114
KEY_VOLUMEUP 115
KEY_POWER 116 /* SC System Power Down */
KEY_KPEQUAL 117
KEY_KPPLUSMINUS 118
KEY_PAUSE 119
KEY_SCALE 120 /* AL Compiz Scale (Expose) */
KEY_KPCOMMA 121
KEY_HANGEUL 122
KEY_HANGUEL KEY_HANGEUL
KEY_HANJA 123
KEY_YEN 124
KEY_LEFTMETA 125
KEY_RIGHTMETA 126
KEY_COMPOSE 127
KEY_STOP 128 /* AC Stop */
KEY_AGAIN 129
KEY_PROPS 130 /* AC Properties */
KEY_UNDO 131 /* AC Undo */
KEY_FRONT 132
KEY_COPY 133 /* AC Copy */
KEY_OPEN 134 /* AC Open */
KEY_PASTE 135 /* AC Paste */
KEY_FIND 136 /* AC Search */
KEY_CUT 137 /* AC Cut */
KEY_HELP 138 /* AL Integrated Help Center */
KEY_MENU 139 /* Menu (show menu) */
KEY_CALC 140 /* AL Calculator */
KEY_SETUP 141
KEY_SLEEP 142 /* SC System Sleep */
KEY_WAKEUP 143 /* System Wake Up */
KEY_FILE 144 /* AL Local Machine Browser */
KEY_SENDFILE 145
KEY_DELETEFILE 146
KEY_XFER 147
KEY_PROG1 148
KEY_PROG2 149
KEY_WWW 150 /* AL Internet Browser */
KEY_MSDOS 151
KEY_COFFEE 152 /* AL Terminal Lock/Screensaver */
KEY_SCREENLOCK KEY_COFFEE
KEY_ROTATE_DISPLAY 153 /* Display orientation for e.g. tablets */
KEY_DIRECTION KEY_ROTATE_DISPLAY
KEY_CYCLEWINDOWS 154
KEY_MAIL 155
KEY_BOOKMARKS 156 /* AC Bookmarks */
KEY_COMPUTER 157
KEY_BACK 158 /* AC Back */
KEY_FORWARD 159 /* AC Forward */
KEY_CLOSECD 160
KEY_EJECTCD 161
KEY_EJECTCLOSECD 162
KEY_NEXTSONG 163
KEY_PLAYPAUSE 164
KEY_PREVIOUSSONG 165
KEY_STOPCD 166
KEY_RECORD 167
KEY_REWIND 168
KEY_PHONE 169 /* Media Select Telephone */
KEY_ISO 170
KEY_CONFIG 171 /* AL Consumer Control Configuration */
KEY_HOMEPAGE 172 /* AC Home */
KEY_REFRESH 173 /* AC Refresh */
KEY_EXIT 174 /* AC Exit */
KEY_MOVE 175
KEY_EDIT 176
KEY_SCROLLUP 177
KEY_SCROLLDOWN 178
KEY_KPLEFTPAREN 179
KEY_KPRIGHTPAREN 180
KEY_NEW 181 /* AC New */
KEY_REDO 182 /* AC Redo/Repeat */
KEY_F13 183
KEY_F14 184
KEY_F15 185
KEY_F16 186
KEY_F17 187
KEY_F18 188
KEY_F19 189
KEY_F20 190
KEY_F21 191
KEY_F22 192
KEY_F23 193
KEY_F24 194
KEY_PLAYCD 200
KEY_PAUSECD 201
KEY_PROG3 202
KEY_PROG4 203
KEY_ALL_APPLICATIONS 204 /* AC Desktop Show All Applications */
KEY_DASHBOARD KEY_ALL_APPLICATIONS
KEY_SUSPEND 205
KEY_CLOSE 206 /* AC Close */
KEY_PLAY 207
KEY_FASTFORWARD 208
KEY_BASSBOOST 209
KEY_PRINT 210 /* AC Print */
KEY_HP 211
KEY_CAMERA 212
KEY_SOUND 213
KEY_QUESTION 214
KEY_EMAIL 215
KEY_CHAT 216
KEY_SEARCH 217
KEY_CONNECT 218
KEY_FINANCE 219 /* AL Checkbook/Finance */
KEY_SPORT 220
KEY_SHOP 221
KEY_ALTERASE 222
KEY_CANCEL 223 /* AC Cancel */
KEY_BRIGHTNESSDOWN 224
KEY_BRIGHTNESSUP 225
KEY_MEDIA 226
KEY_SWITCHVIDEOMODE 227 /* Cycle between available video
outputs (Monitor/LCD/TV-out/etc) */
KEY_KBDILLUMTOGGLE 228
KEY_KBDILLUMDOWN 229
KEY_KBDILLUMUP 230
KEY_SEND 231 /* AC Send */
KEY_REPLY 232 /* AC Reply */
KEY_FORWARDMAIL 233 /* AC Forward Msg */
KEY_SAVE 234 /* AC Save */
KEY_DOCUMENTS 235
KEY_BATTERY 236
KEY_BLUETOOTH 237
KEY_WLAN 238
KEY_UWB 239
KEY_UNKNOWN 240
KEY_VIDEO_NEXT 241 /* drive next video source */
KEY_VIDEO_PREV 242 /* drive previous video source */
KEY_BRIGHTNESS_CYCLE 243 /* brightness up, after max is min */
KEY_BRIGHTNESS_AUTO 244 /* Set Auto Brightness: manual
brightness control is off,
rely on ambient */
KEY_BRIGHTNESS_ZERO KEY_BRIGHTNESS_AUTO
KEY_DISPLAY_OFF 245 /* display device to off state */
KEY_WWAN 246 /* Wireless WAN (LTE, UMTS, GSM, etc.) */
KEY_WIMAX KEY_WWAN
KEY_RFKILL 247 /* Key that controls all radios */
KEY_MICMUTE 248 /* Mute / unmute the microphone */
Big thanks to DDH69, DOFLinx Developer
A massive thanks to DDH69, the developer of DOFLinx, for his collaboration and help to make this happen. DOFLinx and the MAME version enabling live scores is offered at no charge, but donations to DDH69 to cover equipment costs and tools needed for ongoing development are much appreciated. https://www.paypal.com/donate?hosted_button_id=YEPCTUYFX5KDE