Table of Contents for
Gaming Hacks

Version ebook / Retour

Cover image for bash Cookbook, 2nd Edition Gaming Hacks by Simon Carless Published by O'Reilly Media, Inc., 2004
  1. Cover
  2. Gaming Hacks
  3. Credits
  4. Contributors
  5. Acknowledgments
  6. Foreword
  7. Preface
  8. How to Use This Book
  9. How This Book Is Organized
  10. Conventions Used in This Book
  11. Using Code Examples
  12. Comments and Questions
  13. Got a Hack?
  14. 1. Playing Classic Games
  15. Legal Emulation
  16. Play Commodore 64 Games Without the C-64
  17. Play Atari ROMs Without the Atari
  18. Use Atari Paddles with Your PC
  19. Run Homebrew Games on the Atari 2600
  20. Create Your Own Atari 2600 Homebrew Games
  21. Play Classic PC Graphic Adventures
  22. Play Old Games Through DOSBox
  23. Play Reissued All-in-One Joystick Games
  24. Play Arcade Games Without the Arcade
  25. Add and Manipulate a MAME Frontend
  26. Keep Your ROMs Tidy and Organized
  27. Learn Game-Specific MAME Controls
  28. Filter Inappropriate MAME ROMs
  29. Autoboot into MAME Heaven
  30. Play Emulated Arcade Games Online
  31. Play Classic Pinball Without the Table
  32. Emulate the SNES on the Dreamcast
  33. 2. Playing Portably
  34. Play Games on Your iPod
  35. Mod Your Game Boy
  36. Take and Print Photos with Your Game Boy
  37. Compose Music on Your Game Boy
  38. Explore the GP32 Handheld Gaming System
  39. Take Your Console with You
  40. Explore the Bandai WonderSwan
  41. Play Real Games on Your PDA
  42. Install a PlayStation 2 in Your Car
  43. 3. Playing Well with Others
  44. Practice Proper MMORPG Etiquette
  45. Understand MMORPG Lingo
  46. Grind Without Going Crazy
  47. Make a Profit in Vana’diel
  48. Write MMORPG Macros
  49. Build an Effective Group
  50. Catch Half-Life FPS Cheaters Redhanded
  51. 4. Playing with Hardware
  52. Build a Quiet, Killer Gaming Rig
  53. Find and Configure the Best FPS Peripherals
  54. Adapt Old Video Game Controllers to the PC
  55. Choose the Right Audio/Video Receiver
  56. Place Your Speakers Properly
  57. Connect Your Console to Your Home Theater
  58. Tune Console Video Output
  59. Tune Your TV for Console Video
  60. PC Audio Hacking
  61. Optimize PC Video Performance
  62. Build a Dedicated Multimedia PC
  63. Use a Multimedia Projector for Gaming
  64. 5. Playing with Console and Arcade Hardware
  65. Play LAN-Only Console Games Online
  66. Hack the Nuon DVD Player/Gaming System
  67. Play Import Games on American Consoles
  68. Find a Hackable Dreamcast
  69. Play Movies and Music on Your Dreamcast
  70. Hack the Dreamcast Visual Memory Unit
  71. Unblur Your Dreamcast Video
  72. Use Your Dreamcast Online
  73. Host Dreamcast Games Online
  74. Burn Dreamcast-Compatible Discs on Your PC
  75. Burn Dreamcast Homebrew Discs
  76. Buy Your Own Arcade Hardware
  77. Configure Your Arcade Controls, Connectors, and Cartridges
  78. Reorient and Align Your Arcade Monitor
  79. Buy Cart-Based JAMMA Boards
  80. Programming Music for the Nintendo Entertainment System
  81. 6. Playing Around the Game Engine
  82. Explore Machinima
  83. Choose a Machinima Engine
  84. Film Your First Machinima Movie
  85. Improve Your Camera Control
  86. Record Game Footage to Video
  87. Speedrun Your Way Through Metroid Prime
  88. Sequence-Break Quake
  89. Run Classic Game ROM Translations
  90. Change Games with ROM Hacks
  91. Apply ROM Hacks and Patches
  92. Create PS2 Cheat Codes
  93. Hack Xbox Game Saves
  94. Cheat on Other Consoles
  95. Modify PC Game Saves and Settings
  96. Buff Your Saved Characters
  97. Create Console Game Levels
  98. 7. Playing Your Own Games
  99. Adventure Game Studio Editing Tips
  100. Create and Play Pinball Tables
  101. Put Your Face in DOOM
  102. Create a Vehicle Model for Unreal Tournament 2004
  103. Add a Vehicle to Unreal Tournament 2004
  104. Modify the Behavior of a UT2004 Model
  105. Download, Compile, and Create an Inform Adventure
  106. Decorate Your IF Rooms
  107. Add Puzzles to Your IF Games
  108. Add Nonplayer Characters to IF Adventures
  109. Make Your IF NPCs Move
  110. Make Your IF NPCs Talk
  111. Create Your Own Animations
  112. Add Interactivity to Your Animations
  113. Write a Game in an Afternoon
  114. 8. Playing Everything Else
  115. Tweak Your Tactics for FPS Glory
  116. Beat Any Shoot-Em-Up
  117. Drive a Physics-Crazed Motorcycle
  118. Play Japanese Games Without Speaking Japanese
  119. Back Up, Modify, and Restore PlayStation Saved Games
  120. Access Your Console’s Memory Card Offline
  121. Overclock Your Console
  122. Index
  123. Colophon

Learn Game-Specific MAME Controls

Stop scrabbling around to work out which key does what.

Have you ever loaded a MAME ROM for the first time and found yourself flailing around, trying to figure out which buttons it uses and what they do? Sometimes you’ll play for a while before you realize you have a smart bomb button that’ll wipe out the mass of enemies onscreen in one fell swoop. Other times you’ll completely miss the point of the entire game because you’re missing some vital details about keys or objectives scrawled on the cabinet itself, and, obviously, you don’t have access to the cabinet.

The Controls.dat project (http://fe.mamehost.com/controls/controls.php) attempts to catalog the exact controls of every MAME-compatible title ever, along with names and directions. There are even extra fields for information about what to do during the game, in case there are particularly nonobvious game mechanics.

If Controls.dat supplies controls information for each title in the MAME library in an abstract dataset (much like the Catlist game listing in [Hack #14] ), then frontends and emulators can take advantage of it by providing a listing of buttons and their effects. You’ll flail no more, at least in figuring out the controls. If you’re running a MAME cabinet with light-up buttons, it may eventually even light up the buttons used by that particular game!

A Work in Progress

However, at press time, the Controls.dat project is still in progress and is actually in a reasonably heavy state of flux. Right now, and hopefully for the future, the FAQ page for the project (http://fe.mamehost.com/controls/faq.php) provides plenty of useful information.

In particular, the site’s maintainers argue that “[there] are other sources for similar data, like MAME’s listinfo, or KLOV (http://www.klov.org), but these sources are either inaccurate or incomplete.”

Consult the FEDev message board (http://fe.mamehost.com/yabbse/index.php?board=10) for information on where to download the latest version of the file, where you can help classify or add items, and to learn about frontends that use the file. It’s also possible to browse any individual record for one particular game (for example, http://fe.mamehost.com/controls/report.php?theGame=19xx) and see the information in them from the web site. If you register, you can add to the knowledge base by entering game information yourself.

An Example Controls.dat Entry

Here’s the example entry from the Controls.dat file for the brawler Bad Dudes vs. Dragon Ninja:

[baddudes]
gamename=Bad Dudes vs. Dragon Ninja (US)
numPlayers=2
alternating=0
mirrored=1
tilt=0
usesService=0
P1NumButtons=2
P1Controls=8-way Joystick+joy8way
P1_BUTTON2=Jump
P1_BUTTON1=Attack
P1_JOYSTICK_UP=Up
P1_JOYSTICK_DOWN=Down
P1_JOYSTICK_LEFT=Left
P1_JOYSTICK_RIGHT=Right

There’s extra information in the miscDetails= field, too, which can be invaluable for working out how to actually play the game. Here’s this game’s extra information:

Holding down attack while standing still will charge up a super punch. Pressing jump and attack at once will do a super kick at the expense of some of your energy.

Other files, such as MAME’s listinfo, already map out this information, but the notes in the Control.dat file tend to be more practical than a straightforward plot/background description.

Frontends That Integrate Controls.dat Correctly

As mentioned before, we’re still somewhat in the Wild West when it comes to Controls.dat integration into frontends. Here are three ways you can see it in action.

Johnny5 (http://www.oscarcontrols.com/lazarus/archives/000032.html)

This standalone application shows the layout of controls from Controls.dat files. However, it’s not a fully fledged frontend, just a building block.

Dragon King (http://www.oscarcontrols.com/lazarus/)

This frontend from the author of Johnny5 uses the latter for Controls.dat support. This is a complex but excellent frontend well worth exploring.

MAMEWAH (http://mamewah.mameworld.net/)

This larger frontend from the United Kingdom also integrates Johnny5 and has many similarities to the classic ArcadeOS frontend.

Controls.dat accounts for about 500 MAME titles right now, with thousands to go. The project continues to make swift progress; you’re likely to see it integrated more and more into the existing MAME framework, making for a better, more satisfying emulation experience for all. Hurrah for that!