Jump to content

Development Updates


johnparker007

Recommended Posts

I saw it while searching for bits related to the spreadsheet, so just grabbed it (3d cab).

  • Like 1
Link to comment
Share on other sites

6 minutes ago, spa said:

I saw it while searching for bits related to the spreadsheet, so just grabbed it (3d cab).

I did have it on checking further in my Art folder, it's from an old 3d MAME frontend (a little bit like an early Arcade Sim!).

  • Like 1

[ Arcade Simulator ] Pre-alpha installer: http://arcadesimulator.net  |  Known Issues: https://tinyurl.com/yz4uom2e  |  Donation info: https://tinyurl.com/yzvgl4xo
[ Community Drive ] The drive: http://tinyurl.com/yckze665
[ Fruit Machine Database ] Initial google sheets (WIP): https://tinyurl.com/2c5znxzz
[ Fruit Machine ROM  Archive ] The archive: https://tinyurl.com/3jhzbueb

[ MFME Launch ] Source code: https://github.com/johnparker007/MFMELaunch
[ Oasis ] Source code: https://github.com/johnparker007/Oasis
[ Sound ROM Editor ] Source code: https://github.com/johnparker007/SoundRomEditor

Link to comment
Share on other sites

MPU5 looking a bit better now @wolf676 :)  

image.thumb.png.740671522a57f3d17c321c4f0313f3a5.png

I think some of the MPU5 Roms may have been patched to run in MFME... I was just checking the first rom, and getting very few additional matches.  Then I compared the two (MAME vs MFME layout rom), and found some altered bytes, that looks very much like a cheeky patch ;)

I then had it test against all four parts and got a lot more matches :)  Since MPU5 and Scorpion 5 are the newest supported platforms, it makes sense there's a higher proportion missing from those.

  • Like 3

[ Arcade Simulator ] Pre-alpha installer: http://arcadesimulator.net  |  Known Issues: https://tinyurl.com/yz4uom2e  |  Donation info: https://tinyurl.com/yzvgl4xo
[ Community Drive ] The drive: http://tinyurl.com/yckze665
[ Fruit Machine Database ] Initial google sheets (WIP): https://tinyurl.com/2c5znxzz
[ Fruit Machine ROM  Archive ] The archive: https://tinyurl.com/3jhzbueb

[ MFME Launch ] Source code: https://github.com/johnparker007/MFMELaunch
[ Oasis ] Source code: https://github.com/johnparker007/Oasis
[ Sound ROM Editor ] Source code: https://github.com/johnparker007/SoundRomEditor

Link to comment
Share on other sites

On 02/10/2022 at 19:39, johnparker007 said:

Currently working on MAME stuff, there's a lot of steps involved in this, will ultimately be used to drive the emulation in Arcade Sim with various advantages.  When it's finally done from my end, I'll be looking at getting mame to work with AS then back to JPM Electra machines.

holy smeg.. sounds incredible!! just remarkable

  • Like 1

living the dream

 

Link to comment
Share on other sites

A little update, have been working on more for setting up the batch extracting of the auto chosen layouts for MAME internals which seems just about ready now, and also now setting up the config scraping, have set up MPU4 so far, rest should be a lot quicker now I've done one page - it is this additional data needed per layout:
image.png.5a4c8d5000185835fc8486b12a723ed7.png

(which differs by tech - will be useful for batch tweaking MAME drivers per game to have the correct 'traits').

I'm about ready to start the next stage of the extracting during the days at least while I'm working on the other PC :)  The scraper is fragile and needs baby-sitting, it has a fundamental crashing issue that I've not been able to solve - I didn't anticipate I'd be attempt to batch scrape 3000 layouts, so I'll have to see how painful it goes!  This will be getting underway tomorrow am...

Already done the extracts for SRU - though I couldn't progress as I don't have the revised MAME romsets, same for Blackbox (though I suspect I have another rom ident issue to sort out like we saw with the MPU5 roms).  Perhaps @SomeRandomGuy could hook me up with the new MAME roms for those two techs please? ;) 

I do have the MPU4 roms however, and that seems the biggest one to try work out the kinks as best as can be with the scraping tech as it stands, since from my graph above it looks to have 774 layouts total to be extracted, a popular tech :) 

Alongside limited graphical extraction (I'm skipping lamp & background images to save time as they're not needed for these MAME internal layouts, only the reels), this is the current json file that is generated for a layout for those interested - I suspect this will stay on zero downloads, it's heavy reading lol :) 
Chase_The_Ace_Cards_(Empire)_[C01_8jp].zip
 

  • Like 3

[ Arcade Simulator ] Pre-alpha installer: http://arcadesimulator.net  |  Known Issues: https://tinyurl.com/yz4uom2e  |  Donation info: https://tinyurl.com/yzvgl4xo
[ Community Drive ] The drive: http://tinyurl.com/yckze665
[ Fruit Machine Database ] Initial google sheets (WIP): https://tinyurl.com/2c5znxzz
[ Fruit Machine ROM  Archive ] The archive: https://tinyurl.com/3jhzbueb

[ MFME Launch ] Source code: https://github.com/johnparker007/MFMELaunch
[ Oasis ] Source code: https://github.com/johnparker007/Oasis
[ Sound ROM Editor ] Source code: https://github.com/johnparker007/SoundRomEditor

Link to comment
Share on other sites

That's great, thanks @Altharic :)   

[ Arcade Simulator ] Pre-alpha installer: http://arcadesimulator.net  |  Known Issues: https://tinyurl.com/yz4uom2e  |  Donation info: https://tinyurl.com/yzvgl4xo
[ Community Drive ] The drive: http://tinyurl.com/yckze665
[ Fruit Machine Database ] Initial google sheets (WIP): https://tinyurl.com/2c5znxzz
[ Fruit Machine ROM  Archive ] The archive: https://tinyurl.com/3jhzbueb

[ MFME Launch ] Source code: https://github.com/johnparker007/MFMELaunch
[ Oasis ] Source code: https://github.com/johnparker007/Oasis
[ Sound ROM Editor ] Source code: https://github.com/johnparker007/SoundRomEditor

Link to comment
Share on other sites

Had a lack of time this week once again, but I'm back to doing fruit stuff now. Golden Spin is finally working, which should be all the EM games covered! Now I need to get everything ready for submitting. Won't be quick as I first need to get the latest MAME code into my development branch (currently a couple months behind) and then do some other stuff. Real close to MAME officially getting the first part of Black Box now :)

On 06/10/2022 at 00:35, johnparker007 said:

Already done the extracts for SRU - though I couldn't progress as I don't have the revised MAME romsets, same for Blackbox (though I suspect I have another rom ident issue to sort out like we saw with the MPU5 roms).  Perhaps @SomeRandomGuy could hook me up with the new MAME roms for those two techs please? ;)

Niiice stuff! I attached the current build, all ROMs should be there if any are still missing :)

6 hours ago, andrew96 said:

Was the TMS1000 MP00027a rom dump made available to us minions? the reason I ask as it seems a very simple 4 bit microprocessor and would like to see if I can get a PIC chip to recreate it. cheers

I actually disassembled a bit of the code myself :). Got it attached along with an untouched one in case I got something wrong. I tried to get all the addresses labeled, didn't comment the code itself much. TMS1000 has a whole bunch of early 70s CPU weirdness going on, definitely not like your usual modern day microcontroller. They used a LFSR instead of a regular counter for the program counter, that's why the addresses look all weird :D. One important part of the TMS1000 is that to write to the O port it doesn't directly write to it, rather it writes to a 5-bit PLA which in turn generates the outputs. There's another ROM file for that PLA in the same folder (BTW I transcribed the bits wrong in the one I uploaded first, so get the new one), which is actually a text file. There's a line for each PLA term and only 8 of them are used, one for each output bit. The speaker outputs for example are lines 11 and 12 (O6 and O7). When playing a tune the code just increments the PLA register from 0x10 to 0x1F over and over. The code is unusual but there's not that much to reverse engineer, most of it is just instructions that load the tune data into memory.

mame.zip

mp0027a.zip

Edited by SomeRandomGuy
  • Like 1
  • Awesome 6
Link to comment
Share on other sites

13 hours ago, SomeRandomGuy said:

Had a lack of time this week once again, but I'm back to doing fruit stuff now. Golden Spin is finally working, which should be all the EM games covered! Now I need to get everything ready for submitting. Won't be quick as I first need to get the latest MAME code into my development branch (currently a couple months behind) and then do some other stuff. Real close to MAME officially getting the first part of Black Box now :)

Niiice stuff! I attached the current build, all ROMs should be there if any are still missing :)

I actually disassembled a bit of the code myself :). Got it attached along with an untouched one in case I got something wrong. I tried to get all the addresses labeled, didn't comment the code itself much. TMS1000 has a whole bunch of early 70s CPU weirdness going on, definitely not like your usual modern day microcontroller. They used a LFSR instead of a regular counter for the program counter, that's why the addresses look all weird :D. One important part of the TMS1000 is that to write to the O port it doesn't directly write to it, rather it writes to a 5-bit PLA which in turn generates the outputs. There's another ROM file for that PLA in the same folder (BTW I transcribed the bits wrong in the one I uploaded first, so get the new one), which is actually a text file. There's a line for each PLA term and only 8 of them are used, one for each output bit. The speaker outputs for example are lines 11 and 12 (O6 and O7). When playing a tune the code just increments the PLA register from 0x10 to 0x1F over and over. The code is unusual but there's not that much to reverse engineer, most of it is just instructions that load the tune data into memory.

mame.zip 14.44 MB · 2 downloads

mp0027a.zip 8.77 kB · 1 download

Great work as always mate :)  Hobby time is a struggle with real life and jobs, we make progress though in the end!

Thanks for the build and ROMs - with that exe including blackbox, I should be able to romident the 7x mfme blackbox layouts with their MAME names.

Started on the MPU4 scraping, but hit some bugs that I need to fix, then restarting early next week during the days... next big job alongside this is some semi-automated reel symbol identification (I think a back of the envelope calc suggested over 200,000 reel symbols across the 3,000 layouts, so I need to develop some tools to automate it a bit!).

Edited by johnparker007
  • Like 2
  • Thanks 1

[ Arcade Simulator ] Pre-alpha installer: http://arcadesimulator.net  |  Known Issues: https://tinyurl.com/yz4uom2e  |  Donation info: https://tinyurl.com/yzvgl4xo
[ Community Drive ] The drive: http://tinyurl.com/yckze665
[ Fruit Machine Database ] Initial google sheets (WIP): https://tinyurl.com/2c5znxzz
[ Fruit Machine ROM  Archive ] The archive: https://tinyurl.com/3jhzbueb

[ MFME Launch ] Source code: https://github.com/johnparker007/MFMELaunch
[ Oasis ] Source code: https://github.com/johnparker007/Oasis
[ Sound ROM Editor ] Source code: https://github.com/johnparker007/SoundRomEditor

Link to comment
Share on other sites

Now have the 'border' MFME component scraping set up, that I'd somehow missed... along with some other things, to help me put layouts to one side that won't currently scrape without disrupting the overall flow, since there's a lot of scraping to get through.  Going to restart the scrapes for MPU4 since that's where I first started seeing warnings that I was missing border components... :) 

Example of new Border component in Dennis The Menace MPU4 extract:

image.thumb.png.289e559696a5ecff9837a3ef367f97b6.png

Edited by johnparker007
  • Like 4

[ Arcade Simulator ] Pre-alpha installer: http://arcadesimulator.net  |  Known Issues: https://tinyurl.com/yz4uom2e  |  Donation info: https://tinyurl.com/yzvgl4xo
[ Community Drive ] The drive: http://tinyurl.com/yckze665
[ Fruit Machine Database ] Initial google sheets (WIP): https://tinyurl.com/2c5znxzz
[ Fruit Machine ROM  Archive ] The archive: https://tinyurl.com/3jhzbueb

[ MFME Launch ] Source code: https://github.com/johnparker007/MFMELaunch
[ Oasis ] Source code: https://github.com/johnparker007/Oasis
[ Sound ROM Editor ] Source code: https://github.com/johnparker007/SoundRomEditor

Link to comment
Share on other sites

52 minutes ago, MikeyPosh said:

JP - Sorry if this has already been pointed out,

The DOND machines, on the wall, from Right to Left, you can see whats in the box prior to accepting/rejecting the deal, maybe other machines too, Ive only recently started playing the bigger JPs

Hush you! Now we can all read the boxes lol!

  • Haha 2
Link to comment
Share on other sites

2 hours ago, MikeyPosh said:

JP - Sorry if this has already been pointed out,

The DOND machines, on the wall, from Right to Left, you can see whats in the box prior to accepting/rejecting the deal, maybe other machines too, Ive only recently started playing the bigger JPs

It's a known issue, it's on the Known Issues sheet, linked in my sig :) 

image.png.caec4e9c39518c4d928edf34937c5db1.png

  • Like 1

[ Arcade Simulator ] Pre-alpha installer: http://arcadesimulator.net  |  Known Issues: https://tinyurl.com/yz4uom2e  |  Donation info: https://tinyurl.com/yzvgl4xo
[ Community Drive ] The drive: http://tinyurl.com/yckze665
[ Fruit Machine Database ] Initial google sheets (WIP): https://tinyurl.com/2c5znxzz
[ Fruit Machine ROM  Archive ] The archive: https://tinyurl.com/3jhzbueb

[ MFME Launch ] Source code: https://github.com/johnparker007/MFMELaunch
[ Oasis ] Source code: https://github.com/johnparker007/Oasis
[ Sound ROM Editor ] Source code: https://github.com/johnparker007/SoundRomEditor

Link to comment
Share on other sites

Been working on the layout generation stuff still, got it generating some now from these autoselected/autoscraped layouts.

This new progress has highlighted more bugs to deal with and other issues... up to generating ~10 MPU4 layouts so far before a critical failure:
image.png.3a08e2d30b560a068b2e5ab2b54d56c1.png


I've realised I need to do yet more with the MPU4 scraping, as I need to scrape the Characteriser lamp tables, so that where it is wrong in the MFME layout, I can correct the lamp numbers to work with the correct Characteriser lamp table in MAME (otherwise the lamps are scrambled).

So I'll start scraping some other platforms tomorrow until I can get time to implement that for MPU4, since apart from the Characteriser, the scraping side is generally complete for what's needed for these MAME internal layouts.

Another slight show-stopper, is that due to how MAME's internal layout renderer works, my fancy new shaded, rounded corner lamps may have to go (sob, I spent ages getting them looking nice!)... I might look into working out the layouts that are likely to cause issues, to then make them fall back to the old minimal solid rectangles... not sure yet, as then the layouts would be randomly inconsistent on the lamp/button shading, which might be worse.

The test layouts I developed it on, while they had plenty of lamps, the lamps were a consistent size... but, for each lamp of a different size, MAME has to generate an internal texture, so a simple layout such as this has broken it, purely due to it needing to make more textures for varying sized components:
image.png.e62c06f5a7cfb8402ac68654fe9f9e71.png

So running that in MAME results in this :/ 
image.png.64d8850e754b2cddf317ad8cbbc1b977.png

While the array size of this could be increased (in MAME source), I don't think Cauvas will be on board with that, due to the increased memory hit on constrained ports of MAME.

So this layout (hacked a little to render for demo purposes):
image.thumb.png.b1dc4bc4ec3929add67f048bdebb9c39.png

Would instead have much more basic lamps/button shading, like this (the original 2016 mfme2mame layout):
image.thumb.png.d4e2ad8355488e51fcf64031c12e4387.png
 

Bit of a shame, but at the end of the day, the purpose of it is just to get functional layouts in MAME for all the games, I think most people will be playing them in Arcade Simulator rather than these text layouts anyway! ;) 

But they are important to have, so then it's easy to work in emu dev in MAME, and be able to properly play the machine... ah well, gotta keep on keeping on, this was always going to be a massive job lol :) 

Edited by johnparker007
  • Like 4

[ Arcade Simulator ] Pre-alpha installer: http://arcadesimulator.net  |  Known Issues: https://tinyurl.com/yz4uom2e  |  Donation info: https://tinyurl.com/yzvgl4xo
[ Community Drive ] The drive: http://tinyurl.com/yckze665
[ Fruit Machine Database ] Initial google sheets (WIP): https://tinyurl.com/2c5znxzz
[ Fruit Machine ROM  Archive ] The archive: https://tinyurl.com/3jhzbueb

[ MFME Launch ] Source code: https://github.com/johnparker007/MFMELaunch
[ Oasis ] Source code: https://github.com/johnparker007/Oasis
[ Sound ROM Editor ] Source code: https://github.com/johnparker007/SoundRomEditor

Link to comment
Share on other sites

29 minutes ago, Altharic said:

Does this just affect mpu4 if so could you not test another tech and see what happens Impact seems more complete in mame?

The Characteriser stuff only affects MPU4, the issue with MAME crashing with 'too many live texture instances' is just due to the custom lamp/shading render technique going over hard limit (these new layouts with layered svg lamps are the most advanced thing done so far I think, and the MAME render system is pretty basic), not related to tech.

I think most Impact machines have layouts now, James used mfme2mame to fill in some I missed on the initial run. 

Edited by johnparker007

[ Arcade Simulator ] Pre-alpha installer: http://arcadesimulator.net  |  Known Issues: https://tinyurl.com/yz4uom2e  |  Donation info: https://tinyurl.com/yzvgl4xo
[ Community Drive ] The drive: http://tinyurl.com/yckze665
[ Fruit Machine Database ] Initial google sheets (WIP): https://tinyurl.com/2c5znxzz
[ Fruit Machine ROM  Archive ] The archive: https://tinyurl.com/3jhzbueb

[ MFME Launch ] Source code: https://github.com/johnparker007/MFMELaunch
[ Oasis ] Source code: https://github.com/johnparker007/Oasis
[ Sound ROM Editor ] Source code: https://github.com/johnparker007/SoundRomEditor

Link to comment
Share on other sites

15 minutes ago, Altharic said:

I have been looking at impact in mame seeing what runs etc and there are loads that have no layout or have one with issues.

Speaking of Mpu4 this has been opened by James on the mame pulls 

Edit to add Cash Raider (ace) screenshot 

image_2022-10-10_082848689.png

Ah good to know, I thought all the Impacts had layouts after the recent Impact driver work, but I've not had time to carefully go through them, I just tried a few and they had layouts, so I assumed they got a second round of mfme2mame conversions - right I'll extract Impact platform next then, since MPU4 needs that extra chr stuff scraping first... :) 

Edited by johnparker007
  • Like 1

[ Arcade Simulator ] Pre-alpha installer: http://arcadesimulator.net  |  Known Issues: https://tinyurl.com/yz4uom2e  |  Donation info: https://tinyurl.com/yzvgl4xo
[ Community Drive ] The drive: http://tinyurl.com/yckze665
[ Fruit Machine Database ] Initial google sheets (WIP): https://tinyurl.com/2c5znxzz
[ Fruit Machine ROM  Archive ] The archive: https://tinyurl.com/3jhzbueb

[ MFME Launch ] Source code: https://github.com/johnparker007/MFMELaunch
[ Oasis ] Source code: https://github.com/johnparker007/Oasis
[ Sound ROM Editor ] Source code: https://github.com/johnparker007/SoundRomEditor

Link to comment
Share on other sites

15 hours ago, johnparker007 said:

Another slight show-stopper, is that due to how MAME's internal layout renderer works, my fancy new shaded, rounded corner lamps may have to go (sob, I spent ages getting them looking nice!)... I might look into working out the layouts that are likely to cause issues, to then make them fall back to the old minimal solid rectangles... not sure yet, as then the layouts would be randomly inconsistent on the lamp/button shading, which might be worse.

While the array size of this could be increased (in MAME source), I don't think Cauvas will be on board with that, due to the increased memory hit on constrained ports of MAME.

Aww, that's a shame :( Could be worth asking about it though, I don't think people running MAME on Pi's or whatever make much use of drivers with artwork or anything else that has a lot of textures (and most of the time they're not running anywhere near modern MAME in the first place). Some of the layouts having the older style would be no big deal IMO, and I guess manual intervention like making all the arrows on that layout the same size could also be done, but that defeats the purpose of the automated process in the first place. Regardless of there being fancy looking lamps or not, great work as always!

  • Like 1
Link to comment
Share on other sites

×
×
  • Create New...