Arcade cores

https://github.com/MiSTer-devel/Main_MiSTer/wiki

Moderators: Mug UK, Zorro 2, Greenious, spiny, Sorgelig, Moderator Team

twohig5
Atarian
Atarian
Posts: 5
Joined: Sun Oct 20, 2019 1:49 pm

Re: Arcade cores

Postby twohig5 » Sun Dec 29, 2019 7:04 pm

As MAME updates their roms, will the MRA files occasionally be updated to reflect new versions? Occasionally they'll change things based on new discoveries, better dumps, etc. Hopefully it will be a non issue for the most part, just curious.

wolfsoft
Atarian
Atarian
Posts: 3
Joined: Fri Feb 06, 2015 10:45 am

Re: Arcade cores

Postby wolfsoft » Sun Dec 29, 2019 8:14 pm

via the updater script I get all "new" arcade cores. But how to get the "jt*" cores?

which are the "right" mra files?
https://github.com/zakk4223/Mister-MRA
or
https://mega.nz/#F!DI92zKBb!ucHvIuROpM0R6j6kw6yy-A

When trying to start some cores I got a error message about missing a file
I used mame merged 0.217 romsets and hbmame 0.217 romset
eg: 1942.mra from zakk4223. It complains about missing sb-9.m11
When I look inside the zip file the "missing" file is there in root of the zip file.

It will be nice if somebody make a mame CLRMAME Datset for the used roms.
https://mamedev.emulab.it/clrmamepro/

many thanks

zakk4223
Retro freak
Retro freak
Posts: 13
Joined: Thu Sep 12, 2019 11:31 pm

Re: Arcade cores

Postby zakk4223 » Sun Dec 29, 2019 11:44 pm

That sounds more like the zip file can’t be found.
If your mra files are in _Arcade the zip files should be in _Arcade/mame

User avatar
Atmosfear
Atari User
Atari User
Posts: 41
Joined: Fri Apr 10, 2015 4:20 pm
Location: Germany

Re: Arcade cores

Postby Atmosfear » Mon Dec 30, 2019 7:28 am

With Todays release of the New "Multi Pacman" Core the following Games now have Issues :coffe:

Birdiy - Picture Upside Down, Game wont start
Mr. TNT - Black Screen
Ms. Pacman - Corrupt Grafix
Pacman Plus - Complete goosed Up, Game Wont start

Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 5830
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Arcade cores

Postby Sorgelig » Mon Dec 30, 2019 7:40 am

Update MiSTer binary to latest.

User avatar
Atmosfear
Atari User
Atari User
Posts: 41
Joined: Fri Apr 10, 2015 4:20 pm
Location: Germany

Re: Arcade cores

Postby Atmosfear » Mon Dec 30, 2019 7:46 am

Sorgelig wrote:Update MiSTer binary to latest.


Thanks, now working fine

trashuncle
Atari nerd
Atari nerd
Posts: 48
Joined: Fri Jul 05, 2019 9:34 pm

Re: Arcade cores

Postby trashuncle » Mon Dec 30, 2019 1:00 pm

Will MRAs be worked into the update script soon, based upon the new directory structure?

angelotax
Retro freak
Retro freak
Posts: 11
Joined: Mon Dec 30, 2019 12:52 pm

Re: Arcade Multi-cores

Postby angelotax » Mon Dec 30, 2019 1:04 pm

I Guys ,
I'm new around here and running a Mister based CAB.
I beg you please, if it is possible to make the .mra files bootable as it is now with the "boot last core" option in the .ini file.
Right now using .mra when the cab powers-on it goes to the mister menu and i really would like it to autoboot in a game directly.
Also the Neo-Geo is not bootable directly. Maybe a OSD option or flag ? I really don't know. I just hope it will be implemented.
Kind regards
:cheers:

brunosilva
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 128
Joined: Mon Apr 09, 2018 10:58 pm

Re: Arcade cores

Postby brunosilva » Mon Dec 30, 2019 3:18 pm

hi

the ones from mega were tested by two persons (before releasing) and should work ok with 0.216

the link for github has more mra (alternatives at least) than the mega link

i can try to update to 0.217 and se if there is any change (i dont this so but...)

i will update mega folder tonight with change to pacman mra

i also have a list of files needed for mame(merged)/hbmame. maybe i will update also this for nonmerged.

About the updater, there is plans to update it in near future. but I down know when.

any question just ask :)

wolfsoft
Atarian
Atarian
Posts: 3
Joined: Fri Feb 06, 2015 10:45 am

Re: Arcade cores

Postby wolfsoft » Tue Dec 31, 2019 9:21 am

Hi there,
got it to work after trying different path changes for mame and hbmame folder.

For me its working with

fat/_Arcade/*.mra files
fat/_Arcade/cores/*rbf files
fat/mame
fat/hbmame

Where can I get the cores beginning with jt* ?
and what is the meaning of this cores
thanks

skywalky
Atariator
Atariator
Posts: 23
Joined: Fri Nov 18, 2016 4:44 pm

Re: Arcade cores

Postby skywalky » Tue Dec 31, 2019 11:34 am

The jt* cores are the Jotego's arcade cores. They are here:
https://github.com/jotego/jtbin

BassKnight
Atarian
Atarian
Posts: 9
Joined: Wed Aug 21, 2019 10:20 am

Re: Arcade cores

Postby BassKnight » Tue Dec 31, 2019 10:52 pm

Today I tested the merged Pac-Man core, and managed to get the non-bootleg US and Japan versions running. Also I updated the bootleg MRA file with the split version.

I created this PR: https://github.com/MiSTer-devel/Arcade- ... er/pull/20

wolfsoft
Atarian
Atarian
Posts: 3
Joined: Fri Feb 06, 2015 10:45 am

Re: Arcade cores

Postby wolfsoft » Wed Jan 01, 2020 1:45 pm

Is there a way to make a Bosconion Core ?

https://github.com/mamedev/mame/blob/ma ... galaga.cpp

thanks

SegaMan
Atari maniac
Atari maniac
Posts: 92
Joined: Sat Oct 27, 2018 12:59 pm

Re: Arcade cores

Postby SegaMan » Thu Jan 02, 2020 4:51 pm

Ghoust´n Goblins crash at the beginning of Level 2.

All MiSTer files are up to date.

Using the new .mra and mame .zip files.

BassKnight
Atarian
Atarian
Posts: 9
Joined: Wed Aug 21, 2019 10:20 am

Re: Arcade cores

Postby BassKnight » Thu Jan 02, 2020 6:15 pm

wolfsoft wrote:Is there a way to make a Bosconion Core ?

https://github.com/mamedev/mame/blob/ma ... galaga.cpp

thanks


According to the MAME sources, Bosconian has a custom video board different from Galaga/Xevious/Dig Dug. I suppose a developer will need physical access to the Bosconian board and schematics in order to implement them in FPGA logic.

Sbeehive
Retro freak
Retro freak
Posts: 11
Joined: Fri Nov 02, 2018 1:26 am

Re: Arcade cores

Postby Sbeehive » Fri Jan 03, 2020 2:09 am

BassKnight wrote:
wolfsoft wrote:Is there a way to make a Bosconion Core ?

https://github.com/mamedev/mame/blob/ma ... galaga.cpp

thanks


According to the MAME sources, Bosconian has a custom video board different from Galaga/Xevious/Dig Dug. I suppose a developer will need physical access to the Bosconian board and schematics in order to implement them in FPGA logic.


If any developer is trying to create this and needs help finding a board let me know. I used to have access to one, but sadly sold it.

Would gladly help source a new one as best I can if that is the log-jam to an FPGA recreation.

SegaMan
Atari maniac
Atari maniac
Posts: 92
Joined: Sat Oct 27, 2018 12:59 pm

Re: Arcade cores

Postby SegaMan » Fri Jan 03, 2020 7:10 am

SegaMan wrote:Ghoust´n Goblins crash at the beginning of Level 2.

All MiSTer files are up to date.

Using the new .mra and mame .zip files.


Tested it with latest gng.rbf and it works fine.

Crash happens only with actual jtgng.rbf

hyperterminal
Captain Atari
Captain Atari
Posts: 173
Joined: Sun Jul 09, 2017 1:43 pm

Re: Arcade cores

Postby hyperterminal » Fri Jan 03, 2020 6:50 pm

I have a problem with the game Battle of Atlantis (set 2). The rom built for MiSTer has an md5 checksum of 715909ee2f71c7c6f0ffed9560f9f1ec but MiSTer will only let me run the game with the checksum badf8e58881d8964eda2f3f3ed93c643.

This is the *.mra file:

Code: Select all

<misterromdescription>
  <name>Battle of Atlantis (set 2)</name>
  <mameversion>0216</mameversion>
  <setname>atlantis2</setname>
  <year>1981</year>
  <manufacturer>Comsoft</manufacturer>
  <rbf>scramble</rbf>
  <rom index="0" zip="atlantis.zip" md5="715909ee2f71c7c6f0ffed9560f9f1ec" type="merged">
        <part name="atlantis2/boa_1.2c"/>
        <part name="atlantis2/boa_2.2e"/>
        <part name="atlantis2/boa_3.2f"/>
        <part name="atlantis2/boa_4.2h"/>
        <part name="2j"/>
        <part name="atlantis2/boa_6.2l"/>
        <part name="atlantis2/boa_7.2m"/>
        <part name="atlantis2/boa_8.2p"/>
        <part name="atlantis2/boa_10.5h"/>
        <part name="atlantis2/boa_9.5f"/>
        <part name="atlantis2/boa_11.5c"/>
        <part name="ot2.5d"/>
        <part name="ot3.5e"/>
  </rom>
  <rom index="0" zip="atlantis2.zip" md5="715909ee2f71c7c6f0ffed9560f9f1ec" type="split">
        <part name="boa_1.2c"/>
        <part name="boa_2.2e"/>
        <part name="boa_3.2f"/>
        <part name="boa_4.2h"/>
        <part name="2j" zip="atlantis.zip"/>
        <part name="boa_6.2l"/>
        <part name="boa_7.2m"/>
        <part name="boa_8.2p"/>
        <part name="boa_10.5h"/>
        <part name="boa_9.5f"/>
        <part name="boa_11.5c"/>
        <part name="ot2.5d" zip="atlantis.zip"/>
        <part name="ot3.5e" zip="atlantis.zip"/>
  </rom>
</misterromdescription>


In the log of the console it tells me that all files were loaded but the md5 checksum from the joined rom file didn't match:

Code: Select all

file: /media/fat/_Arcade/mame/atlantis.zip/atlantis2/boa_1.2c, start=0, len=0
file: /media/fat/_Arcade/mame/atlantis.zip/atlantis2/boa_2.2e, start=0, len=0
file: /media/fat/_Arcade/mame/atlantis.zip/atlantis2/boa_3.2f, start=0, len=0
file: /media/fat/_Arcade/mame/atlantis.zip/atlantis2/boa_4.2h, start=0, len=0
file: /media/fat/_Arcade/mame/atlantis.zip/2j, start=0, len=0
file: /media/fat/_Arcade/mame/atlantis.zip/atlantis2/boa_6.2l, start=0, len=0
file: /media/fat/_Arcade/mame/atlantis.zip/atlantis2/boa_7.2m, start=0, len=0
file: /media/fat/_Arcade/mame/atlantis.zip/atlantis2/boa_8.2p, start=0, len=0
file: /media/fat/_Arcade/mame/atlantis.zip/atlantis2/boa_10.5h, start=0, len=0
file: /media/fat/_Arcade/mame/atlantis.zip/atlantis2/boa_9.5f, start=0, len=0
file: /media/fat/_Arcade/mame/atlantis.zip/atlantis2/boa_11.5c, start=0, len=0
file: /media/fat/_Arcade/mame/atlantis.zip/ot2.5d, start=0, len=0
file: /media/fat/_Arcade/mame/atlantis.zip/ot3.5e, start=0, len=0
md5[715909ee2f71c7c6f0ffed9560f9f1ec]
md5-calc[badf8e58881d8964eda2f3f3ed93c643]
mismatch
file_finish: discard the ROM


How can this be? I tried multiple times to build the rom on my PC using the merged romset atlantis from MAME and the command

Code: Select all

copy /b atlantis2/boa_1.2c+atlantis2/boa_2.2e+atlantis2/boa_3.2f+atlantis2/boa_4.2h+2j+atlantis2/boa_6.2l+atlantis2/boa_7.2m+atlantis2/boa_8.2p+atlantis2/boa_10.5h+atlantis2/boa_9.5f+atlantis2/boa_11.5c+ot2.5d+ot3.5e atlantis2.rom
but the checksum was always 715909ee2f71c7c6f0ffed9560f9f1ec.

As a workaround I can run the game with the md5 checksum changed to badf8e58881d8964eda2f3f3ed93c643 in the *.mra file but I don't think this is the correct way as the wrong checksum might also indicate a problem in the process of building the rom on MiSTer.

User avatar
rsn8887
Atariator
Atariator
Posts: 28
Joined: Mon Nov 11, 2019 7:20 pm

Re: Arcade cores

Postby rsn8887 » Sat Jan 04, 2020 3:32 pm

I got my arcade cores to work with Mame files. It works really well it seems. Thank you so much to all the developers. Food Fight with analog stick is pretty amazing for example.

However, some very few Arcade cores seem to not work well with vsync_adjust=2 even with my freesync HDMI monitor. Donkey Kong is one of them.

What lines should I put in my Mister.ini to make those few games work correctly with minimal lag? And which games require the .ini adjustment? This was told to me on Discord a while ago but I forgot. Thanks!!!

djmartins
Captain Atari
Captain Atari
Posts: 232
Joined: Wed Nov 21, 2018 10:26 pm

Re: Arcade cores

Postby djmartins » Sat Jan 04, 2020 4:39 pm

hyperterminal wrote:As a workaround I can run the game with the md5 checksum changed to badf8e58881d8964eda2f3f3ed93c643 in the *.mra file but I don't think this is the correct way as the wrong checksum might also indicate a problem in the process of building the rom on MiSTer.



I have been unable to find ROMs with the same checksums as many games in spite of using 0.216 ROMs as the mra says it wants from various sources that all agree on the checksum but not what the MRA file shows.
Same deal with the mras asking for 0.217 ROMs too.
The mra file means you don't have to make a rom and use the correct merged or unmerged MAME roms.
Changing the mra checksums do allow them to run as you've found out...

elvisa
Atarian
Atarian
Posts: 6
Joined: Tue Oct 08, 2019 12:17 pm

Re: Arcade cores

Postby elvisa » Mon Jan 06, 2020 2:17 am

wolfsoft wrote:It will be nice if somebody make a mame CLRMAME Datset for the used roms.
https://mamedev.emulab.it/clrmamepro/

many thanks

I started doing this:
https://github.com/danmons/datfiles

But I think it's something the MRA files could do on their own now, with some modification. I don't have the C/C++ programming skill to do it myself, so I'll try and explain the idea here.

In MAME for example, you can list the checksums of each of the ROM parts with the -listxml flag on the command line. For example, here's a truncated output:

Code: Select all

<machine name="dkong" sourcefile="dkong.cpp">
<description>Donkey Kong (US set 1)</description>
<year>1981</year>
<manufacturer>Nintendo of America</manufacturer>
<rom name="c_5et_g.bin" size="4096" crc="ba70b88b" sha1="d76ebecfea1af098d843ee7e578e480cd658ac1a" region="maincpu" offset="0"/>
<rom name="c_5ct_g.bin" size="4096" crc="5ec461ec" sha1="acb11a8fbdbb3ab46068385fe465f681e3c824bd" region="maincpu" offset="1000"/>
<rom name="c_5bt_g.bin" size="4096" crc="1c97d324" sha1="c7966261f3a1d3296927e0b6ee1c58039fc53c1f" region="maincpu" offset="2000"/>
<rom name="c_5at_g.bin" size="4096" crc="b9005ac0" sha1="3fe3599f6fa7c496f782053ddf7bacb453d197c4" region="maincpu" offset="3000"/>
<rom name="s_3i_b.bin" size="2048" crc="45a4ed06" sha1="144d24464c1f9f01894eb12f846952290e6e32ef" region="soundcpu" offset="0"/>
<rom name="s_3j_b.bin" size="2048" crc="4743fe92" sha1="6c82b57637c0212a580591397e6a5a1718f19fd2" region="soundcpu" offset="1000"/>
<rom name="v_5h_b.bin" size="2048" crc="12c8c95d" sha1="a57ff5a231c45252a63b354137c920a1379b70a3" region="gfx1" offset="0"/>
<rom name="v_3pt.bin" size="2048" crc="15e9c5e9" sha1="976eb1e18c74018193a35aa86cff482ebfc5cc4e" region="gfx1" offset="800"/>
<rom name="l_4m_b.bin" size="2048" crc="59f8054d" sha1="793dba9bf5a5fe76328acdfb90815c243d2a65f1" region="gfx2" offset="0"/>
<rom name="l_4n_b.bin" size="2048" crc="672e4714" sha1="92e5d379f4838ac1fa44d448ce7d142dae42102f" region="gfx2" offset="800"/>
<rom name="l_4r_b.bin" size="2048" crc="feaa59ee" sha1="ecf95db5a20098804fc8bd59232c66e2e0ed3db4" region="gfx2" offset="1000"/>
<rom name="l_4s_b.bin" size="2048" crc="20f2ef7e" sha1="3bc482a38bf579033f50082748ee95205b0f673d" region="gfx2" offset="1800"/>
<rom name="c-2k.bpr" size="256" crc="e273ede5" sha1="b50ec9e1837c00c20fb2a4369ec7dd0358321127" region="proms" offset="0"/>
<rom name="c-2j.bpr" size="256" crc="d6412358" sha1="f9c872da2fe8e800574ae3bf483fb3ccacc92eb3" region="proms" offset="100"/>
<rom name="v-5e.bpr" size="256" crc="b869b8f5" sha1="c2bdccbf2654b64ea55cd589fd21323a9178a660" region="proms" offset="200"/>


Each individual ROM has checksums. So if you have a zip file from a MAME set, and one ROM is missing or invalid, you know exactly which one inside that zip file is bad. MAME uses this internally to verify each part of the ROM at load time, but third party tools can also use this information to build/verify/audit ROM sets.

Compare to the MRA file:

Code: Select all

<rbf>DonkeyKong</rbf>
<rom index="0" zip="dkong.zip" md5="05fb1dd1ce6a786c538275d5776b1db1">
<part name="c_5et_g.bin"/>
<part name="c_5ct_g.bin"/>
<part name="c_5bt_g.bin"/>
<part name="c_5at_g.bin"/>
<part name="c_5at_g.bin"/>
<part name="c_5at_g.bin"/>
<part name="v_3pt.bin"/>
<part name="v_3pt.bin"/>
<part name="v_5h_b.bin"/>
<part name="v_5h_b.bin"/>
<part name="c_5at_g.bin"/>
<part name="c_5at_g.bin"/>
<part name="l_4m_b.bin"/>
<part name="l_4m_b.bin"/>
<part name="l_4n_b.bin"/>
<part name="l_4n_b.bin"/>
<part name="l_4r_b.bin"/>
<part name="l_4r_b.bin"/>
<part name="l_4s_b.bin"/>
<part name="l_4s_b.bin"/>
<part name="s_3i_b.bin"/>
<part name="s_3j_b.bin"/>
<part name="c-2k.bpr"/>
<part name="c-2j.bpr"/>
<part name="v-5e.bpr"/>
<part repeat="3328" >00</part>


Where only the assembled/concatenated ROM's checksum is stored. If a single file inside my zip is wrong, I have no idea which one is at fault. If one is missing, I have to manually compare my zip internals with the MRA list.

The MAME format can also be used by tools like RomVault, RomCenter, SabreTools, ClrMAMEPro and others because it's in the standard DAT file format format used by many ROM organisation tools and emulators:
http://www.logiqx.com/Dats/datafile.dtd

These tools can use DAT files like the ones on my GitHub link above, and scan through enormous collections of files checking each individual part inside zips by checksum, re-zipping and naming them appropriately. From there you can do a have/miss list to see if your collection meets the expected set required for each game to work.

If your set is missing a single file inside a zip, you can add it in trivially, again with the tools listed above. Grab different versions of the zip files from wherever, point your tool and DAT file at the download location, and it'll merge the correct bits in to your set, fixing it up. This happens sometimes when an old dump is discovered to be inaccurate, and new dumps are released with more accurate versions.

The sheer bulk of the DAT file formatting and logic is all released and open source. Again, I wish I had the brain power to write the code required, but sadly I'm a total numpty when it comes to C/C++, and would be afraid that any code I submitted would be of a terrible quality.

zakk4223
Retro freak
Retro freak
Posts: 13
Joined: Thu Sep 12, 2019 11:31 pm

Re: Arcade cores

Postby zakk4223 » Mon Jan 06, 2020 1:23 pm

Storing the CRC of individual <part> elements (the ones that reference a rom file in a zip) and looking up zip entries by CRC instead of file name seems like it would be the easiest way to detect individual rom mismatches and report them as an error.

The tradeoff there is that if there's ever a new/updated dump of some component the mister loader will fail. I'd argue that's perhaps a good thing, as it means some assumptions the core was developed under have now changed. As it stands now it is vulnerable to a mame 'naming reorganization' breaking things (although those do not happen as frequently as some people seem to fear).

Thinking out loud: wouldn't a lookup via CRC also mean you don't need to have multiple rom part=0 entries to accommodate merged/nonmerged/split sets? Instead you'd have one entry and just turn the zip file name attribute into an ordered-by-priority list? So something like zip="nonmerged.zip|parent.zip' ?

hyperterminal
Captain Atari
Captain Atari
Posts: 173
Joined: Sun Jul 09, 2017 1:43 pm

Re: Arcade cores

Postby hyperterminal » Mon Jan 06, 2020 5:54 pm

When creating *.mra files I always take a look at the MAME driver of the respective arcade hardware and I presume other *.mra creators do as well.

CRC32 values of individual roms are very important to find out which roms (of a merged set) can be used to create a specific game described in MAME's source code.

It would be good practice to at least add the CRC32 values of individual roms as a comment into the *.mra files. Those CRC32 values mean more than rom names which change every few MAME versions.

ewok
Atari User
Atari User
Posts: 42
Joined: Tue Jul 17, 2018 4:15 pm

sega system 1 hbf

Postby ewok » Mon Jan 06, 2020 7:39 pm

Hi,

I cannot seem to find the sega system 1 hbf files anymore. Are they pulled back for a reason?

Thanks!

derFunkenstein
Retro freak
Retro freak
Posts: 14
Joined: Fri Dec 20, 2019 10:27 pm

Re: sega system 1 hbf

Postby derFunkenstein » Mon Jan 06, 2020 8:58 pm

edit: sorry, misread.


Return to “MiSTer”

Who is online

Users browsing this forum: No registered users and 13 guests