libretro / mame2003-plus-libretro

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

Sega MegaPlay System #678

Closed ghost closed 5 years ago

ghost commented 5 years ago

@grant2258 ported across and fixed up my failed experiment at updating the Sega Core a while back this opens up the potential to update the segac2.c driver further to bring the Megaplay games upto a working state for this core.

Sega Megaplay is basically some Genesis/Megadrive games which were ported to the Arcades we could support these ones if there was any call for it using the driver from my other project.............

/ 01 / GAMEB( 1993, mp_sonic, megaplay, megaplay, megaplay, mp_sonic, megaplay, ROT0, "Sega", "Sonic The Hedgehog" ) / 02 / GAMEB( 1993, mp_gaxe2, megaplay, megaplay, megaplay, mp_gaxe2, megaplay, ROT0, "Sega", "Golden Axe II" ) / 03 / GAMEB( 1993, mp_sor2, megaplay, megaplay, megaplay, mp_sor2, megaplay, ROT0, "Sega", "Streets Of Rage II" ) / 04 / GAMEB( 1993, mp_twc, megaplay, megaplay, megaplay, mp_twc, megaplay, ROT0, "Sega", "Tecmo World Cup" ) / 05 / GAMEB( 1993, mp_soni2, megaplay, megaplay, megaplay, mp_soni2, megaplay, ROT0, "Sega", "Sonic The Hedgehog 2" ) / 06 / GAMEB( 1993, mp_bio, megaplay, megaplay, megaplay, mp_bio, megaplay, ROT0, "Sega", "Bio-Hazard Battle" ) / 07 / GAMEB( 1993, mp_shnb3, megaplay, megaplay, megaplay, mp_shnb3, megaplay, ROT0, "Sega", "Shinobi III") / 10 / GAMEB( 1993, mp_col3, megaplay, megaplay, megaplay, megaplay, megaplay, ROT0, "Sega", "Columns III" )

Streets of Rage 2 is the pick of the bunch for me i keep a copy in my romlist as it fits so well into the general arcade lineup plus it means i dont have to exit and fire up another emu should i fell like giving it a whirl.

ghost commented 5 years ago

Love the olde mega drive games would be well worth it if it isint too much work. Again im done with anything libretro related to be honest i wont kiss and tell and really dont care about it to be honest. The ports probably mature as its going to get.

If you need any help on any other projects or something on here just give me a @ on github itll email me has been nice working with you on this you done a lot of good work.

ghost commented 5 years ago

There might be a problem.....

AM_RANGE(0xa00000, 0xa0ffff) AM_READ(megaplay_68k_to_z80_r) AM_BASE(&ic36_ram)

I've never seen AM_BASE on a read before and certainly our memory core cannot support &ic36_ram in the readmem table, i'll check other drivers to see if it pops up somewhere else and hopefully i can then pindown how to set this up in MAME78.

Usually it's a write or a read/write kinda deal the latter we split in two for this core.......

AM_RANGE(0x200000, 0x21ffff) AM_READWRITE(MRA16_RAM, rampart_bitmap_w) AM_BASE(&rampart_bitmap)

{ 0x200000, 0x21ffff, MRA16_RAM },

{ 0x200000, 0x21ffff, rampart_bitmap_w, &rampart_bitmap },

ghost commented 5 years ago

Right enough there's always a chance the games would work without it.........

AM_RANGE(0xa00000, 0xa0ffff) AM_READ(genesis_68k_to_z80_r)

The bog standard genesis map doesn't have the extra ram read so it would be worth a try if there is no other solution plus we may luck out and the megaplay games will still work.

ghost commented 5 years ago

So the games dont work without AM_BASE(&ic36_ram) on spec i shifted it to the writemem table and the games boot and seem to be fine and we can support that in M78 so panic over :)

i should have a driver for ya later @grant2258 it's 99% done although you might have to crush a few wee compile errors on the RA side.

ghost commented 5 years ago

I'll Check for any compile bugs locally no probs there nice work!

ghost commented 5 years ago

@grant2258 Here ya go it should be good but i cant rule out the odd mistake or two :)

https://www.sendspace.com/file/bz59vl

Ps i could never get Gunstar Heroes to work but i've left it in as maybe you'll get to the bottom of it.

ghost commented 5 years ago

well just compiled it only have goldenaxe2 and sonic roms both seem to be working looks like a job well done. ill sort my roms so i have em all and will get back to you on gunstar heros.

what version of mame did the driver come from so i can compare it?

ghost commented 5 years ago

It's night and day between the two drivers.........

https://github.com/mamedev/mame/commit/2fb87f333953e4fbb1e5a5dc6e7d814e5333d848#diff-c9cb06f4508e8356ff32b66c8b3a288c

As you can see it's an easy addition for the MAME dev's, i guess something is not right maybe the Sega VDP gfx in our ole core but i cant rule out i messed something else up along the way, the only other one i added a while back was Shinobi 3 and the code was from MAME126 same deal really drop in the inputs and the rom but unlike Gunstar it actually worked.

Just dump it if ya cant get it goin i was hoping you might notice a mistake i made maybe with either the inputs or bios in the rom load table, BTW there was two others that didn't work until they ported the Haze MD driver Grand Slam Tennis and Mazin Wars, Gunstar Heroes might be fall into the same catagory

ghost commented 5 years ago

ill look in to this more later on im pretty sure it just something funky thats changed with the imput ports. Maybe its a 6 button game ?

@markwkidd the files arcadez uploaded are good to go no problems with compiling just add

DRIVER( mp_sonic )
DRIVER( mp_gaxe2 )
DRIVER( mp_sor2  )
DRIVER( mp_twc   )
DRIVER( mp_soni2 )
DRIVER( mp_shnb3 )
DRIVER( mp_col3  )
DRIVER( mp_gunhe )
DRIVER( mp_bio   )

to the drivers and your , &generic_ctrl, NULL to the driver declarations its ultimately up to you if you include it or not.

The games are working well job well done as usual mr arcadez! Had a wee blast at shinobi 3 id say is far better than shadow dancer!

markwkidd commented 5 years ago

I totally do want to add this, of course! I'm getting ready to leave on a 1000 mile roadtrip for work. You may need to give me a couple days :)

On Sun, Feb 24, 2019 at 9:30 PM grant2258 notifications@github.com wrote:

ill look in to this more later on im pretty sure it just something funky thats changed with the imput ports. Maybe its a 6 button game ?

@markwkidd https://github.com/markwkidd the files arcadez uploaded are good to go no problems with compiling just add

DRIVER( mp_sonic ) DRIVER( mp_gaxe2 ) DRIVER( mp_sor2 ) DRIVER( mp_twc ) DRIVER( mp_soni2 ) DRIVER( mp_shnb3 ) DRIVER( mp_col3 ) DRIVER( mp_gunhe ) DRIVER( mp_bio )

to the drivers and your , &generic_ctrl, NULL to the driver declarations its ultimately up to you if you include it or not.

The games are working well job well done as usual mr arcadez! Had a wee blast at shinobi 3 id say is far better than shadow dancer!

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/libretro/mame2003-plus-libretro/issues/678#issuecomment-466850826, or mute the thread https://github.com/notifications/unsubscribe-auth/ASphdpNRCHYw9AIC-rKqMCCxC9S7BL7jks5vQ0rTgaJpZM4bONXI .

-- Mark W. Kidd http://facebook.com/markwkidd (606)536-0115

ghost commented 5 years ago

Yeah it would be better if mark adds the control configs

ghost commented 5 years ago

@grant2258 Yeah i wondered about the inputs as the game seems to not start but you can coin it up but nothing i tried made any difference, also just leaving it to run through it's attract mode and you spot the gfx are all messed up.

So more going on than just the inputs likely, maybe best to be happy with the new ones we got playable and just remove support for Gunstar Heroes

ghost commented 5 years ago

Can't argue with that logic Mr arcadez just leave gunstar out or the driver.c mark will be a few days gives me some time to look at it before dumping it

ghost commented 5 years ago

ok been going through the code only point of concern is one part of the bios memory map.

static MEMORY_WRITE_START(megaplay_bios_writemem)
    { 0x0000, 0x3fff, MWA_ROM },
    { 0x4000, 0x4fff, MWA_RAM },
    { 0x5000, 0x5fff, MWA_RAM },
    { 0x6000, 0x6000, megaplay_game_w },
    { 0x6203, 0x6203, megaplay_bios_banksel_w },
    { 0x6204, 0x6204, megaplay_bios_width_w },
    { 0x6402, 0x6402, megaplay_bios_6402_w },
    { 0x6403, 0x6403, megaplay_bios_gamesel_w },
    { 0x6404, 0x6404, megaplay_bios_6404_w },
    { 0x6600, 0x6600, megaplay_bios_6600_w },
    { 0x6001, 0x67ff, MWA_RAM },
        { 0x6800, 0x77ff, MWA_RAM, &ic3_ram },
    { 0x8000, 0xffff, bank_w },
MEMORY_END
{ 0x6001, 0x67ff, MWA_RAM }, could over write the others

I also remember a driver a while back a driver you found didnt like when the address werent in order the order isint sequential here. The megatech_instr_w also isint mapped but that nothing to do with megaplay cant see what the problem is ill assume is just the general state of the megadrive driver

ghost commented 5 years ago

Around MAME119 they changed the Megaplay games to use the genesis video calls which fixed Grandslam Tennis and Mazin Wars, although we dont have that code i assume if we were using it then Gunstar Heroes would work most likely so it must be a video problem rather than bios which is the issue.

22 Sept 2007 - Started updating this to use the new Megadrive code, fixing issues with Mazin Wars + Grand Slam. However I'm still not convinced that the handling of the Megaplay side of things is correct at all, and we're still hanging off the old SMS vdp code and IO code.

As for that ram mapping should we just leave it be.?? as the games we will support are working fine by looks, i'll tidy up the driver remove mp_gunhe and commit it later then mark can hook up the control cfg's further down the road.

ghost commented 5 years ago

yea just remove that driver for now. There is no point for one game. If we ran mess and used the megadrive there might be a point. All the mess code was removed. Well leave mp_gunhe in just dont add it to driver.c will leave someone else the opportunity to fix it

ghost commented 5 years ago

I've already removed Mazin Wars, Grandslam Tennis and Gunstar Heroes i cant be bothered adding em back in but if someone wants to try and fix em up to get em playable at some future date then it wont be much graft.