libretro / mame2003-plus-libretro

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

WIP: Michael Jackson's Moonwalker & Other Custom OSTs Discussion:) #302

Closed KMFDManic closed 5 years ago

KMFDManic commented 6 years ago

@markwkidd @twinaphex

This will be the next one in line for Custom OST! gpstar is working on finalizing things, and I will keep you both updated! Here is a test video I threw together for it:)

https://www.youtube.com/watch?v=PhIBMtFJkI8

Once the coding changes are committed on my Github, I will inform you, so you can grab them:)

Wilstorm commented 6 years ago

@KMFDManic - I like the idea and where you're going with Pac-Man. It's truly a classic that deserves it place. Games of this type have a ton of level repetition so a mix would be perfect! I believe it's one of the few arcade games that made it into the Smithsonian Museum. You have me curious now and interested in the mini. :) When you say SNES Mini are you referring to the current ones for sale now right?

KMFDManic commented 6 years ago

@Wilstorm Yes, either SNES Classic or NES Classic. It is definitely a very nice convenience, as well as nostalgic factor, being able to run things on it. Obviously, if you ever get one, I can help you get going:)

KMFDManic commented 6 years ago

@grant2258 @Wilstorm We've run into another hopefully easy to fix snag as far as the Double Dragon Custom OST. The game crashes after beating the end boss. If either of you can test this, using current coding at the fork I link to below, and find a solution, it would be greatly appreciated. So close to finality for the Custom OST:) Thanks in advance! Being able to get to the end credits will help with finding the music offset so the final Custom Track can be added:)

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

P.S. Not sure if this crash also affects your fork.

ghost commented 6 years ago

I should have fixed that for this core, i ported some code at anyrate which in theory should stop Double Dragon from crashing at the end, but i never fully tested it myself just took on it faith from another dev that it would work.

ghost commented 6 years ago

You could try my original fix before i changed it to the one which was recommended to me in ddragon.c find and replace with this..............

static READ_HANDLER( ddragon_spriteram_r ) { / Double Dragon crash fix - see notes above / if (offset == 0x49 && activecpu_get_pc() == 0x6261 && ddragon_spriteram[offset]== 0x1f) return 0x1;

return ddragon_spriteram[offset];

}

ghost commented 6 years ago

ill check if its crashing on mame2003-plus

KMFDManic commented 6 years ago

@grant2258 For the record, the ddragon.c from the mame2003 plus mirror did not crash for me on the Mini Mini SNES/NES. But, it did on PC without your one line code fix, before even starting a game. And, of course, current one which I merged over from the current fork crashes on End Boss. I will test more, as well, once home today. So, I am hopeful this will be an easy fix so everyone can enjoy the full on Custom OST:) Gpstar does masterful work. So, I know this will be another perfect release!

@arcadez Personal thanks for all of the games you have added support for! I can never show enough appreciation:)

@grant2258 And, thank you for making this a personal mission for you!

gpstar81 commented 6 years ago

Just a fyi after a bit of testing, the offsets during the bug/crash have always been the following for me:

regular offset: 49 ddragon offset: 0

Apparently this has been fixed properly in newer versions of MAME which no longer require the hack fix, but I haven't had the time to dig into the code to find out.

http://mametesters.org/view.php?id=416

Wilstorm commented 6 years ago

@KMFDManic - Sorry if I am not quite as helpful here. I don't know how to setup and use the code linked above but if you have instructions or need a tester once it's merged just let me know where I can help.

ghost commented 6 years ago

[libretro ERROR] [MAME 2003+] HD6309: illegal opcode at 0047 Vectoring to [$fff0]

[libretro ERROR] [MAME 2003+] HD6309: illegal opcode at 03a8 Vectoring to [$fff0] [libretro ERROR] [MAME 2003+] HD6309: illegal opcode at 0083 Vectoring to [$fff0]

thats all i get in the logs a few times

ghost commented 6 years ago

Mametesters bug:

ddragon.c ddragon and clones: The game crashes when you beat it. This was fixed in .77 but it happens again in u2 / u3.

ddragon077u3red

from

http://forum.arcadecontrols.com/index.php?topic=41907.0

aparently the slowdown is like that on the real pcb maybe the overclocking

ghost commented 6 years ago

http://www.bryanmcphail.com/wip/ brians original patch fisx for this is here

ghost commented 6 years ago

If you check the history of ddragon.c in this core i did bryan's fix already and then changed it on the advice of another dev, now that we've had reports of it not working i can always revert it back and use the original fix once more.

But im not sure it works 100% of the time.?? obviously updating the driver to later MAME would be the perfect solution but it's a ton of work involved.

ghost commented 6 years ago

well thats true but the only other clue to follow is it worked on mame077 and broke again in u1 and u2

https://github.com/mamedev/historic-mame/commit/54a1619c9596ddbdc58fa345726b493f209c4af8#diff-3e79d80f3dfa4573fb37afb18b074fe1

ill need to lookup what video hardware is used and compare the diff between mame077 and 078 in the commit above and look for any clues i think the answer might be in there somewhere

ghost commented 6 years ago

Sorry where did ya get this info from that it worked in MAME077..?? if that was the case the driver from then would drop into this core without much in the way of hastle.

ghost commented 6 years ago

http://forum.arcadecontrols.com/index.php?topic=41907.0 reply 14

ghost commented 6 years ago

Man that's an ole thread :) food for thought one guy says it's fine another says it still crashed in 77

ghost commented 6 years ago

i know the internet so reliable lol. Might be come cpu changes as well between cores

ghost commented 6 years ago

Yeah a quick check of the driver and video only shows some dip switch input changes which do affect Double Dragon that could cause the crash i suppose, but yeah it could equally be a cpu change right enough

ghost commented 6 years ago

im off to bed ill try the 077 driver tomorrow if it works we will know if its that or not

KMFDManic commented 6 years ago

@grant2258 @arcadez For the record, I believe I may have pinpointed the cause of the crash. 63701 rom seems to be where things go south. Using ddragon.zip, it crashes every single time due to 63701 "being bad" after you beat the boss. This appears to be a common problem in the real PCB Boards for the Arcade Game, as well. I played a few times today, and will test more tomorrow! But, the rest of the rom set appears to function fine. The 63701, I am pretty sure, is where things conflict. You do not need to watch the whole video! But, I did a test run of the entire game, and it did NOT crash, using ddragonu.zip last year 63701 in that one might be fine. So, in the end, it may have possibly been due to a bad rom the entire time? Ironically, I did a video on how rom sets change through the years! And, Double Dragon is actually one of the few games that you can run on MAME 2003, as well as on FBA 2016, using the same rom set, and fully play the game! Other games, such as Moon Patrol, change and don't quite work out the same way:) I will test more tomorrow! But, you can plainly see I run the entire game without a single crash or issue (other than a little slowdown!) with ddragonu.zip! I load it in the beginning, and end credits do not crash after beating Boss:)

https://www.youtube.com/watch?v=A3uLD8QSS5g

So, in the end, the fix may be as simple as swapping out 63701 or using a different rom set!

Also, I am at the point where I can practically speed run the game now! I don't play it this way for fun, of course! But, you can exploit each and every enemy in the game with one single move! Have your back to any enemy or enemies, and simply tap punch+jump simultaneously to do a super overpowered elbow smash! Not even the end boss can stop it. You can speed run the entire game in 15 minutes give or take, simply by exploiting that one singular move! I do it in the video sparingly:) I find more fun trying out the myriad of moves! I also always loved how you gained Exp Points in the NES Version and unlocked moves!

Thank you all for assisting on this! My theory is that it is 63701, til proven otherwise:)

ghost commented 6 years ago

http://mametesters.org/view.php?id=416 it does seem its emulation related

Wilstorm commented 6 years ago

Have your back to any enemy or enemies, and simply tap punch+jump simultaneously to do a super overpowered elbow smash!

That's a classic move I used to use all the time back in the day. I love the video and ad lib, wonderful, you do fun videos! By the way a $1.75 from January 1987 to June 2018 with inflation is $3.97. I couldn't find the month of release so went with January so give or take a few cents! :)

ghost commented 6 years ago

well i got it fixed my end please test @KMFDManic and @gpstar81 https://github.com/gpstar81/mame2003-xtreme/pull/5 let me know how you guys get on

gpstar81 commented 6 years ago

I've been using the ddragon_u for the last few days, it was always crashing. I was loading with states though to get to the end boss quicker.

However when doing a new play through, it seems to not be crashing anymore. Very strange.

ghost commented 6 years ago

well it was crashing for me changes are clearer here for you https://github.com/grant2258/mame2003-plus-libretro/commit/188e532274c771b5ebc4ae06053f1f76fd37ad33

there will be a problem with statesave unless the new port variable is tracked the mcu states wont be saving right for a start

ghost commented 6 years ago

ddragon does fail even when playing right through without these changes. Ps is a little update i forgot to add -u last change in github

ghost commented 6 years ago

Not sure what they mean by this ? -

The Taito version (US) has a different storyline than the one used in the Japanese (Parent) version. The Japanese storyline is more developed and does not use the Spike and Hammer aliases.

Do they have different levels/stages ?

KMFDManic commented 6 years ago

@Wilstorm You have been more than helpful in everything that is being done for the Scene:)

@grant2258 Again, I can't thank you enough for going out of your way on this one. Gpstar is back on track, and everything should play out quite nicely. @markwkidd always appreciated seeing poetry in motion...in essence, things that you guys do, in action. I may not have shown you these as of yet. But, your "Mirror Fix", I applied in a different way for the Mini, for the practical fix, as well as an unorthodox, yet completely fun way of re-experiencing games:)

SNES Classic - It's Me A Mirror-io! Reverse Mode Activate!

https://www.youtube.com/watch?v=-qCCNzZw7-k

As for the Double Dragon Custom OST...I will be doing a full demonstration from beginning to end, in a very special way, akin to this video. But, in essence, I will be playing 2 Player, Solo:)

SNES Classic - 4 Player Mode Activate - Kinda, Almost, Sorta:)

https://www.youtube.com/watch?v=JRyR7eU68a8&t=2s

The Canoe Borders you did, I also integrated, for use on NES Classic (Which does not have them:) I also do a spontaneous drum off to Mario Paint, haha:)

SNES Classic - Journey of Sight and Sound - Canoe Borders + Mario Paint Drum-Off:)

https://www.youtube.com/watch?v=_V0jroG3b4M

Thanks again, @grant2258 @Wilstorm and everyone else involved in MAME 2003 Plus and otherwise!!!

ghost commented 6 years ago

what I can tell you all if we still have troubl. its the machine gun firing that triggers the crash in ddragon if we still have any problems ill debug each set and try get a hack that works well for all

Wilstorm commented 6 years ago

The machine gun, it had to be the machine gun! ;)

@KMFDManic - thanks for the video links. I thoroughly enjoyed them and had a few good laughs. The rainy day Contra mirror backwards was funny and have you created the horror extravaganza video yet? The history and tidbits you add to your videos are fun and interesting. I usually don't watch many videos but you genuinely have a lot of fun with them which makes them fun to watch.

KMFDManic commented 6 years ago

@Wilstorm Just did part 9:) Glad you are enjoying the videos:) I will be doing an entire Double Dragon Custom OST run through probably by tomorrow:) Thanks for the inflation info, too:)

HORROR 'Stravaganza - Part 9

https://youtu.be/svzbg7UXsiw

ghost commented 6 years ago

demons crest I loved that game is was so hard getting a good dump of that game back in the day the bad dump was posted everywhere. That little gargoyle for gng sure gets about!

KMFDManic commented 6 years ago

@grant2258 @Wilstorm Here ya go:) Will post the completed Custom OST files to my set, Saturday.

SNES Classic - Double Dragon Custom OST!!!

https://youtu.be/PfE9WHAw1Vs

ghost commented 6 years ago

hi thanks for the vid im glad it all worked out!

Wilstorm commented 6 years ago

@KMFDManic - Thanks for the video's I just watched them now as I am back to the grind now! I dig the nod to Leeroy Jenkins. That's a classic for sure. Back in the day I used to spend hours in MMO's. I tried them all from Ultima Online, Dark Age of Camelot, PlanetSide, Guild Wars, World of Warcraft, etc. but my mainstay was EverQuest. I still play occasionally on Project 1999 as it's free and very well done.

I am not sure if you mentioned it in your video but something reminded me of the old movie 'The Last Dragon', super cheesy but a lot of fun! I forgot to mention when you mentioned all those old horror flicks in the other video's too I find them a lot of fun from Halloween, Friday the 13th, Nightmare on Elm Street, Child's Play, etc. all classic. They are all in my library. Gratuitous nudity and cheesy horror. Running around basically announcing 'HERE I AM' by screaming, kill me right here, it's a win-win double 10 on the cheese scale! I am also a fan of Bruce Campbell Evil Dead movies. My wife absolutely hates horror movies so I stuck watching them alone.

The Double Dragon custom OST is perfect, love it, love the tandem mode play. You did fine jumping the bridge! :) I look forward to other play troughs and the final quarter counts. The music flowed and didn't get in the way of playing at all. It sat perfect in the background.

I was out of town with my wife over in Omaha, NE this past week as she's in the medical field and had some classes so I tagged along to do some of my own site seeing. I was able to snag an NES mini at one of the local Best Buy's but they didn't have any extra controllers. I see even those get hocked for $30 (300% markup from 3rd parties). I'll keep an eye out and eventually get one at regular price.

After doing a bit of research it looks like both the NES/SNES mini have the same hardware specs? 512MB NAND. I remember in one of the other video's you hit the wall at 125 games if I remember? Are all MAME games that run on the mini's custom programmed?

KMFDManic commented 6 years ago

@grant2258 @Wilstorm What can top Double Dragon? How about Marvel Vs Capcom:)? It will be a challenging one due to the sheer number of tracks and MB limitations on the Mini. But, it can work! I proposed the idea to gpstar, and I will start finding source material! The first one I thought of was this:

Good remix of original Bill Bixby TV Series for The Hulk theme:)

https://www.youtube.com/watch?v=-U2WTxmoLOM

@Wilstorm Whenever you get a Mini, I can help you with the set-up. Thanks for your appreciation on the videos. I will be doing another HORROR 'Stravaganza Video (some interesting games will show up!), as well as a Sega Dreamcast Video, and, of course...a newer and updated Tutorial for NES/SNES Classic, from scratch! This may be of interest to you, as I will cover most things that will appeal to newcomers to the system/scene. You will adapt, just fine:)

Hope you guys like the idea of Marvel Vs Capcom as the next one! My secondary idea was Splatterhouse with a Symphonic/Gothic Metal Remixed OST:) Both would be incredibly fun and cool! But, Marvel Vs Capcom takes most elements from the earlier games, such as Marvel Vs Street Fighter, X-Men: Children of the Atom, etc, and truly hones them into a really great game (characters not perfectly balanced! But, sometimes that can make for some real fun when playing against the computer:)

So, next up, I think Marvel Vs Capcom will truly blow things out of the water as far as the scope of Custom OSTs! Hope you agree:)

This is a true legacy, and probably the best thing to ever happen to Arcade Games:) Thank you all for your help and support, especially with Double Dragon!!!

Wilstorm commented 6 years ago

@KMFDManic - I like the idea of a fighter game as you can do some fun, fast, remixes for a fast action game. The fights are short and fast. Also being a crossover you have a lot of music/ideas to choose from. I remember the TV series Bill Bixby/Lou Ferrigno it was pretty fun show for the era. When he was in Hulk form, uugh that hair, say it isn't so, what were they thinking! ;)

I can see Splatterhouse too as it's a classic in it's own right and a symph/goth metal remix sounds fun vs. the slow methodical music of the movies. When I think of Friday the 13th I think of Halloween also. I am a big John Carpenter fan. I never thought 5 piano keys could sound so creepy. Not to mention the mask is William Shatner's face is a great trivia piece. Nothing like a good horror game but I think you can have a lot of fun with Marvel vs. Capcom so many ways to go with the music.

a newer and updated Tutorial for NES/SNES Classic, from scratch! This may be of interest to you, as I will cover most things that will appeal to newcomers to the system/scene.

That would be great! I'll keep an eye out as I have no idea where to start but not in a hurry. I know I have all these little projects going but I couldn't resist after watching your video's. The interface looks really slick. It works great as winter projects. Here I do all I can outdoors around the house in the summer and fall and I still need to replace the soffit and fascia on the shed and a quick water faucet replacement on the south side of the house and I should be in pretty good shape. The rest I hit pretty early this year. Anyway in the winter we spend so much time indoors so it's a perfect time to work on this! :)

ghost commented 6 years ago

Just curious, is the code still going to be added for the Double Dragon OST support or you've decided not to bother because there's no fully working version ?

Also, for those who don't know, the Mortal Kombat Custom Soundtrack only works on Revision 1 (mkla1). This means you will be missing the following compared to the Parent Revision 5 (mk).

REV. 1.0 (August 9, 1992): First official release of Mortal Kombat. In a 2-player game, both players could not choose the same character. Liu Kang had Uppercut - Flying Kick Combo.

REV. 2.0 (August 9, 1992): Both players could choose the same character. New Shang Tsung death animation added. Merchandise promo added. More blood added.

REV. 3.0 (August 31, 1992): Computer intelligence increased. Reptile added. Comic book offer is a switch setting.

REV. 4.0 (September 28, 1992): Reptile clues added (shadows on moon, see Tips and Tricks section). Sonya and Kano could fight Reptile. Block allowed during fatality. Goro's theme played during all Endurance rounds.

REV. 4.0 [T-Unit] (February 11, 1993): Runs on the newer Midway T Unit hardware, the same hardware as Mortal Kombat II

REV. 5.0 [T-Unit] (March 19, 1993): Bug fix release.

Wilstorm commented 6 years ago

@SaucySarah - How do you know the samples only work with mkla1? So basically it doesn't work for the parent and none except one clone? That's revision history is interesting.

Here's the parent and clones in Plus:

mk4 - Mortal Kombat (rev 5.0 T-Unit 03/19/93) mkr4 - Mortal Kombat (rev 4.0 T-Unit 02/11/93) mk1a4 - Mortal Kombat (rev 4.0 09/28/92) mk1a3 - Mortal Kombat (rev 3.0 08/31/92) mk1a2 - Mortal Kombat (rev 2.0 08/18/92) mkla1 - Mortal Kombat (rev 1.0 08/08/92) ---WORKING--- mkprot9 - Mortal Kombat (rev 4.0 T-Unit 02/11/93)

ghost commented 6 years ago

@Wilstorm The commit notes said it was optimised for mkla1 (and this is what the sample zip is named), and the RetroArch option to turn off the CD soundtrack doesn't even appear on the parent mk but does appear when using mkla1. I didn't bother checking the other clones. To be honest, i'm not even sure I could hear any difference ! but I only loaded them quickly and noticed the RetroArch option to turn Off the CD samples didn't appear when using the Parent ROM. Maybe @KMFDManic knows more about why/if it's only for Revision 1 ?

I'm looking forward to the Double Dragon implementation as the soundtrack is really good ! The best so far I think.

Also, in the Outrun custom soundtrack when the radio is displayed asking you to choose your music, it doesn't seem to change when moving left/right, only when the game actually starts (basically you don't hear a preview). Is it supposed to be like this ? (And the start lights on the left flicker).

Wilstorm commented 6 years ago

@SaucySarah - I thought he said they were removed from the DAT but still would work if present. I also see your point about the turning off samples option not being present in RA for most of the ROMs makes sense too. Maybe @grant2258 could verify.

I do remember in the arcade turning the wheel left/right/center would preview the 3 soundtracks available for play. I also never noticed the start lights on the left flickering, I'll have to check it out.

I agree the Double Dragon OST is awesome and would love to see it implemented also.

Here's my OST list which includes parents and clones. As you pointed out they may not all be implemented but I just track them anyhow.

ddragon - Double Dragon (Japan)
ddragonu - Double Dragon (US)
ddragonw - Double Dragon (World)
ddragonb - Double Dragon (bootleg)

fight - Final Fight (World)
ffightu - Final Fight (US 900112)
ffightj - Final Fight (Japan set 1)
ffightj1 - Final Fight (Japan set 2)

mk4 - Mortal Kombat (rev 5.0 T-Unit 03/19/93)
mkr4 - Mortal Kombat (rev 4.0 T-Unit 02/11/93)
mk1a4 - Mortal Kombat (rev 4.0 09/28/92)
mk1a3 - Mortal Kombat (rev 3.0 08/31/92)
mk1a2 - Mortal Kombat (rev 2.0 08/18/92)
mkla1 - Mortal Kombat (rev 1.0 08/08/92)
mkprot9 - Mortal Kombat (rev 4.0 T-Unit 02/11/93)

moonwalk - Michael Jackson's Moonwalker (Set 1)
moonwlka - Michael Jackson's Moonwalker (Set 2)
moonwlkb - Michael Jackson's Moonwalker (bootleg)

nbajam - NBA Jam (rev 3.01 04/07/93)
nbajamr2 - NBA Jam (rev 2.00 02/10/93)

outrun - Out Run (set 1)
outruna - Out Run (set 2)
outrunb - Out Run (set 3)
toutrun - Turbo Outrun (set 1)
toutruna - Turbo Outrun (set 2)
ghost commented 6 years ago

@Wilstorm said -

I also see your point about the turning off samples option not being present in RA for most of the ROMs makes sense too. Maybe @grant2258 could verify.

I was talking about the Custom Soundtrack samples. On Mortal Kombat the option to turn off the CD Soundtrack doesn't appear when using the parent mk rom, but does appear when using mkla1. This is probably because the samples were optimised for mkla1, so this is all correct.

Likewise, the Moonwalker samples are named moonwlkb because only the Bootleg works in Mame2003plus. The other versions don't work so it makes sense for the samples to be named this way.

Turbo Outrun is a different game so I don't think the Outrun samples should be compatible.

Wilstorm commented 6 years ago

@SaucySarah - Yes I know what you meant when you said the option is there for the clone and not the parent.

Turbo Outrun is a clone of Outrun and uses the same sample set as Outrun so I listed it. But as you're discovering these samples are for very specific clones and not the parent or other clones it seems.

This is good to know and understand what's working and what isn't so thanks. I've been buried in screenshot nirvana in the 100's. I am almost done and ready to play a bit because lord knows I've had my fill of screenshots now! =/

KMFDManic commented 6 years ago

@Wilstorm @SaucySarah In several cases, you can use the same sample set for different rom sets. Example. Rename ddragon.zip (samples) to ddragonu.zip and use ddragonu.zip rom set:) I have done this multiple times when switching between them. Obviously, if running this on PC, you can just clone the samples a few times, and have ddragon.zip and ddragonu.zip, etc! Same thing with all variants of outrun, except Turbo, which is a not the same game!

As far as @grant2258 , he will most certainly look into adding it, since he is also a fan of these many great Custom OSTs!

@Wilstorm You at all interested in partially assisting with some of the Music on Marvel Vs Capcom? I have started picking out the music selections. I really love the Hulk 70s theme remix, and definitely want that to be a mainstay! I have many others picked out. What you can help with will be just minor stuff, if interested! Let me know!

ghost commented 6 years ago

I will certainly do iit when i get the time I have only one suggestions for a a tune tha twill fit perfect!

https://www.youtube.com/watch?v=5x9AD-MFAC4

ghost commented 6 years ago

Like I also said above, Turbo Outrun is a different game not a clone.

The Mortal Kombat samples only work with mkla1 (see here https://github.com/libretro/mame2003-plus-libretro/commit/1f7b43c69c234ef5bd02fcc7bb97f95723f8a950) because it is Y-Unit.

Midway Y-Unit Mortal Kombat Custom OST Support (mk1a1 rom set optimized)

The parent mk is T-Unit. That's my thoughts anyway.

ghost commented 6 years ago

@SaucySarah the driver setup decides how its all hooked up to a degree as well as how you name the rom.

Turbo outrun runs on the same hardware I dont know why its in a parent clone to outrun myself. As fars as i know it doesnt run at the moment anyway.

there is more to this than that @SaucySarah

look here https://github.com/libretro/mame2003-plus-libretro/blob/1f7b43c69c234ef5bd02fcc7bb97f95723f8a950/src/sndhrdw/williams_sndhrdw.c#L600

ghost commented 6 years ago

@KMFDManic ill have to to the buffer over flow fix for mame extreme as well at some point ive done it for mame2003 and mame2003+ its not something thats noticeable by users but can segfault on exit

ghost commented 6 years ago

Turbo Outrun was released as an upgrade kit so a seperate game, it's fully protected via the FD1094 plus it uses two layers to draw the road so slightly diff hardware, anyway it's not playable in this core.

It would be possible to get it to work via the decrypted version, however we would need dual layer Sega gfx road drawing plus the driver isn't compatable anyhow, pity really as it's a crackin game.