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

Add a Nintendo Wii version of MAME 2003 Plus to official RA Wii? (with split cores) #1416

Open saulfabregwiivc opened 2 years ago

saulfabregwiivc commented 2 years ago

Look here: https://github.com/libretro/mame2003-plus-libretro/issues/247

Any chnace we can also play arcade games on Wii using the MAME2003+ emulator, but splitted in different cores?

Thanks :)

saulfabregwiivc commented 1 year ago

@saulfabregwiivc here's the updated system32 test core with the v60 CPU change @Wiimpathy shared System32: artifacts.zip

edit: arcadez brought it to my attention that the v60 cpu was updated and this may or may not work. let me know if this system32 change helps or not for wii.

Tested this new Sega System 32 build with Spider-Man (spidey), now music/audio and intro plays fine and at full speed. Once in the game, it's still slow still, even if i have enabled frameskip...

If i have the time i will test today arkanoid and aliens builds.

mahoneyt944 commented 1 year ago

I would leave frameskip on auto or off as a default setting, otherwise the hard coded values will skip frames even when you don't need it to.

Possibly the virtual memory may help, otherwise might be a limitation of our current code base.

saulfabregwiivc commented 1 year ago

Arkanoid test https://www.youtube.com/watch?v=fNW9mGOiGpc

I had to delete all my old config, and change some settings in the "Input" tab in order for stop the SELECT (-) button for credits of when inserted 2nd credit, it started a 2-player game.

Wiimpathy commented 1 year ago

I would leave frameskip on auto or off as a default setting, otherwise the hard coded values will skip frames even when you don't need it to.

Possibly the virtual memory may help, otherwise might be a limitation of our current code base.

The virtual memory wouldn't help here, I guess. There was indeed an issue with system32 and precisely spidey. The coreD that run it quite well was based on older commit from march 2018. By the way, @saulfabregwiivc how are launching the games, sd card only/usb/mixed setup?

If you decide to implement the virtual memory, do note that it's more complicated than an nmap equivalent, the wii RAM being non-contiguous. It's also writing to a nand which is rather slow, it increases loading times.

mahoneyt944 commented 1 year ago

Here's a quick compilation of the drivers I have split so far, this includes all drivers 0 through A (note these haven't been assigned official core designations yet): artifacts.zip

Game list

#if defined(drv_1942) || defined(core_none)
    /* 1942.c */
    DRIVER( 1942 )      /* 12/1984 (c) 1984 */
    DRIVER( 1942a )     /* 12/1984 (c) 1984 */
    DRIVER( 1942b )     /* 12/1984 (c) 1984 */
#endif

#if defined(drv_1943) || defined(core_none)
    /* 1943.c */
    DRIVER( 1943 )      /*  6/1987 (c) 1987 (US) */
    DRIVER( 1943j )     /*  6/1987 (c) 1987 (Japan) */
    DRIVER( 1943mii )       /*  6/1987 (c) 1987 (US) */
    DRIVER( 1943kai )   /*  6/1988 (c) 1987 (Japan) */
#endif

#if defined(drv_1945kii) || defined(core_none)
    /* 1945kiii.c */
    DRIVER( 1945kiii )  /* (c) 2000 Oriental */
    DRIVER( flagrall )  /* (c) 1996 Promat? */
#endif

#if defined (drv_40love) || defined(core_none)
    /* 40love.c */
    DRIVER( fieldday )  /* A23 (c) 1984 Taito */
    DRIVER( undoukai )  /* A17 (c) 1984 Taito */
    DRIVER( 40love )    /* A30 (c) 1984 Taito */
#endif

#if defined(drv_4enraya) || defined(core_none)
    /* 4enraya.c */
    DRIVER( 4enraya )   /* (c) 1990 IDSA */
#endif

#if defined(drv_8080bw_drivers) || defined(core_none)
    /* 8080bw_drivers.c */
    /* Midway 8080 b/w games */
    DRIVER( seawolf )   /* 596 [1976] */
    DRIVER( gunfight )  /* 597 [1975] */
    /* 603 - Top Gun [1976] */
    DRIVER( tornbase )  /* 605 [1976] */
    DRIVER( 280zzzap )  /* 610 [1976] */
    DRIVER( maze )      /* 611 [1976] */
    DRIVER( boothill )  /* 612 [1977] */
    DRIVER( checkmat )  /* 615 [1977] */
    DRIVER( desertgu )  /* 618 [1977] */
    DRIVER( dplay )     /* 619 [1977] */
    DRIVER( lagunar )   /* 622 [1977] */
    DRIVER( gmissile )  /* 623 [1977] */
    DRIVER( m4 )        /* 626 [1977] */
    DRIVER( clowns )    /* 630 [1978] */
    DRIVER( clowns1 )   /* 630 [1978] */
    /* 640 - Space Walk [1978] */
    DRIVER( einnings )  /* 642 [1978] Midway */
    DRIVER( shuffle )   /* 643 [1978] */
    DRIVER( dogpatch )  /* 644 [1977] */
    DRIVER( spcenctr )  /* 645 (c) 1980 Midway */
    DRIVER( phantom2 )  /* 652 [1979] */
    DRIVER( bowler )    /* 730 [1978] Midway */
    DRIVER( invaders )  /* 739 [1979] */
    DRIVER( blueshrk )  /* 742 [1978] */
    DRIVER( invad2ct )  /* 851 (c) 1980 Midway */
    DRIVER( invaddlx )  /* 852 [1980] Midway */
    DRIVER( sitv )
    DRIVER( sicv )
    DRIVER( sisv )
    DRIVER( sisv2 )
    DRIVER( galxwars )
    DRIVER( galxwar2 )
    DRIVER( galxwart )
    DRIVER( starw )
    DRIVER( lrescue )   /* LR  (c) 1979 Taito */
    DRIVER( grescue )   /* bootleg? */
    DRIVER( desterth )  /* bootleg */
    DRIVER( invadpt2 )  /* 852 [1980] Taito */
    DRIVER( cosmo )     /* TDS+Mints */
    DRIVER( schaser )   /* RT  Taito */
    DRIVER( schasrcv )  /* RT  Taito */
    DRIVER( sflush ) /* (c)1979 Taito */
    DRIVER( lupin3 )    /* LP  (c) 1980 Taito */
    DRIVER( polaris )   /* PS  (c) 1980 Taito */
    DRIVER( polarisa )  /* PS  (c) 1980 Taito */
    DRIVER( ballbomb )  /* TN  (c) 1980 Taito */
    DRIVER( indianbt )  /* Taito - 1980 */
    DRIVER( steelwkr )  /* (c) 1980 Taito */
    DRIVER( earthinv )
    DRIVER( spaceatt )
    DRIVER( spaceat2 )
    DRIVER( sinvzen )
    DRIVER( sinvemag )
    DRIVER( tst_invd )
    DRIVER( alieninv )
    DRIVER( spceking )
    DRIVER( spcewars )
    DRIVER( spacewr3 )
    DRIVER( invaderl )
    DRIVER( jspecter )
    DRIVER( jspectr2 )
    DRIVER( cosmicmo )  /* Universal */
    DRIVER( cosmicm2 )  /* Universal */
    DRIVER( superinv )
    DRIVER( sstrangr )
    DRIVER( sstrngr2 )
    DRIVER( moonbase )  /* Zeta - Nichibutsu */
    DRIVER( invrvnge )
    DRIVER( invrvnga )
    DRIVER( spclaser )
    DRIVER( laser )
    DRIVER( spcewarl )
    DRIVER( rollingc )  /* Nichibutsu */
    DRIVER( ozmawars )  /* Shin Nihon Kikaku (SNK) */
    DRIVER( ozmawar2 )  /* Shin Nihon Kikaku (SNK) */
    DRIVER( solfight )  /* bootleg */
    DRIVER( spaceph )   /* Zilec Games */
    DRIVER( yosakdon )
    DRIVER( yosakdoa )
    DRIVER( invasion )
    DRIVER( invasioa )
    DRIVER( invasiob )
    DRIVER( astropal )
    DRIVER( galactic )
    DRIVER( spacmiss )
#endif

#if defined(drv_88games) || defined(core_none)
    /* 88games.c */
    DRIVER( 88games )   /* GX861 (c) 1988 */
    DRIVER( konami88 )  /* GX861 (c) 1988 */
    DRIVER( hypsptsp )  /* GX861 (c) 1988 (Japan) */
#endif

#if defined(drv_aburner) || defined(core_none)
    /* aburner.c */
    DRIVER( aburner )   /* (c) 1987 */
    DRIVER( aburner2 )  /* (c) 1987 */
    DRIVER( loffire )   /* (protected) */
    DRIVER( thndrbld )  /* (protected) */
    DRIVER( thndrbdj )  /* (protected?) */
#endif

#if defined(drv_ace) || defined(core_none)
    /* ace.c */
    DRIVER( ace )       /* [1976 Allied Leisure] */
#endif

#if defined(drv_actfancr) || defined(core_none)
    /* actfancr.c */
    DRIVER( actfancr )  /* (c) 1989 Data East Corporation (World) */
    DRIVER( actfanc1 )  /* (c) 1989 Data East Corporation (World) */
    DRIVER( actfancj )  /* (c) 1989 Data East Corporation (Japan) */
    DRIVER( triothep )  /* (c) 1989 Data East Corporation (Japan) */
#endif

#if defined(drv_aeroboto) || defined(core_none)
    /* aeroboto.c */
    DRIVER( formatz )   /* (c) 1984 Jaleco */
    DRIVER( aeroboto )  /* (c) 1984 Williams */
#endif

#if defined(drv_aerofgt) || defined(core_none)
    /* aerofgt.c */
    DRIVER( spinlbrk )  /* (c) 1990 V-System Co. (World) */
    DRIVER( spinlbru )  /* (c) 1990 V-System Co. (US) */
    DRIVER( spinlbrj )  /* (c) 1990 V-System Co. (Japan) */
    DRIVER( pspikes )   /* (c) 1991 Video System Co. (World) */
    DRIVER( pspikesk )  /* (c) 1991 Video System Co. (Korea) */
    DRIVER( svolly91 )  /* (c) 1991 Video System Co. (Japan) */
    DRIVER( karatblz )  /* (c) 1991 Video System Co. */
    DRIVER( karatblu )  /* (c) 1991 Video System Co. (US) */
    DRIVER( turbofrc )  /* (c) 1991 Video System Co. */
    DRIVER( aerofgt )   /* (c) 1992 Video System Co. */
    DRIVER( aerofgtb )  /* (c) 1992 Video System Co. */
    DRIVER( aerofgtc )  /* (c) 1992 Video System Co. */
    DRIVER( sonicwi )   /* (c) 1992 Video System Co. (Japan) */
#endif

#if defined(drv_afega) || defined(core_none)
    /* afega.c */
    DRIVER( stagger1 )  /* (c) 1998 */
    DRIVER( redhawk )     /* (c) 1997 */
    DRIVER( grdnstrm )  /* (c) 1998 */
    DRIVER( bubl2000 )  /* (c) 1998 Tuning */
    DRIVER( spec2k )    /* (c) 2000 Yonatech */
    DRIVER( firehawk )  /* (c) 2001 ESD */
#endif

#if defined(drv_airbustr) || defined(core_none)
    /* airbustr.c */
    DRIVER( airbustr )  /* (c) 1990 Kaneko + Namco */
    DRIVER( airbustj )  /* (c) 1990 Kaneko + Namco (Japan) */
#endif

#if defined(drv_ajax) || defined(core_none)
    /* ajax.c */
    DRIVER( ajax )      /* GX770 (c) 1987 */
    DRIVER( typhoon )   /* GX770 (c) 1987 */
    DRIVER( ajaxj )     /* GX770 (c) 1987 (Japan) */
#endif

#if defined(drv_aliens) || defined(core_none)
    /* aliens.c */
    DRIVER( aliens )    /* GX875 (c) 1990 (World) */
    DRIVER( aliens2 )   /* GX875 (c) 1990 (World) */
    DRIVER( aliensu )   /* GX875 (c) 1990 (US) */
    DRIVER( aliensj )   /* GX875 (c) 1990 (Japan) */
#endif

#if defined(drv_alpha68k) || defined(core_none)
    /* alpha68k.c */
    DRIVER( sstingry )  /* (c) 1986 Alpha Denshi Co. */
    DRIVER( kyros )     /* (c) 1987 World Games */
    DRIVER( kyrosj )    /* (c) 1986 Alpha Denshi Co. */
    DRIVER( paddlema )  /* Alpha-68K96I  'PM' (c) 1988 SNK */
    DRIVER( timesold )  /* Alpha-68K96II 'BT' (c) 1987 SNK / Romstar */
    DRIVER( timesol1 )  /* Alpha-68K96II 'BT' (c) 1987 */
    DRIVER( btlfield )  /* Alpha-68K96II 'BT' (c) 1987 */
    DRIVER( skysoldr )  /* Alpha-68K96II 'SS' (c) 1988 SNK (Romstar with dip switch) */
    DRIVER( goldmedl )  /* Alpha-68K96II 'GM' (c) 1988 SNK */
    DRIVER( goldmedb )  /* Alpha-68K96II bootleg */
    DRIVER( skyadvnt )  /* Alpha-68K96V  'SA' (c) 1989 Alpha Denshi Co. */
    DRIVER( skyadvnu )  /* Alpha-68K96V  'SA' (c) 1989 SNK of America licensed from Alpha */
    DRIVER( skyadvnj )  /* Alpha-68K96V  'SA' (c) 1989 Alpha Denshi Co. */
    DRIVER( gangwars )  /* Alpha-68K96V       (c) 1989 Alpha Denshi Co. */
    DRIVER( gangwarb )  /* Alpha-68K96V bootleg */
    DRIVER( sbasebal )  /* Alpha-68K96V       (c) 1989 SNK of America licensed from Alpha */
    DRIVER( tnexspce )  /* A8003 'NS' (c) 1989 */
#endif

#if defined(drv_ambush) || defined(core_none)
    /* ambush.c */
    DRIVER( ambush )    /* (c) 1983 Nippon Amuse Co-Ltd */
    DRIVER( ambusht )   /* (c) 1983 Tecfri */
#endif

#if defined(drv_amidar) || defined(core_none)
    /* amidar.c */
    DRIVER( amidar )    /* GX337 (c) 1981 Konami */
    DRIVER( amidaru )   /* GX337 (c) 1982 Konami + Stern license */
    DRIVER( amidaro )   /* GX337 (c) 1982 Konami + Olympia license */
    DRIVER( amigo )     /* bootleg */
    DRIVER( turtles )   /* (c) 1981 Stern */
    DRIVER( turpin )    /* (c) 1981 Sega */
    DRIVER( 600 )       /* GX353 (c) 1981 Konami */
#endif

#if defined(drv_amspdwy) || defined(core_none)
    /* amspdwy.c */
    DRIVER( amspdwy )   /* no copyright notice, but (c) 1987 Enerdyne Technologies, Inc. */
    DRIVER( amspdwya )  /* no copyright notice, but (c) 1987 Enerdyne Technologies, Inc. */
#endif

#if defined(drv_angelkds) || defined(core_none)
    /* angelkds.c */
    DRIVER( angelkds )  /* 833-6599 (c) 1988 Sega / Nasco? */
    DRIVER( spcpostn )  /* (c) 1986 Sega / Nasco" */
#endif

#if defined(drv_appoooh) || defined(core_none)
    /* appoooh.c */
    DRIVER( appoooh )   /* (c) 1984 Sega */ /* made by Sanritsu */
#endif

#if defined(drv_aquarium) || defined(core_none)
    /* aquarium.c */
    DRIVER( aquarium )  /* (c) 1996 Excellent System */
#endif

#if defined(drv_arabian) || defined(core_none)
    /* arabian.c */
    DRIVER( arabian )   /* TVG13 (c) 1983 Sun Electronics */
    DRIVER( arabiana )  /* 136019           (c) 1983 Atari */
#endif

#if defined(drv_arcadecl) || defined(core_none)
    /* arcadecl.c */
    DRIVER( arcadecl )  /* (proto)          (c) 1992 */
    DRIVER( sparkz )    /* (proto)          (c) 1992 */
#endif

#if defined(drv_argus) || defined(core_none)
    /* argus.c */
    DRIVER( argus )     /* (c) 1986 Jaleco */
    DRIVER( valtric )   /* (c) 1986 Jaleco */
    DRIVER( butasan )   /* (c) 1987 Jaleco */
#endif

#if defined(drv_arkanoid) || defined(core_none)
    /* arkanoid.c */
    DRIVER( arkanoid )  /* A75 (c) 1986 Taito Corporation Japan (World) */
    DRIVER( arknoidu )  /* A75 (c) 1986 Taito America Corporation + Romstar license (US) */
    DRIVER( arknoiuo )  /* A75 (c) 1986 Taito America Corporation + Romstar license (US) */
    DRIVER( arknoidj )  /* A75 (c) 1986 Taito Corporation (Japan) */
    DRIVER( arkbl2 )    /* bootleg */
    DRIVER( arkbl3 )    /* bootleg */
    DRIVER( paddle2 )   /* bootleg */
    DRIVER( arkatayt )  /* bootleg */
    DRIVER( arkblock )  /* bootleg */
    DRIVER( arkbloc2 )  /* bootleg */
    DRIVER( arkangc )   /* bootleg */
    DRIVER( arkatour )  /* ??? (c) 1987 Taito America Corporation + Romstar license (US) */
#endif

#if defined(drv_armedf) || defined(core_none)
    /* armedf.c */
    DRIVER( legion )    /* (c) 1986 */
    DRIVER( legiono )   /* (c) 1986 */
    DRIVER( terraf )    /* (c) 1987 */
    DRIVER( terrafu )   /* (c) 1987 Nichibutsu USA */
    DRIVER( kodure )    /* (c) 1987 (Japan) */
    DRIVER( cclimbr2 )  /* (c) 1988 (Japan) */
    DRIVER( armedf )    /* (c) 1988 */
#endif

#if defined(drv_artmagic) || defined(core_none)
    /* artmagic.c */
    DRIVER( ultennis )  /* (c) 1993 */
    DRIVER( cheesech )  /* (c) 1994 */
    DRIVER( stonebal )  /* (c) 1994 */
    DRIVER( stoneba2 )  /* (c) 1994 */
#endif

#if defined(drv_ashnojoe) || defined(core_none)
    /* ashnojoe.c */
    DRIVER( scessjoe )  /* ??? (c) 1990 Wave / Taito */
    DRIVER( ashnojoe )  /* ??? (c) 1990 Wave / Taito */
#endif

#if defined(drv_asterix) || defined(core_none)
    /* asterix.c */
    DRIVER( asterix )   /* GX068 (c) 1992 (World) */
    DRIVER( astrxeac )  /* GX068 (c) 1992 (World) */
    DRIVER( astrxeaa )  /* GX068 (c) 1992 (World) */
#endif

#if defined(drv_asteroid) || defined(core_none)
    /* asteroid.c */
    DRIVER( asteroid )  /* 035127-035145    (c) 1979 */
    DRIVER( asteroi1 )  /* 035127-035145    no copyright notice */
    DRIVER( asteroib )  /* (bootleg) */
    DRIVER( asterock )  /* Sidam bootleg    (c) 1979 */
    DRIVER( astdelux )  /* 0351xx           (c) 1980 */
    DRIVER( astdelu1 )  /* 0351xx           (c) 1980 */
    DRIVER( llander )   /* 0345xx           no copyright notice */
    DRIVER( llander1 )  /* 0345xx           no copyright notice */
#endif

#if defined(drv_astinvad) || defined(core_none)
    /* astinvad.c */
    DRIVER( astinvad )  /* (c) 1980 Stern */
    DRIVER( kamikaze )  /* Leijac Corporation */
    DRIVER( spcking2 )
    DRIVER( spaceint )  /* [1980] Shoei */
#endif

#if defined(drv_astrocde) || defined(core_none)
    /* astrocde.c */
    DRIVER( seawolf2 )
    DRIVER( spacezap )  /* (c) 1980 */
    DRIVER( ebases )
    DRIVER( wow )       /* (c) 1980 */
    DRIVER( gorf )      /* (c) 1981 */
    DRIVER( gorfpgm1 )  /* (c) 1981 */
    DRIVER( robby )     /* (c) 1981 Bally Midway */
    DRIVER( profpac )   /* (c) 1983 Bally Midway */
#endif

#if defined(drv_astrof) || defined(core_none)
    /* astrof.c */
    DRIVER( astrof )    /* (c) [1980?] */
    DRIVER( astrof2 )   /* (c) [1980?] */
    DRIVER( astrof3 )   /* (c) [1980?] */
    DRIVER( tomahawk )  /* (c) [1980?] */
    DRIVER( tomahaw5 )  /* (c) [1980?] */
#endif

#if defined(drv_asuka) || defined(core_none)
    /* asuka.c */
    DRIVER( bonzeadv )  /* B41 (c) 1988 Taito Corporation Japan (World) */
    DRIVER( bonzeadu )  /* B41 (c) 1988 Taito America Corporation (US) */
    DRIVER( jigkmgri )  /* B41 (c) 1988 Taito Corporation (Japan)*/
    DRIVER( asuka )     /* ??? (c) 1988 Taito Corporation (Japan) */
    DRIVER( mofflott )  /* C17 (c) 1989 Taito Corporation (Japan) */
    DRIVER( cadash )    /* C21 (c) 1989 Taito Corporation Japan */
    DRIVER( cadashj )   /* C21 (c) 1989 Taito Corporation */
    DRIVER( cadashu )   /* C21 (c) 1989 Taito America Corporation */
    DRIVER( cadashi )   /* C21 (c) 1989 Taito Corporation Japan */
    DRIVER( cadashf )   /* C21 (c) 1989 Taito Corporation Japan */
    DRIVER( galmedes )  /* (c) 1992 Visco (Japan) */
    DRIVER( earthjkr )  /* (c) 1993 Visco (Japan) */
    DRIVER( eto )       /* (c) 1994 Visco (Japan) */
#endif

#if defined(drv_atarifb) || defined(core_none)
    /* atarifb.c */
    DRIVER( atarifb )   /* 033xxx           1978/10 [6502] */
    DRIVER( atarifb1 )  /* 033xxx           1978/10 [6502] */
    DRIVER( atarifb4 )  /* 034754           1979/04 [6502] */
    DRIVER( abaseb )    /* 034711-034738    1979/06 [6502] */
    DRIVER( abaseb2 )   /* 034711-034738    1979/06 [6502] */
    DRIVER( soccer )    /* 035222-035260    1980/04 [6502] */
#endif

#if defined(drv_atarig1) || defined(core_none)
    /* atarig1.c */
    DRIVER( hydra )     /* 136079           (c) 1990 */
    DRIVER( hydrap )    /* (proto)          (c) 1990 */
    DRIVER( hydrap2 )   /* (proto)          (c) 1990 */
    DRIVER( pitfight )  /* 136081           (c) 1990 */
    DRIVER( pitfigh3 )  /* 136081           (c) 1990 */
    DRIVER( pitfighj )  /* Japan */
    DRIVER( pitfighb )  /* bootleg */
#endif

#if defined(drv_atarig42) || defined(core_none)
    /* atarig42.c */
    DRIVER( roadriot )  /* 136089           (c) 1991 */
    DRIVER( guardian )  /* 136092           (c) 1992 */
    DRIVER( dangerex )  /* (proto)          (c) 1992 */
#endif

#if defined(drv_atarigt) || defined(core_none)
    /* atarigt.c */
    DRIVER( tmek )      /* 136100           (c) 1994 */
    DRIVER( tmekprot )  /* 136100           (c) 1994 */
    DRIVER( primrage )  /* 136102           (c) 1994 */
    DRIVER( primraga )  /* 136102           (c) 1994 */
#endif

#if defined(drv_atarigx2) || defined(core_none)
    /* atarigx2.c */
    DRIVER( spclords )  /* 136095           (c) 1992 */
    DRIVER( spclorda )  /* 136095           (c) 1992 */
    DRIVER( motofren )  /* 136094           (c) 1992 */
    DRIVER( rrreveng )  /*     ??           (c) 1993 */
    DRIVER( rrrevenp )  /*     ??           (c) 1993 */
#endif

#if defined(drv_atarisy1) || defined(core_none)
    /* atarisy1.c */
    DRIVER( marble )    /* 136033           (c) 1984 */
    DRIVER( marble2 )   /* 136033           (c) 1984 */
    DRIVER( marble3 )   /* 136033           (c) 1984 */
    DRIVER( marble4 )   /* 136033           (c) 1984 */
    DRIVER( indytemp )  /* 136036           (c) 1985 */
    DRIVER( indytem2 )  /* 136036           (c) 1985 */
    DRIVER( indytem3 )  /* 136036           (c) 1985 */
    DRIVER( indytem4 )  /* 136036           (c) 1985 */
    DRIVER( indytemd )  /* 136036           (c) 1985 */
    DRIVER( roadrunn )  /* 136040           (c) 1985 */
    DRIVER( roadrun2 )  /* 136040           (c) 1985 */
    DRIVER( roadrun1 )  /* 136040           (c) 1985 */
    DRIVER( roadblst )  /* 136048           (c) 1986, 1987 */
    DRIVER( roadblsg )  /* 136048           (c) 1986, 1987 */
    DRIVER( roadbls3 )  /* 136048           (c) 1986, 1987 */
    DRIVER( roadblg2 )  /* 136048           (c) 1986, 1987 */
    DRIVER( roadbls2 )  /* 136048           (c) 1986, 1987 */
    DRIVER( roadblg1 )  /* 136048           (c) 1986, 1987 */
    DRIVER( roadbls1 )  /* 136048           (c) 1986, 1987 */
    DRIVER( roadblsc )  /* 136048           (c) 1986, 1987 */
    DRIVER( roadblcg )  /* 136048           (c) 1986, 1987 */
    DRIVER( roadblc1 )  /* 136048           (c) 1986, 1987 */
#endif

#if defined(drv_atarisy2) || defined(core_none)
    /* atarisy2.c */
    DRIVER( paperboy )  /* 136034           (c) 1984 */
    DRIVER( paperbr2 )  /* 136034           (c) 1984 */
    DRIVER( paperbr1 )  /* 136034           (c) 1984 */
    DRIVER( 720 )       /* 136047           (c) 1986 */
    DRIVER( 720r3 )     /* 136047           (c) 1986 */
    DRIVER( 720r2 )     /* 136047           (c) 1986 */
    DRIVER( 720r1 )     /* 136047           (c) 1986 */
    DRIVER( 720g )      /* 136047           (c) 1986 */
    DRIVER( 720gr1 )        /* 136047           (c) 1986 */
    DRIVER( ssprint )   /* 136042           (c) 1986 */
    DRIVER( ssprint3 )  /* 136042           (c) 1986 */
    DRIVER( ssprint1 )  /* 136042           (c) 1986 */
    DRIVER( ssprintg )  /* 136042           (c) 1986 */
    DRIVER( sspring1 )  /* 136042           (c) 1986 */
    DRIVER( ssprintf )  /* 136042           (c) 1986 */
    DRIVER( ssprints )  /* 136042           (c) 1986 */
    DRIVER( csprint )   /* 136045           (c) 1986 */
    DRIVER( csprint2 )  /* 136045           (c) 1986 */
    DRIVER( csprint1 )  /* 136045           (c) 1986 */
    DRIVER( csprintg )  /* 136045           (c) 1986 */
    DRIVER( cspring1 )  /* 136045           (c) 1986 */
    DRIVER( csprintf )  /* 136045           (c) 1986 */
    DRIVER( csprints )  /* 136045           (c) 1986 */
    DRIVER( csprins1 )  /* 136045           (c) 1986 */
    DRIVER( apb )       /* 136051           (c) 1987 */
    DRIVER( apb6 )      /* 136051           (c) 1987 */
    DRIVER( apb5 )      /* 136051           (c) 1987 */
    DRIVER( apb4 )      /* 136051           (c) 1987 */
    DRIVER( apb3 )      /* 136051           (c) 1987 */
    DRIVER( apb2 )      /* 136051           (c) 1987 */
    DRIVER( apb1 )      /* 136051           (c) 1987 */
    DRIVER( apbg )      /* 136051           (c) 1987 */
    DRIVER( apbf )      /* 136051           (c) 1987 */
#endif

#if defined(drv_ataxx) || defined(core_none)
    /* ataxx.c */
    DRIVER( ataxx )     /* (c) 1990 Leland */
    DRIVER( ataxxa )    /* (c) 1990 Leland */
    DRIVER( ataxxj )    /* (c) 1990 Leland */
    DRIVER( wsf )       /* (c) 1990 Leland */
    DRIVER( indyheat )  /* (c) 1991 Leland */
    DRIVER( brutforc )  /* (c) 1991 Leland */
    DRIVER( asylum )    /* (c) 1991 Leland */
#endif

#if defined(drv_atetris) || defined(core_none)
    /* atetris.c */
    DRIVER( atetris )   /* 136066           (c) 1988 */
    DRIVER( atetrisa )  /* 136066           (c) 1988 */
    DRIVER( atetrisb )  /* (bootleg) */
    DRIVER( atetcktl )  /* 136066           (c) 1989 */
    DRIVER( atetckt2 )  /* 136066           (c) 1989 */
#endif

#if defined(drv_avalnche) || defined(core_none)
    /* avalnche.c */
    DRIVER( avalnche )  /* 030574           1978/04 [6502] */
#endif

#if defined(drv_aztarac) || defined(core_none)
    /* aztarac.c */
    DRIVER( aztarac )   /* (c) 1983 Centuri (vector game) */
#endif

#if defined(drv_climber) || defined(core_none)
    /* cclimber.c */
    DRIVER( cclimber )  /* (c) 1980 Nichibutsu */
    DRIVER( cclimbrj )  /* (c) 1980 Nichibutsu */
    DRIVER( ccboot )    /* bootleg */
    DRIVER( ccboot2 )   /* bootleg */
    DRIVER( ckong )     /* (c) 1981 Falcon */
    DRIVER( ckonga )    /* (c) 1981 Falcon */
    DRIVER( ckongjeu )  /* bootleg */
    DRIVER( ckongo )    /* bootleg */
    DRIVER( ckongalc )  /* bootleg */
    DRIVER( monkeyd )   /* bootleg */
    DRIVER( rpatrolb )  /* bootleg */
    DRIVER( silvland )  /* Falcon */
    DRIVER( swimmer )   /* (c) 1982 Tehkan */
    DRIVER( swimmera )  /* (c) 1982 Tehkan */
    DRIVER( swimmerb )  /* (c) 1982 Tehkan */
    DRIVER( guzzler )   /* (c) 1983 Tehkan */
    DRIVER( cannonb )   /* (c) 1985 Soft */
#endif

#if defined(drv_system32) || defined(core_none)
    /* system32.c */
    DRIVER( holo )      /* (c) 1992 (US) */
    DRIVER( arescue )   /* (c) 1992 */
    DRIVER( radm )
    DRIVER( radr )      /* (c) 1991 */
    DRIVER( spidey )    /* (c) 1991 */
    DRIVER( spideyj )   /* (c) 1991 (Japan) */
    DRIVER( f1en )
    DRIVER( arabfgt )   /* (c) 1991 */
    DRIVER( ga2 )       /* (c) 1992 */
    DRIVER( ga2j )      /* (c) 1992 */
    DRIVER( brival )    /* (c) 1992 (Japan) */
    DRIVER( sonic )     /* (c) 1992 (Japan) */
    DRIVER( sonicp )    /* (c) 1992 (Japan) */
    DRIVER( alien3 )    /* (c) 1993 */
    DRIVER( jpark )     /* (c) 1994 */
    DRIVER( svf )       /* (c) 1994 */
    DRIVER( svs )       /* (c) 1994 */
    DRIVER( jleague )   /* (c) 1994 (Japan) */
    DRIVER( f1lap )     /* (c) 1993 (World) */
    DRIVER( f1lapj )    /* (c) 1993 (Japan) */
    DRIVER( darkedge )
    DRIVER( dbzvrvs )
    DRIVER( slipstrm )  /* Capcom */
#endif

#if defined(drv_yamato) || defined(core_none)
    /* yamato.c */
    DRIVER( yamato )    /* (c) 1983 Sega */
    DRIVER( yamato2 )   /* (c) 1983 Sega */
#endif
saulfabregwiivc commented 1 year ago

By the way, @saulfabregwiivc how are launching the games, sd card only/usb/mixed setup?

@Wiimpathy I'm using SD card only, by now.

mahoneyt944 commented 1 year ago

Here's a batman core, interesting enough we have hooked up a super rare game to it, marble madness II, a game likely never played on the wii before. artifacts.zip

games DRIVER( batman ) DRIVER( marblmd2 )

saulfabregwiivc commented 1 year ago

Here's a batman core, interesting enough we have hooked up a super rare game to it, marble madness II, a game likely never played on the wii before. artifacts.zip

games DRIVER( batman ) DRIVER( marblmd2 )

Since i couldn't find a romset for MAME2003+ for Marble Madness II (marblmd2), i took latest MAME romset and rebuilt to MAME2003+ with ClrMAMEPro.

And guess what? It works on Wii! BATMAN (Atari) also works there, too. Here's a video ;) https://www.youtube.com/watch?v=R3BcFF3nTek

If u have the time u could make a build for see how's the performance and status of the games wrally and wrally2.

mahoneyt944 commented 1 year ago

Wrally and wrally2 are listed as not working in this core.

arcadez2003 commented 1 year ago

Wrally and wrally2 are listed as not working in this core.

We dont have the CPU core for those unfortunately, but i hold onto some hope that an unprotected version might pop up for either of those two games then it wont matter if we had the MCS51 or not.

The odds are likely long right enough but then again we did see a couple of Galeco sets with no protection pop up for Glass and Touch And Go so ya never know.

mahoneyt944 commented 1 year ago

@arcadez2003 Wonder if it could be patched around or memory dumped from another mame

Edit: any info on how our recreated tables during init fair to newer video write decode methods? Seems to be easy enough to port but not sure its worth it.

arcadez2003 commented 1 year ago

@arcadez2003 Wonder if it could be patched around or memory dumped from another mame

Edit: any info on how our recreated tables during init fair to newer video write decode methods? Seems to be easy enough to port but not sure its worth it.

The answer to your first question is no chance the second im not sure really we'd have to look into it some time If your interested in how they finally cracked one of the best and most devious protection schemes ever created then give this a read sometime.... https://mamedev.emulab.it/haze/2017/07/17/ds5002fp-dumping/

saulfabregwiivc commented 1 year ago

Hi there,

is it still compilable on Wii? (with make platform=wii INCLUDE_DRV=drv_system32) BTW i'm compiling right now the new changes of MAME2003+ for Wii for test SEGA System 32 changes (sonic romset support, gfx draw fixes, etc.) BTW i havent recorded a vid but i have tested the builds of this thread and they all work fine.

mahoneyt944 commented 1 year ago

It should work yes on a rebuild

saulfabregwiivc commented 1 year ago

Good to know, thanks!

BTW, if u have the time, I'd like to see the performance of Namco System 2 (namcos2) games on Wii on a specific driver build made for these games :)

mahoneyt944 commented 1 year ago

Yeah I can probably do that, took a little detour from split builds to work on system32 🙃. I'll get back to this soon

saulfabregwiivc commented 1 year ago

@mahoneyt944 speaking of system32, I was positive about SegaSonic the Hedgehog, Golden Axe 2 and SlipStream when i was compiling this on the Wii...

But sadly I dont see much difference :(

Is it just me, or these also affect other platforms?

mahoneyt944 commented 1 year ago

Pretty sure there are just Wii issues, though make sure you delete your old configs, any time you use an old version of mame2003+ the inputs will get messed up

saulfabregwiivc commented 1 year ago

@mahoneyt944 thanks for your reply. I have deleted all my old settings before launching the new core of system32 I have built but unfortunately still has the same issue.

I have repeated this like three times and still get those issues.

I need confirmation of if these changes are applied to Wii too.

mahoneyt944 commented 1 year ago

Yes they share the same source files here so changes will all apply if you're building from the current master.

saulfabregwiivc commented 1 year ago

@mahoneyt944

Thanks for ur explanation. Unfortunately still same issue. I tried to download and recompile latest code from master but still no difference.

I'd like to instead let u to compile builds of these for me, for compare.

Also, maybe i'm doing the compilation wrong? What command should I use for compile these builds of MAME2003+ for Wii?

mahoneyt944 commented 1 year ago

Sonic no longer crashes but we also likely have endian issues that need addressed for the Wii to work correctly.

mahoneyt944 commented 1 year ago

I'll build system32 real quick.

mahoneyt944 commented 1 year ago

Current build of system32, again may have endian issues with Wii. So idk if it will be better or not.

artifacts.zip

saulfabregwiivc commented 1 year ago

Nope, still same issues i've described in this new build. I suspect it's related to endianess handling on the Wii (since the Wii is a big-endian platform). But idk :P

Anyways, could u make a build for namcos2? I wanna see how's the performance on finallap, assault, marvland, ordyne, etc.

mahoneyt944 commented 1 year ago

namcos2 was having memory issues compiling into one file, So I split it into 2 files. I'll have to see if there's another solution but for now heres the builds.

part1

    DRIVER( finallap )  /* 87.12 Final Lap */
    DRIVER( finalapd )  /* 87.12 Final Lap */
    DRIVER( finalapc )  /* 87.12 Final Lap */
    DRIVER( finlapjc )  /* 87.12 Final Lap */
    DRIVER( finlapjb )  /* 87.12 Final Lap */
    DRIVER( assault )   /* (c) 1988 */
    DRIVER( assaultj )  /* (c) 1988 (Japan) */
    DRIVER( assaultp )  /* (c) 1988 (Japan) */
    DRIVER( metlhawk )  /* (c) 1988 */
    DRIVER( ordyne )    /* (c) 1988 */
    DRIVER( mirninja )  /* (c) 1988 (Japan) */
    DRIVER( phelios )   /* (c) 1988 (Japan) */
    DRIVER( dirtfoxj )  /* (c) 1989 (Japan) */
    DRIVER( fourtrax )  /* 89.11 */
    DRIVER( valkyrie )  /* (c) 1989 (Japan) */
    DRIVER( finehour )  /* (c) 1989 (Japan) */
    DRIVER( burnforc )  /* (c) 1989 (Japan) */
    DRIVER( marvland )  /* (c) 1989 (US) */
    DRIVER( marvlanj )  /* (c) 1989 (Japan) */
    DRIVER( kyukaidk )  /* (c) 1990 (Japan) */
    DRIVER( kyukaido )  /* (c) 1990 (Japan) */
    DRIVER( dsaber )    /* (c) 1990 */
    DRIVER( dsaberj )   /* (c) 1990 (Japan) */
    DRIVER( finalap2 )  /* 90.8  Final Lap 2 */
    DRIVER( finalp2j )  /* 90.8  Final Lap 2 (Japan) */
    DRIVER( gollygho )  /* 91.7  Golly Ghost */
    DRIVER( rthun2 )    /* (c) 1990 */
    DRIVER( rthun2j )   /* (c) 1990 (Japan) */
    DRIVER( sgunner )   /* (c) 1990 */

part2

    /* 91.9  Super World Stadium */
    DRIVER( sgunner2 )  /* (c) 1991 (US) */
    DRIVER( sgunnr2j )  /* (c) 1991 (Japan) */
    DRIVER( cosmogng )  /* (c) 1991 (US) */
    DRIVER( cosmognj )  /* (c) 1991 (Japan) */
    DRIVER( finalap3 )  /* 92.9  Final Lap 3 */
    DRIVER( finalp3a )  /* 92.9  Final Lap 3 */
    DRIVER( luckywld )  /* (c) 1992 */
    DRIVER( suzuka8h )
    DRIVER( suzuk8hj )
    /* 92.8  Bubble Trouble */
    DRIVER( sws92 )     /* (c) 1992 (Japan) */
    DRIVER( sws92g )    /* (c) 1992 (Japan) */
    DRIVER( suzuk8h2 )
    DRIVER( sws93 )     /* (c) 1993 (Japan) */

part2.zip part1.zip

saulfabregwiivc commented 1 year ago

@mahoneyt944 thanks for these builds.

Unfortunately all builds when i try to load a game, even with correct romsets, it just doesn't load them (when i load a romset, it black screens for a moment and then throws me to the RetroArch menu). Also a few games (finallap, suzuka8h) when trying to load them they crash at DSI exception.

Maybe also endian issues, or memory? IDK :P

mahoneyt944 commented 1 year ago

Seems like memory to me, maybe if I try a single game on a build? Idk

saulfabregwiivc commented 1 year ago

Yes please. I want finallap, suzuka8h, assault and ordyne, these are my favs

mahoneyt944 commented 1 year ago

Here's finallap all by itself, if this won't go then the others probably won't either. artifacts.zip

saulfabregwiivc commented 1 year ago

it just crashed at DSI exception after loading a game :(

mahoneyt944 commented 1 year ago

Yeah unfortunately probably not going to work on the Wii