libretro / mame2003-plus-libretro

Updated 2018 version of MAME (0.78) for libretro. with added game support plus many fixes and improvements
Other
188 stars 108 forks source link

Cfgs and bootstraps to improve initialization and playability #875

Closed mahoneyt944 closed 3 years ago

mahoneyt944 commented 4 years ago

I'm making this to cover older issues since they are basically the same. The goal is to add bootstraps to fix initialization issues, CMOS errors, setup hassles, and volume issues related to .NV saves. Also correcting config files to unlock controls, game modes, max number of players, etc. What we want is for games to play correctly from the start without having to manually edit things or reboot.

UPDATES

General fixes / support added

Bootstraps added:

Cfg fixed:

Chopping block to be fixed / checked:

mahoneyt944 commented 4 years ago

@Wilstorm @arcadez2003 @KMFDManic

Comment any games here and I'll get to them. Welcoming testers too.

mahoneyt944 commented 4 years ago

@Wilstorm I started looking into the ddsom romsets to bootstrap the max players to 4 but there's choices on chute and multi/single with the player count. Not sure what should be selected for those or what they do. Any ideas?

KMFDManic commented 4 years ago

@mahoneyt944 for now, before i dig deeper, curious if we could get 6 player X Men going!

arcadez2003 commented 4 years ago

Looking at bootstrap.h all the ones i remember have been done already, as for Xmen 6p that would require a fair bit of graft, we also have to factor in most consoles only support 4p inputs wise so im wondering even if we get it playable with regards to all the devices this core is aimed at im struggling to think of any which would allow 6 players to play Xmen all at once.

arcadez2003 commented 4 years ago

@KMFDManic here ya go read the notes and tell me how it goes............

Xmen 6P.zip

mahoneyt944 commented 4 years ago

You'll have to catch me up on xmen6p. What's its current status in the core? Does it handle 4 players currently or is it too slow on lesser hardware? I'm not home to test right now. I have to agree with @arcadez2003 though 6players is going to be hard since most setups max at 4 but I guess there could be a reason for it in a dedicated cabinet. Three of the ipac2 setups with two players per ipac2 would be best since you can configure each key to a keyboard input and the keyboard has enough keys to choose from. But again probably not worth it unless it's a dedicated cabinet.

As for bootstraps, it's pretty much every game in a mid?unit driver since they all use CMOS and have volume issues. So I'll eventually sort those all out. I started looking into ddsom / clones to bootstrap 4 players enabled. These are all small bootstraps however they all include the game region so they will all be game specific. Not a problem just going to take longer. Also, I need to confirm the chute and single/multi selection before I can do them if anyone knows what those are and where they should be set. They are associated with the max player selection.

mahoneyt944 commented 4 years ago

245 was moved here for reference.

KMFDManic commented 4 years ago

@arcadez2003 Thanks:) I just thought it would be a much more cooler gimmick for people to enjoy than the "other" game that has 8 players, called Tank 8. I will check things out:)

@mahoneyt944 One thing that would rock, if you do get a few minutes. I tried synching the bootstraps over to Xtreme, and everything seemed to be fine, with exception of an error relative to Term2. Only worry about seeing if you can spot what may BE the conflict, if you have a little time to spare. Don't go way out of your way. Most of the other stuff I was able to get over with Grant2258, Markwkidd, Arcadez2003 being amazing Mates and advising on a few of the finer points.

Really loving the overall bootstrap implementation. And, I feel, once the groundwork is laid, Xtreme/Plus will remain amazing combination of Cores for all Platforms!

My Fork, again, is at:

https://github.com/KMFDManic/mame2003-xtreme

Just curious if I goofed somewhere in the adding. I can always try again, of course!

arcadez2003 commented 4 years ago

@KMFDManic with regards to the code i sent ya depending on if your core has the konami updates i did to get Lethal Enforcers to work.?? you'll need to change one line of code in vidhrdw to prevent a compile error.........

In konamic_vidhrdw.c find static data16_t *K053247_ram=0; and remove the static call so that xmen.c can externally use it

mahoneyt944 commented 4 years ago

@KMFDManic link me the branch you merged the term2 stuff in and I'll look. Probably just a minor typo or something.

mahoneyt944 commented 4 years ago

I made a branch for xmen6p with what you posted above, I edited the error log lines. Needs looked through/ tested still.

KMFDManic commented 4 years ago

@mahoneyt944 I will compile the XMen 6p when I wake up. If it works, I will do a demonstration video. It would be very cool in execution. As far as the Term2 error, I will have to redo it, since I just scrapped the whole mess. I am always messing around with a good 100 Compiles at any given time. But, right now, focusing mostly on MAME 2003 Plus/Xtreme, P-UAE. Really loving ALL of the latest commits for Plus...exceptional job! And, as always @arcadez2003 Hell yeah...Thanks for being such a great mate! That Wrestling Show (Dark Side of the Ring) is truly something! Thanks again for that recommend!

@Wilstorm Enjoy family time! If and when you are ready to try the SFII again, I can try another compile. Which way are you currently doing Plus for your Pi4, out of curiosity? I can probably adapt my makefile, if it isn't suitable enough.

mahoneyt944 commented 4 years ago

Sounds good, if it works I'll add all the final touches and merge. Double check that your romset is correct. I am curious how this game will play since the arcade cabinet used a dual display setup. Might require tweaks to smooth out between the displays. Similar to how punchout displays both.

KMFDManic commented 4 years ago

Ignore the Outrunners Bit...XMen 6 Player seems to show entire screen (One Monitor, widescreen)

@mahoneyt944 Gonna try to compile that one in a few, then test. As far as Dual Monitors, might have to do a fix akin to that which was done for Outrunners. Outrunners had dual monitors, too. I did a fix on my end on Xtreme for it, which basically was an alteration of Aspect Ratio, since the screen size was like 2 inches by 2 inches! But, the Plus End fix worked out nicely! For more info on it, and its history:

I will check the dip switches, too, to see if we can do it that way.

The initial information

https://github.com/libretro/mame2003-libretro/issues/155

The Fixups

https://github.com/libretro/mame2003-libretro/pull/391

Anyways, will report XMen 6 Player Results shortly! It usually takes a good 15 minutes to do a clean compile on MAME 2003s.

Wilstorm commented 4 years ago

@mahoneyt944 - Most of the games look good. As you already know from reading above Dungeons & Dragons seems to be 2 player only still! :)

As for the chutes that's what I was trying to explain in the other thread but should have expanded the thought. The chutes are basically exactly as they sound it's either a shared chute for all coins/credits or one chute per player. I always set mine to 4 players--4 chutes--single. That way when I have 4 controllers going each player may add their own coins/credits.

If you go the single chute route then players 1 or 2 will always have to add coins/credits for all players.

I think 4 players--4 chutes--single is the better way to go. If you have less than 4 players they will not be affected as most cabs have at least 2 credit buttons and if you do have 4 players then each may work their own game adding credits as they see fit. If you took the time to build a 4 player arcade cab then adding a credit button for each just makes sense.

If you're using controllers for 4 players it's a no-brainer for setting it that way so players 1 doesn't have to add coins for everyone.

I think the 4 player--1 chute--multi made more sense for old arcade machines if you only wanted one coin door with two chutes vs. the larger ones that had 4 chutes with 1 chute per player.

@KMFDManic - I am running RetroPie 4.6 on the Pi 4. Basically Buzz has everything setup in menu's so I just go to a menu option, click download from source and it downloads and compiles in one step...done and ready to go! ;) RetroPie hides most of the complexities from the user and just makes things simple. It's very menu-centric.

Over the weekend we were testing some of these games and my youngest daughter had an excitement equal to your own and we just had the best time playing. My wife had to peek her head in to see what all the excitement and laughter was about coming from her. She thought she was the best super hero playing Captain America and the Avengers. We actually finished the entire game she was having so much fun!!

KMFDManic commented 4 years ago

@mahoneyt944 Test Results, game loads and runs fine...Really like games that display in widescreen, like THIS one, Ninja Warriors, Warrior Blade: Rastan Saga, Darius, etc!

Wilstorm commented 4 years ago

@mahoneyt944 - Captain Commando seems to be defaulting to 2 player until you set it in the dip settings also.

markwkidd commented 4 years ago

I'm loving these decisive steps forward with bootstraps ❤️

Wilstorm commented 4 years ago

@mahoneyt944 - Ok, I went into each parent/clone to verify they have all players enabled with a good or bad. I was thinking about Dungeons & Dragons and if you go with 4 players--4 chutes--multi you should cover all case scenarios for everyone.

@markwkidd - I agree I'm digging it! ;)

Good: captaven captavna captavne captavnj captavnu captavuu ctribe cbribeb karatblu karatblz mystwarr mystwaru

Bad: captcomj captcomm captcomu ddsom ddsoma ddsomj ddsomjr1 ddsomr1 ddsomu ddsomur1

mahoneyt944 commented 4 years ago

@Wilstorm

captcomj captcomm captcomu

These are fixed. just tested these again. Updated plus from source again and delete your cfgs for all 3 then reload the games. Make sure you select plus for the emulator too. Sometimes I mess up and forget to change it from mame2003 (my default) to plus.

Ill get to the ddsom roms soon. Haven't corrected those.

mahoneyt944 commented 4 years ago

@KMFDManic since xmen is working ill merge it and we can see whats up with players 5 and 6.

mahoneyt944 commented 4 years ago

@KMFDManic just tested xmenp6u.zip everything works perfectly. All 6 players are working as intended. You must map the 6 players under input this game in the mame menu. IMG_20200831_190111098_1_1

mahoneyt944 commented 4 years ago

Updated metadata for xmen6p.

mahoneyt944 commented 4 years ago

@arcadez2003 @markwkidd . It looks like plus has naming conflicts for captcomu and captcomj romsets. These are normally captcommu and captcommj. Which means our high score dat and everything else is wrong. It would be easy to change the high score dat but I think we should correct the naming for future updates?

Wilstorm commented 4 years ago

@mahoneyt944 - Looks good here now. I hadn't checked my mail all weekend and I'm sure I missed an update in all those emails. There was a plenty this morning! I'm usually always on Plus, as it's my default, unless of course I test on vanilla 2003. Then sometimes I forget to flip it back the other way. =/

Nice job on the xmen6p. I'll have to update my set to give it go, just to see 6 peeps running around.

Wilstorm commented 4 years ago

Why can't you keep the 8.3 naming convention? I would leave the ROM's and change the hiscore.dat then it won't break anyone's current setup.

mahoneyt944 commented 4 years ago

Why can't you keep the 8.3 naming convention? I would leave the ROM's and change the hiscore.dat then it won't break anyone's current setup.

Either ways fine by me. Just looking for a general consensus. If we'd want to add the other captcomm clones later it could be an issue though.

Also, anytime the highscore.dat gets updated, since these come from newer makes it could get messed up again.

mahoneyt944 commented 4 years ago

@Wilstorm I updated the highscore.dat and left the naming convention alone.

Wilstorm commented 4 years ago

I agree on a consensus, just some thoughts. I would consider the hiscore.dat and cheat.dat secondary as there's a lot that could be updated in both those files. They just need a lot of work.

There's quite a few steps to add new entries. It's a lot of hex work and memory location poking to update or add a new game. There's some good tutorials on how to do it but I think some skill is involved until you get your groove. Also does back porting possibly break the ability to save high scores and use the cheats that currently work now.

There's an old hiscore.dat format and a new hiscore.dat format. They aren't compatible and you would need to convert between the two. I believe there was an open case on it but it might have been closed. To update and add new entries to those files.

Just doing a quick peek the cheat.dat has entries using the older DOS 8.3 naming convention and the hiscore.dat is using the newer naming conventions. I don't think it's as simple as just renaming those entries and everything will work.

I did contact Leezer (the guy that did the hiscore.dat) and he didn't have the exact version we are using for this core so the hiscore.dat may have extraneous entries from newer versions of MAME.

I wouldn't mind seeing new entries for some of the games Arcadez added, some of the "odd" controller type games he ported for stick are amazing...,plus just a bunch of others are great additions! :)

KMFDManic commented 4 years ago

@mahoneyt944 I should have thought to check there. 2nd tests always help! Things worked out great. I will do a test demonstration! Anything else u wanna see showcased?

mahoneyt944 commented 4 years ago

@KMFDManic love to see the foodf live center hack.

Details here: https://retropie.org.uk/forum/topic/25593/food-fight-joystick-troubles-solved/97

How to use the hack: https://retropie.org.uk/forum/topic/25593/food-fight-joystick-troubles-solved/119

mahoneyt944 commented 4 years ago

@Wilstorm captcomm, captcomu, captcomj all use the same high score address it was just labeled wrong in the highscore.dat I updated it already so captcomu and captcomj should now save highscores since captcomm works at that address already. Update from source and test.

Wilstorm commented 4 years ago

@mahoneyt944 - I will give them a go in the morning. I agree if the parent works at that address I would imagine all the clones will too. I wonder if their are other entries that might need just a simple rename like that to work. It's a flat ascii file, cheats.dat is too.

I started gathering old format hiscore.dat files a few months back to try and find some of the games Arcadez added figuring they would be a simple copy-n-paste to get them going. I don't know if you need to hook up new entries in the driver after adding an entry to the file.

KMFDManic commented 4 years ago

@mahoneyt944 As I believe you previously stated, MAME 2003 Plus runs it. So, I will try to get that in my test video once I try it out! Would also be interesting to do a little brief play of other ports of it, to see just how vast things change throughout the various versions.

mahoneyt944 commented 4 years ago

@Wilstorm ddsom and clones just fixed too.

mahoneyt944 commented 4 years ago

@KMFDManic yeah if you test mame2003 you'll find digital controls don't work right and analog always faces right when stopped (facing right is technically correct emulation). Mame2003-plus both digital and analog work out of the box facing right. Then turn the hack on and you'll see you stop where you last pressed, instead of always right. Then adjust debounce delay as needed for digital controls to feel right.

mahoneyt944 commented 4 years ago

The chopping block is cleared for the time being, need more games to analyze 😎. Keep an eye on the first post in this issue as I update it constantly with the game corrections we do here as well as updating the chopping block with your requests. So if your wondering if a game has been checked or fixed everything should be there.

mahoneyt944 commented 4 years ago

@arcadez2003 The build bot was yelling about this line extern WRITE8_HANDLER( K052109_w ); in xmen_vidhrdw.c so I changed it to extern WRITE8_HANDLER( int K052109_w ); Not sure what parameters it's going to see here, I think this is ok though unless there's a better way?

arcadez2003 commented 4 years ago

@mahoneyt944 in MAME78 we dont have write8 handlers, i must have missed it when porting the code across it's an easy fix however you just remove the 8.

mahoneyt944 commented 4 years ago

Pushed, I'll test it

mahoneyt944 commented 4 years ago

@arcadez2003 do a search in this repository for write8_handlers , seems there's some other instances? possibly need to correct?

arcadez2003 commented 4 years ago

@mahoneyt944 Yeah dont worry about those it's READ8 or WRITE8 calls from files external to the CPU cores which will error out as those were not supported until the big CPU and Memory rewrite circa MAME79.

When backporting code from later MAME for this core we simply remove the "8" from the above calls and when dealing with an 8bit memory map you also have to remove it from the ROM and RAM calls

static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x3fff) AM_READ(MRA8_ROM)

static MEMORY_READ_START( sound_readmem ) { 0x0000, 0x3fff, MRA_ROM },

I dunno why my compiler did not error out on this it usually does, sods law i guess, anyway the build issues should be fixed after your latest commit.

mahoneyt944 commented 4 years ago

Yeah it's good now

mahoneyt944 commented 4 years ago

Updated cfg for btoads - set 3 players and turn off common coin mech. Needs tested.

KMFDManic commented 4 years ago

@mahoneyt944 all very nice. I will do video on the nuances of food fight, as well as showcase 6 player xmen. Once caught up, I'll take another stab at the synching up of bootstraps into Xtreme. I will also try to think of anything else that might be good to attempt to fix up.

KMFDManic commented 4 years ago

@mahoneyt944 Exceptional job on the controls for Food Fight. I will throw up a video tomorrow.

mahoneyt944 commented 4 years ago

trog, trog3, trogp, trogpa6 bootstrap added

mahoneyt944 commented 4 years ago

totcarn, totcarnp bootstraps added.

KMFDManic commented 4 years ago

@mahoneyt944 Enjoy the Video:) https://www.youtube.com/watch?v=DDmIQ-v1Vy4

mahoneyt944 commented 4 years ago

@KMFDManic nice! Looks like the control hack is working as intended.