The first thing most people do, is to enable the test drivers. Some of these games work and are left out for various reasons, but most of them do not work (yet). It may be best to build an official version before tinkering with these. Adding games from /src/driver.c is one of the few things you can do safely without deleting your /obj directory and starting a fresh build. Anyway, this will tell you if one of the test drivers are the cause of a compile error (and you should take it back out when this occurs). Anyway, to do this, go to /src/driver.c and change TESTDRIVER to DRIVER next to any game you wish to enable. Sometimes, you may come across a driver that is just commented out with // . Just remove the // and you're done!
In src/drivers/neogeo.c , scroll down until you see most any ROM_END. Copy the following and paste it in (in between a ROM_END and a ROM_START) :
ROM_START( digerman )
ROM_REGION( 0x100000, REGION_CPU1, 0 )
ROM_LOAD16_WORD_SWAP( "dig_p1.rom", 0x000000, 0x080000, CRC(eda433d7) )
NEO_SFIX_64K( "dig_s1.rom", CRC(75a88c1f) )
NEO_BIOS_SOUND_64K( "dig_m1.rom", CRC(833cdf1b) )
ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
ROM_LOAD( "dig_v1.rom", 0x000000, 0x80000, CRC(ee15bda4) )
NO_DELTAT_REGION
ROM_REGION( 0x400000, REGION_GFX3, 0 )
ROM_LOAD16_BYTE( "dig_c1.rom", 0x000000, 0x80000, CRC(3db0a4ed) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "dig_c2.rom", 0x000001, 0x80000, CRC(3e632161) ) /* Plane 2,3 */
ROM_END
Next, scroll down to the bottom and copy and paste the following:
GAMEB( 2000, digerman, neogeo, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "digerman" )
Finally, go to src/driver.c and find where the Neo Geo games are listed (actually you could add this most anywhere) and add:
DRIVER (digerman )
Wanna Play the home brew game NeoPong? Done the same way. NeoGeo emulation is so accurate, you can pretty much drop any driver right in and it will work (unless it has a different encryption than what is known already)..
src/drivers/neogeo.c
ROM_START( neopong )
ROM_REGION( 0x100000, REGION_CPU1, 0 )
ROM_LOAD16_WORD_SWAP( "neopong_p1.rom", 0x000000, 0x020000, CRC(9f35e29d) )
NEO_SFIX_128K( "neopong_s1.rom", CRC(cd19264f) )
NEO_BIOS_SOUND_128K( "neopong_m1.rom", CRC(78c851cb) )
ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
ROM_LOAD( "neopong_v1.rom", 0x000000, 0x200000, CRC(6c31223c) )
NO_DELTAT_REGION
ROM_REGION( 0x200000, REGION_GFX3, 0 )
ROM_LOAD16_BYTE( "neopong_c1.rom", 0x000000, 0x100000, CRC(f5a57d1a) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "neopong_c2.rom", 0x000001, 0x100000, CRC(affde64e) ) /* Plane 2,3 */
ROM_END
GAMEB( 2001, neopong, neogeo, neogeo, neogeo, neogeo, neogeo,
ROT0, "NEODEV", "Neo-Pong!" )
add to src/driver.c file under
SNK:
DRIVER( neopong ) /* 0261 (c) 2001 SNK */
One Final note. Make sure the last line of neogeo.c or any other file, ends with a carriage return (hit enter/make sure there is a blank line at the bottom)