Author Topic: Help on makeing a neomame build for v0.103  (Read 12461 times)

Offline James33

  • Expert
  • *****
  • Posts: 532
  • Karma: +3/-0
  • The Mame Man
    • Emulation Zone
Help on makeing a neomame build for v0.103
« on: January 17, 2006, 04:47:16 AM »
Ok I am bit stuck here ,
Can anyone tell me what is needed in the neomame.mak file  so it hooks everything up properly . Anything else needed ?
IQ Forum Member

Offline neo04

  • Jr. Member
  • **
  • Posts: 90
  • Karma: +1/-0
Re: Help on makeing a neomame build for v0.103
« Reply #1 on: January 17, 2006, 05:36:45 AM »
try these:
Code: [Select]
# CPUs
CPUS+=Z80@
CPUS+=M68000@

# SOUNDs
SOUNDS+=YM2610@
SOUNDS+=AY8910@

OBJS = \
$(OBJ)/machine/neogeo.o $(OBJ)/machine/pd4990a.o \
$(OBJ)/machine/neocrypt.o $(OBJ)/machine/neoprot.o $(OBJ)/machine/neoboot.o \
$(OBJ)/vidhrdw/neogeo.o $(OBJ)/drivers/neogeo.o \

# MAME specific core objs
COREOBJS += $(OBJ)/driver.o $(OBJ)/cheat.o

Offline James33

  • Expert
  • *****
  • Posts: 532
  • Karma: +3/-0
  • The Mame Man
    • Emulation Zone
Re: Help on makeing a neomame build for v0.103
« Reply #2 on: January 17, 2006, 05:58:50 AM »
Yeah I have it like that already but I get errors

Quote
Compiling src/sound/2610intf.c...
src/sound/2610intf.c: In function `ym2610b_get_info':
src/sound/2610intf.c:504: error: `ym2610b_start' undeclared (first use in this f
unction)
src/sound/2610intf.c:504: error: (Each undeclared identifier is reported only on
ce
src/sound/2610intf.c:504: error: for each function it appears in.)
make: *** [obj/neomameppp/sound/2610intf.o] Error 1



EDIT: I have it working now yay :)
« Last Edit: January 17, 2006, 06:44:46 AM by James33 »
IQ Forum Member

Offline neo04

  • Jr. Member
  • **
  • Posts: 90
  • Karma: +1/-0
Re: Help on makeing a neomame build for v0.103
« Reply #3 on: January 17, 2006, 06:44:05 AM »
ah..ok :) in 2610intf.c, go at the bottom & u will see:
Code: [Select]
/**************************************************************************
 * Generic get_info
 **************************************************************************/

static void ym2610b_set_info(void *token, UINT32 state, union sndinfo *info)
{
switch (state)
{
/* no parameters to set */
}
}


void ym2610b_get_info(void *token, UINT32 state, union sndinfo *info)
{
switch (state)
{
/* --- the following bits of info are returned as 64-bit signed integers --- */

/* --- the following bits of info are returned as pointers to data or functions --- */
case SNDINFO_PTR_SET_INFO: info->set_info = ym2610b_set_info; break;
case SNDINFO_PTR_START: info->start = ym2610b_start; break;
case SNDINFO_PTR_STOP: info->stop = ym2610_stop; break;
case SNDINFO_PTR_RESET: info->reset = ym2610_reset; break;

/* --- the following bits of info are returned as NULL-terminated strings --- */
case SNDINFO_STR_NAME: info->s = "YM2610B"; break;
case SNDINFO_STR_CORE_FAMILY: info->s = "Yamaha FM"; break;
case SNDINFO_STR_CORE_VERSION: info->s = "1.0"; break;
case SNDINFO_STR_CORE_FILE: info->s = __FILE__; break;
case SNDINFO_STR_CORE_CREDITS: info->s = "Copyright (c) 2004, The MAME Team"; break;
}
}
remove these lines or comment it out

Offline James33

  • Expert
  • *****
  • Posts: 532
  • Karma: +3/-0
  • The Mame Man
    • Emulation Zone
Re: Help on makeing a neomame build for v0.103
« Reply #4 on: January 17, 2006, 06:46:22 AM »
Yeah I just found that a momment ago :)

So I did this

Thanks neo :)

Code: [Select]
#ifndef NEOMAME
/**************************************************************************
 * Generic get_info
 **************************************************************************/

static void ym2610b_set_info(void *token, UINT32 state, union sndinfo *info)
{
switch (state)
{
/* no parameters to set */
}
}


void ym2610b_get_info(void *token, UINT32 state, union sndinfo *info)
{
switch (state)
{
/* --- the following bits of info are returned as 64-bit signed integers --- */

/* --- the following bits of info are returned as pointers to data or functions --- */
case SNDINFO_PTR_SET_INFO: info->set_info = ym2610b_set_info; break;
case SNDINFO_PTR_START: info->start = ym2610b_start; break;
case SNDINFO_PTR_STOP: info->stop = ym2610_stop; break;
case SNDINFO_PTR_RESET: info->reset = ym2610_reset; break;

/* --- the following bits of info are returned as NULL-terminated strings --- */
case SNDINFO_STR_NAME: info->s = "YM2610B"; break;
case SNDINFO_STR_CORE_FAMILY: info->s = "Yamaha FM"; break;
case SNDINFO_STR_CORE_VERSION: info->s = "1.0"; break;
case SNDINFO_STR_CORE_FILE: info->s = __FILE__; break;
case SNDINFO_STR_CORE_CREDITS: info->s = "Copyright (c) 2004, The MAME Team"; break;
}
}
#endif /* NEOMAME */
« Last Edit: January 17, 2006, 06:49:21 AM by James33 »
IQ Forum Member

Offline neo04

  • Jr. Member
  • **
  • Posts: 90
  • Karma: +1/-0
Re: Help on makeing a neomame build for v0.103
« Reply #5 on: January 17, 2006, 07:38:02 AM »
no prob man.. i wish mameplus will fix neopong bug

Offline mamesick

  • Newbies
  • *
  • Posts: 17
  • Karma: +0/-0
  • MAME32FX
    • MAME32FX
Re: Help on makeing a neomame build for v0.103
« Reply #6 on: January 17, 2006, 10:04:19 AM »
The AY8910 sound chip isn't used by NeoGeo hardware, so the following line could be removed safely:

SOUNDS+=AY8910@

I'm speaking of REAL NeoGeo hardware games. I don't know if some homebrew/hacks use this chip. With official MAME source it isn't needed at all.

And also, but this is simple a matter of different ways to made the same thing, instead of commenting out code in 2610intf.c , you can add this to the sound cores in your mak file:

SOUNDS+=YM2610B@


Offline James33

  • Expert
  • *****
  • Posts: 532
  • Karma: +3/-0
  • The Mame Man
    • Emulation Zone
Re: Help on makeing a neomame build for v0.103
« Reply #7 on: January 17, 2006, 10:44:47 AM »
Thanks for that info ,Nice to know :)
IQ Forum Member

Offline neo04

  • Jr. Member
  • **
  • Posts: 90
  • Karma: +1/-0
Re: Help on makeing a neomame build for v0.103
« Reply #8 on: January 17, 2006, 10:48:55 AM »
mamesick, how can i disable AY8910 without having problems in compiling?

Offline mamesick

  • Newbies
  • *
  • Posts: 17
  • Karma: +0/-0
  • MAME32FX
    • MAME32FX
Re: Help on makeing a neomame build for v0.103
« Reply #9 on: January 17, 2006, 12:19:01 PM »
mamesick, how can i disable AY8910 without having problems in compiling?

Well, I use this MAME.MAK when I want to compile a NeoGeo dedicated build:

Code: [Select]
# uncomment the following lines to include a CPU core
CPUS+=Z80@
CPUS+=M68000@

# uncomment the following lines to include a sound core
SOUNDS+=YM2610@
SOUNDS+=YM2610B@

DRVLIBS = \
$(OBJ)/neogeo.a \

$(OBJ)/neogeo.a: \
$(OBJ)/machine/neogeo.o $(OBJ)/machine/pd4990a.o \
$(OBJ)/machine/neocrypt.o $(OBJ)/machine/neoprot.o $(OBJ)/machine/neoboot.o \
$(OBJ)/vidhrdw/neogeo.o $(OBJ)/drivers/neogeo.o \

COREOBJS += $(OBJ)/driver.o $(OBJ)/cheat.o


Simply replace your MAME.MAK with this. It works fine with MAME, MAME32 and I hope with Plus! too. Don't modify anything else in the source core. I have attached the file for test.
« Last Edit: January 17, 2006, 12:22:32 PM by mamesick »

Offline KingHanco

  • Sr. Member
  • ****
  • Posts: 401
  • Karma: +0/-4
  • "Special " Member
Re: Help on makeing a neomame build for v0.103
« Reply #10 on: January 17, 2006, 06:14:49 PM »
Everymine. I had it in the wrong folder. It shouldv'e been in the D:\MAMESRC\src instead in the D:\MAMESRC. I try it and it gave me a bunches of drivers errors.
« Last Edit: January 18, 2006, 02:00:30 AM by KingHanco »

Offline robber804

  • Newbies
  • *
  • Posts: 40
  • Karma: +0/-0
  • Relentless Bastard
Re: Help on makeing a neomame build for v0.103
« Reply #11 on: January 18, 2006, 01:53:24 AM »
Uhhhh... Does work you probably didn't delete the obj directory before you tried to recompile using the new mame.mak.

Uhhhh... Doesn't work. It looking for the missing files from the Mame 0.103u2 source. What did I do wrong? ---> Missing the neogeo.a. Where do I look for the neogeo.a at?

Or is this wrong?

Code: [Select]
@echo off
set PATH=C:\MinGW\bin;%PATH%
echo Compile in progress Please wait !
make -f mame.mak WINUI=1 SUFFIX=32 NAME=MAME32
echo Compile is complete .
pause
echo Enjoy :)
pause
-robber804

Offline KingHanco

  • Sr. Member
  • ****
  • Posts: 401
  • Karma: +0/-4
  • "Special " Member
Re: Help on makeing a neomame build for v0.103
« Reply #12 on: January 18, 2006, 02:01:35 AM »
Uhhhh... Does work you probably didn't delete the obj directory before you tried to recompile using the new mame.mak.


No. There wasn't a obj directory. Read at the top. I had it in the wrong folder. It have alots of errors.

Anyway, I can't get it to make without the games drivers error.
« Last Edit: January 18, 2006, 02:05:00 AM by KingHanco »

Offline mamesick

  • Newbies
  • *
  • Posts: 17
  • Karma: +0/-0
  • MAME32FX
    • MAME32FX
Re: Help on makeing a neomame build for v0.103
« Reply #13 on: January 18, 2006, 03:36:55 AM »
Anyway, I can't get it to make without the games drivers error.

Obviously you have to modify driver.c too and remove all non-neogeo games. I thought this was implicit...

Offline KingHanco

  • Sr. Member
  • ****
  • Posts: 401
  • Karma: +0/-4
  • "Special " Member
Re: Help on makeing a neomame build for v0.103
« Reply #14 on: January 18, 2006, 05:43:04 AM »
Obviously you have to modify driver.c too and remove all non-neogeo games. I thought this was implicit...

Oh great. Thanks for the tip. :biggrin:

=====================================================================================

Is this the way that add the Capcom games?

Code: [Select]
# uncomment the following lines to include a CPU core
CPUS+=Z80@
CPUS+=M68000@

# uncomment the following lines to include a sound core
SOUNDS+=YM2610@
SOUNDS+=YM2610B@

DRVLIBS = \
$(OBJ)/neogeo.a $(OBJ)/capcom.a \

$(OBJ)/neogeo.a: \
$(OBJ)/machine/neogeo.o $(OBJ)/machine/pd4990a.o \
$(OBJ)/machine/neocrypt.o $(OBJ)/machine/neoprot.o $(OBJ)/machine/neoboot.o \
$(OBJ)/vidhrdw/neogeo.o $(OBJ)/drivers/neogeo.o \

$(OBJ)/capcom.a: \
$(OBJ)/vidhrdw/vulgus.o $(OBJ)/drivers/vulgus.o \
$(OBJ)/vidhrdw/sonson.o $(OBJ)/drivers/sonson.o \
$(OBJ)/vidhrdw/higemaru.o $(OBJ)/drivers/higemaru.o \
$(OBJ)/vidhrdw/1942.o $(OBJ)/drivers/1942.o \
$(OBJ)/vidhrdw/exedexes.o $(OBJ)/drivers/exedexes.o \
$(OBJ)/vidhrdw/commando.o $(OBJ)/drivers/commando.o \
$(OBJ)/vidhrdw/gng.o $(OBJ)/drivers/gng.o \
$(OBJ)/vidhrdw/gunsmoke.o $(OBJ)/drivers/gunsmoke.o \
$(OBJ)/vidhrdw/srumbler.o $(OBJ)/drivers/srumbler.o \
$(OBJ)/vidhrdw/lwings.o $(OBJ)/drivers/lwings.o \
$(OBJ)/vidhrdw/sidearms.o $(OBJ)/drivers/sidearms.o \
$(OBJ)/vidhrdw/bionicc.o $(OBJ)/drivers/bionicc.o \
$(OBJ)/vidhrdw/1943.o $(OBJ)/drivers/1943.o \
$(OBJ)/vidhrdw/blktiger.o $(OBJ)/drivers/blktiger.o \
$(OBJ)/vidhrdw/tigeroad.o $(OBJ)/drivers/tigeroad.o \
$(OBJ)/vidhrdw/lastduel.o $(OBJ)/drivers/lastduel.o \
$(OBJ)/vidhrdw/sf.o $(OBJ)/drivers/sf.o \
$(OBJ)/machine/kabuki.o \
$(OBJ)/vidhrdw/mitchell.o $(OBJ)/drivers/mitchell.o \
$(OBJ)/drivers/egghunt.o \
$(OBJ)/vidhrdw/cbasebal.o $(OBJ)/drivers/cbasebal.o \
$(OBJ)/vidhrdw/cps1.o $(OBJ)/drivers/cps1.o $(OBJ)/drivers/cps2.o \
$(OBJ)/drivers/fcrash.o \
$(OBJ)/drivers/cps3.o \
$(OBJ)/machine/znsec.o $(OBJ)/machine/at28c16.o $(OBJ)/machine/mb3773.o $(OBJ)/drivers/zn.o \

COREOBJS += $(OBJ)/driver.o $(OBJ)/cheat.o

What do I need to add in for the Capcom CPU and Sound core?
« Last Edit: January 18, 2006, 06:15:58 AM by KingHanco »