Closed ghost closed 6 years ago
Alright im on the case apart from Tang Tang another couple of games called Head Panic and Swat Police would be playable with the driver update, i have the code already done so hopefully it wont be too much trouble to backport it to this core.
Regards
Yay! Let me know when it's ready, I can't wait to play it again.
well gimmie a chance bigman all the prelim work is done i now have the very tedious and laborious task of rolling back all the memory maps to MAME78 standards then test all the games.
I should have a new commit ready later today or tommorow.
Your request has been fulfilled ;)
@arcadez I couldn't get the build needed in the Core Updater, so I attempted to compile it myself and got the following error:
src/vidhrdw/esd16_vidhrdw.c:44:1: error: C++ style comments are not allowed in ISO C90
//extern data16_t *head_unknown1;
^
src/vidhrdw/esd16_vidhrdw.c:44:1: error: (this will be reported only once per input file)
Makefile:493: recipe for target 'src/vidhrdw/esd16_vidhrdw.o' failed
make: *** [src/vidhrdw/esd16_vidhrdw.o] Error 1
Later builds stop at this error instead:
src/mame2003/mame2003.c:1042:3: note: in expansion of macro ‘EMIT_RETRO_PAD_DIRECTIONS’
EMIT_RETRO_PAD_DIRECTIONS(1),(options.retropad_layout = "modern" : EMIT_RETRO_PAD_MODERN(1) ? (options.retropad_layout = "snes" : EMIT_RETRO_PAD_SNES(1) ? EMIT_RETRO_PAD(1))),EMIT_RETRO_PAD_MOUSE(1),
^~~~~~~~~~~~~~~~~~~~~~~~~
src/mame2003/mame2003.c:1042:31: error: expected expression before ‘,’ token
EMIT_RETRO_PAD_DIRECTIONS(1),(options.retropad_layout = "modern" : EMIT_RETRO_PAD_MODERN(1) ? (options.retropad_layout = "snes" : EMIT_RETRO_PAD_SNES(1) ? EMIT_RETRO_PAD(1))),EMIT_RETRO_PAD_MOUSE(1),
^
Makefile:493: recipe for target 'src/mame2003/mame2003.o' failed
make: *** [src/mame2003/mame2003.o] Error 1
make: *** Waiting for unfinished jobs....
Looks like Tang Tang has to wait a bit more. :(
there's a little problem with dankcushion's controls PR - I didn't realize it didn't compile. fixing now, will be running again soon
@SapphireTactician should be ok now
@markwkidd Still no joy
src/vidhrdw/esd16_vidhrdw.c:44:1: error: C++ style comments are not allowed in ISO C90
//extern data16_t *head_unknown1;
^
src/vidhrdw/esd16_vidhrdw.c:44:1: error: (this will be reported only once per input file)
Makefile:493: recipe for target 'src/vidhrdw/esd16_vidhrdw.o' failed
make: *** [src/vidhrdw/esd16_vidhrdw.o] Error 1
Ah. That's from @arcadez new code on this driver. @arcadez should I fix or do you want to?
@arcadez actually I'll do it. I'm set up for this kind of comment change project. I'll take you once the fix is commited
@SapphireTactician one more time now... I think things are straightened up now with this new driver
Building now, should only take about 7 minutes on this old dinosaur.
Yay! It works, just one minor issue, the BGM is too soft, SFX volume is fine though. In MAME 2010 this can be corrected in the "Tab" menu. Can these be added as game options or something?
@arcadez I don't think we necessarily need this game's volume mixer in the GUI if there is a way to hardcode a good values for BGM. Is that possible?
@markwkidd Can try using the volumes in the screenshot. The highlighted one is BGM, the one below is SFX. Surprised the SFX are so loud at that low volume. I don't recall the starting values but I can probably get them by deleting the NVRAM or game options if you'd like to see them.
Meanwhile, I'm going to go hide before arcadez kills me. I'm sure I've been driving him nuts today.
@markwkidd it would be easy to raise up the volume level for the YM3812 sound it's at 40 just now it can go as high as 100.............
static struct YM3812interface esd16_ym3812_intf = { 1, 4000000, / ? / { 100 }, { 0 }, / IRQ Line / };
All the ESD16 games share it however so what might be good for Tang Tang might mess up the sound balance in the other games that's something maybe @SapphireTactician might like to test for..?? tell me a good balance to strike between the YM and OKI that works for all of the games then i'll make the change in the driver.
@SapphireTactician I checked the source file esd16
and it looks like 10 games share this driver. The question is: do they all have the same problem with background music too low? If so then the fix can be applied to everyone at once.
Would you consider expanding your process to try to investigate the games BGM volume? Here is where they are listed: https://github.com/libretro/mame2003-plus-libretro/blob/master/src/drivers/esd16.c#L938-L954
It's the least I can do. I'm on the case.
@markwkidd I tested out the other games, these are my findings:
The BGM volume appears to be the same or similar for all the esd16
games, however the SFX volume is significantly louder in Tang Tang than the other esd16
games. The other games' SFX volume varies slightly but generally sounds about equal to or slightly louder than the BGM volume.
However, when comparing the default volumes using MAME2010, the slider is in the same position for all of them despite the discrepancy.
tangtang
swatpolc
Also note how much louder I made the BGM volume in Tang Tang to compensate.
Would you say that the volume for the games in these drivers is generally in line with games from other drivers?
In other words, do you think that the SFX in Tang Tang is the outlier, with all other sound in this driver about where it needs to be?
The SFX in general for the ESD games seems to be a bit higher to me on average than the rest of my collection, but Tang Tang is the worst offender in that regard by a noticeable margin imo. So in that sense, Tang Tang is an outlier among outliers. I examined these game both with my monitor's garbage built-in speakers, and a much more reliable pair of earbuds.
Part of me would almost want to suggest volume sliders like the MAME 2010 core menu does, as even outside of this driver, there are other outliers. toypop
by Namco for example has much louder BGM in comparison to the rest of my collection for example. Although for some reason, I'm a lot less bothered by the BGM drowning out the SFX than the SFX drowning out the BGM.
MAME78 does support volume slider controls is there a problem with them in this core..?? i assume there must be or you would have just balanced out the bg music and sfx yourself so that just leaves us one option then create a new sound table just for tang tang i'll do this later on
I think it's going to be as easy as making a struct unique to tangtang in the driver with the right volume level for the SFX or the BGM. Then when it's tangtang loading, have the driver pass that tangtang struct in to the sound device rather than the generic struct.
Once we hear back on my question I think I can code up this idea in a minute or two. I may be wrong but I think we can just fix this in the driver transparently by setting the mixer different for just tangtang...
@markwkidd I answered your question here https://github.com/libretro/mame2003-plus-libretro/issues/148#issuecomment-385141166 I'm guessing it got lost in the fold somehow. Unless there's another question you asked that I missed.
@arcadez This is my TAB menu for Tang Tang as of commit c980547
Ah sorry. I assume it wouldn't be too hard to implement the mixers as core options but somehow it seems so much better to code in a good default to begin with and forget the option.
SapphireTactician feel free to log other issues about sound balance -- I don't have the firsthand experience with these games that you do! It's great.
I'm glad you're who with experience in the practicalities of playing them.
@markwkidd @arcadez commit 96fad41 broke Tang Tang
Relevant Terminal Output
[libretro INFO] [MAME 2003+] Total MAME drivers: 4814. Matched game driver: [tangtang].
[INFO] Environ SYSTEM_DIRECTORY: "/home/drew/.config/retroarch/system".
[INFO] Environ SET_ROTATION: 0
[libretro INFO] [MAME 2003+] Succesfully loaded ROMs.
[libretro ERROR] cpunum_get_localtime() called for invalid cpu num!
[INFO] Environ SET_PIXEL_FORMAT: RGB565.
[libretro INFO] [MAME 2003+] game bpp: [16], system bpp: [16], color format [RGB565] : SUPPORTED, enabling it.
[libretro ERROR] [MAME 2003+] Unable to start audio emulation
[ERROR] Failed to load content.
I do enjoy seeing the new logging system output for mame2003-plus -- more or less working. It doesn't tell me specifically what to this time but there is a good clue.
I'll let @arcadez take a look at the error itself before I jump into this one.
The game is likely getting confused around what sound table to load i'll just create a whole new machine start for Tang Tang
@SapphireTactician it should be ready to try again if you dare :)
As are the new retropad default mapping core options !
MAME78 does support volume slider controls is there a problem with them in this core..?? i assume there must be or you would have just balanced out the bg music and sfx yourself so that just leaves us one option then create a new sound table just for tang tang i'll do this later on
@arcadez Yes, volume sliders don't exist on this core for as long as I can remember. Ditto with the regular MAME 2003 core; unless they are only present on specific games and not every game? Do you want me to file that as a separate issue?
As far as Tang Tang is concerned, the PR helps the BGM volume considerably, thank you. My only remaining suggestion would be to also lower the SFX by a bit if it's not a chore to do as I feel that'd be a good balance.
Once that's taken care of, we're pretty much done with this issue.
I noticed a commit to help with the SFX being too loud. Everything seems good here now. Thank you so much for all of this work!!!! This game has a lot of sentimental value to me.
Description
@arcadez @markwkidd There's a game from the MAME 2010 Reference Set that I'd really like to see playable on the MAME 2003 Plus core, called "Tang Tang" (rom name:
tangtang
). This game is not part of the MAME 2003 set as the game was first dumped in November 2005 and it's first MAME release was on December 1st, 2005 for Mame 0.102u2.A MAME 2010 core / FBA core would be too slow for the devices I'd like to use this game on. Please make my dream of playing this game on MAME 2003 Plus come true.
Additional Info:
@markwkidd Advised me that I can help the process of support for this game being added by providing the following information from: http://adb.arcadeitalia.net/dettaglio_mame.php?game_name=tangtang&lang=en
First Release: Mame 0.102u2 released on Dec-01 2005
Info Readout:
0.182: David Haywood added a preconfigured NVRAM to Tang Tang so it won't boot with invalid settings.
0.102u4: Pierpaolo Prazzoli fixed sprite priorities in Tang Tang. Added missing gfx2 roms. Changed description to 'Tang Tang (ver. 0526, 26/05/2000)'.
13th December 2005: David Haywood - f205v of the MAME Italia Forum finished off Tang Tang and Spectrum 2000 by adding loading for the correct mask roms.
0.102u2: David Haywood added 'Tang Tang' (ESD 2000).
27th November 2005: David Haywood - Added Tang Tang to the esd16 driver, the GFX roms containing the backgrounds aren't dumped.
25th November 2005: f205v dumped Tang Tang (ver. 0526, 26/05/2000).
Early Driver History: