Jump to content

Development Updates


johnparker007

Recommended Posts

1 hour ago, slasher said:

Looking great as usual mate.

Have you checked it with a flexi reel (something like DOND perfect deal perhaps?) And a disk real (barcrest mega zone) or are they to come later as they're not really that common?

Not trying to piss on your cornflakes or anything but thought to be worth a mention :)

Flexi reels sound like something new, don't remember those from mfme2mame... and disk reels - I haven't implemented those yet... so both those reel types won't currently work with this basic implementation.

In a nutshell, it's like you say; they're not that common, so they can wait until later :) 

The plan is to implement all reel types (Horizontals, disk reels, band reels, and this new flexi reel) in a later pass of the reels.  But for now, I just wanted to get enough basic reel functionality going to get a bunch of 'standard' machines playable (hence the placeholder 'treat horizontal reels as verticals' workaround), so I can move onto the next step towards the online arcade ;) 

Next steps are currently planned to be: getting a UI system in for the menus, then basic MFME lifecycle stuff (quite a big job), so I can walk around and engage/disengage with different machines (in full screen with MFME always hidden).  Once that's working 'well enough', I can start looking at the server stuff (to keep database of machine RAMs for upload/download, and player total In/Out per machine session, along with some other bits and bobs).

Thanks for the heads-up on flexi reels, I look forward to figuring them out when the time comes :) 

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
[ 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

59 minutes ago, slasher said:

Of course let me know if there's anything I can do to help even if it's just web stuff again 

Thank you, that is very much appreciated mate :) 

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
[ 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

Bit of a rough WIP update video, emulator lifecycle management is going to take more time to develop than I initially thought... but, I have started with getting a decent UI system in, which you see some of the elements of here, so thought it was worth a quick vid :) 

It's a weird vid, the mouse pointer is invisible and the camera moves when suing the UI, this won't be the case with more emulator lifecycle stuff done - but I do really like the look of the new UI :)  ...I initially started making one of my own, and it looked 'adequate', so I spent £20 and bought this one that I can adapt.  I like the style of it, clean and modern.

 

  • 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
[ 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

Beginnings of HUD rendering, plus a little progress on MFME lifecycle work.

Here I'm pressing enter when viewing Wok 'n' Roll / Fiddle 'a' Fortune and it's loading the correct data layout under an MFME instance.  Then when I press Escape, it kills the 'engaged' machine instance, and goes back to viewing mode to continue exploring the arcade :) 

 

  • Like 5

[ 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
[ 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

Hi John,

I have been watching the progress of this forum thread over time and I have to say how impressed I am with what you are doing.

It was a really sad and continues to be difficult time with the news we all had in this scene with the passing of Wizard.

I cannot begin to imagine how pleased he would have been to find that gifted individuals such as yourself would continue to innovate and add to the already brilliant work he did with MFME.

Good luck with all of this, and looking forward to seeing it continue to progress over time.

  • Like 6
Link to comment
Share on other sites

Bit of a long gameplay video here, been working on various things...

- attract modes look scrambled on all machines (except Happy Hour as the recording was write protected), this is due to new converter feature, so it can now record these automatically as part of the conversion process (saving me time/hassle).  Will fix the new scrambled lamps bug soon. 

- 'MFME lifecycle' system working well so far, on each of these I'm pressing enter to launch, escape to return (then the machine returns to displaying attract mode recording)

- new machines being played: Fiddle 'A' Fortune, and Eastern Promise.

- all machines playable (except Happy Hour, once I turned volume up, I realised it wasn't starting due to a RAM error)

- plus other misc stuff.

There's a big pause somewhere in the video, that's because someone from work rang and needed a code for the underground car park, so I had to deal with that!

Next, planning to work on getting those automated attract mode recordings unscrambled, along with more on MFME lifecycle (full screen windows client, keeping MFME always hidden behind but still operable).  I'll prob do another video when those things are implemented, as it'll all look a bit more ship-shape :) 

 

  • Like 11
  • Awesome 2

[ 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
[ 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

I was noticing it takes a very long time to the machines to initialise, and I'm impatient :)  ...plus it's not great for the online arcade experience.  Anyway, so I've been doing some R&D (well the research side, I haven't actually made the proper system yet) - to speed up those initialise times with some good old fashioned hacking ;)  

Excluding the time to load the layout (which I should also be able to speed up once my data layouts are generated from scratch with no image resources), these are the speed up results on my PC (which runs at a fairly fast speed of 4.7ghz):

image.png.6bceed4ff0e50013c727420bdb499397.png

So on the older techs (Scorpion 4 and earlier), the machines will get to their playable state near-instantly, on the latest techs (Scorpion 5 etc) the times are around half to third (on a ~4.7ghz CPU) :) 

Here's a quick video of Monopoly Road to Riches (Scorpion 4), first showing normal startup (approx 42s), then turbo startup (approx 3s):

 

 



 

Edited by johnparker007
  • Like 3
  • Awesome 2

[ 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
[ 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

25 minutes ago, A:E said:

Wow...   fast boot enabled ;)

Yeah, Scorp5 boot times are hideously slow.  I often wondered if this was purposely done to stop people plugging machines ;).   

J

It is weird, you'd think with newer hardware (Scorpion 4 -> Scorpion 5), that the boot times would actually be quicker, with faster CPUs etc.  They both appear to do very similar jobs, controlling lamps/reels/alpha displays etc... maybe you're onto something with that theory :)  ...unless there's more sophisticated security features that take a while, or more self tests.  It's annoying for sure, but at least it'll be less annoying if I can get this hack properly implemented ;) 

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
[ 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

This is how a programmer that laughed at slow boot times (his were all fast) described it to me...

Everyone else's machine software does checks one after the other, so coin des, hopper des, note des, reel checks, etc and they're all slow to reply or do their little dance. 

His software did everything at once

  • Thanks 1
Link to comment
Share on other sites

Thought I'd give a little tech update on the potential new feature of the 'turbo startup' for those interested in that sort of thing :)  

I've been working flat out on this feature, turns out it's a lot harder to do properly than I thought (and is driving me slightly mad!).  But now I've seen how fast those scorpion 4 era machines can start (0-3s instead of 40-50s), I really want to get it working.

It's a whole load of very unfamiliar territory, coding-wise.

Originally to test, I used the built-in speedhack tool in CheatEngine.  Then I progressed onto making my own 'injectable DLL', which worked but would hang the machine when setting back to non-turbo speed.  That was down to time going backwards for a frame, which the emulator didn't like!  So I've got a workaround in that fixes that now. 

I'm struggling with communicating with the injected DLL (from the Arcade software) once it's inside MFME process, so for now I've make another workaround of just having an empty text file called turbo.txt (which is created before loading up a machine in its layout folder).  The injected DLL starts, looks to see if the file is there, and if it is, it 'turbos' MFME, and checks 10 times a second if the file is still there.  Once the file is not there, it then drops back to normal speed.  It's a bit of a kludge, but works perfectly well (as can be seen in the video below).

I'm currently using an existing command line launcher to inject the DLL (you can see in the video below I switch to a DOS prompt to run a command to call it).  I've tried a lot, and I cannot figure out a step in the process of injecting via native c# (which Unity uses).  I can't use the command line injector as is, as it's 'unsigned code' so Windows pops up a full screen warning each time I call it from Unity.

So the next plan is to make another DLL, and port across working C code to perform the Injection (like how it is possible from the command line), then make that DLL usable from Unity as a 'managed DLL', which is a little more standard that some of the crazy hacking stuff I've been having to do/learn to try pull this off.

If I can get it working so the Arcade calls the managed DLL, which then Injects my custom 'turbo' DLL into MFME - then, per machine, I just have to configure some criteria to delete the turbo.txt file the moment the machine has finished starting up (much like the 'auto camera director' feature I tested before... so I could watch for a certain lamp coming on, or a "0.00" string on the alpha-numeric display etc).  At that point, we will have machines starting as fast as they possibly can, and going to normal speed the moment they've finished initialised :) 

It has been driving me absolutely crackers trying to figure out a way to make this work, but I'm cautiously optimistic that this latest plan could be it!

 

  • Like 2

[ 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
[ 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

1 hour ago, slasher said:

Makes me wonder if cheat engine could be used to speed up laggy reels on S5 machines on lower spec computers.

As usual, great work - I like it how you go "fuck you, this ain't working, let's do a workaround" :D

It's worth a shot, though if the computer's lagging, it's probably already maxed out on the CPU... so you may not see any difference.  

Thanks man :)  I think I'm about 10 workarounds deep at this point lol - it's one of those problems that's tantalisingly close to being solvable in a clean-ish way, but just keeps jumping back out of my grasp!

  • 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
[ 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 13/12/2020 at 13:38, slasher said:

This is how a programmer that laughed at slow boot times (his were all fast) described it to me...

Everyone else's machine software does checks one after the other, so coin des, hopper des, note des, reel checks, etc and they're all slow to reply or do their little dance. 

His software did everything at once

I always used to think "Who the fucks Des?"

:)

@johnparker007 Looking really good this!

  • Like 1
Link to comment
Share on other sites

  • Reg changed the title to Development Updates
×
×
  • Create New...