Jump to content

johnparker007

  • Posts

    2,603
  • Joined

  • Last visited

  • Days Won

    116

Everything posted by johnparker007

  1. Antivirus software can be a bit of a pain! This won't affect standard users of Oasis when that is done, since it doesn't need these dll's to run the fruity machine emulation. It will still be an issue for advanced users who want to convert MFME layouts into Oasis layouts themselves (as they'll need to install the MfmeTools add-on to extract the MFME layouts), but this will be a small number of users interested in that side of things.
  2. How to fix: - Open Windows Defender - select the Virus & Threat Protection tab: - scroll down in the Window and click Manage Settings: - click Add Or Remove Exclusions (you may need to scroll down to see this option: - Click the '+ Add an Exclusion' button, and select 'Folder' from the dropdown list: - Choose the Arcade Simulator folder, on my machine this looks like this (on your machine the username will not be 'John!') Now you should be able to use machines running via MFME (the fruit machines) again!
  3. Ok - this is NOT recommended! But I've already found the exact problem and a fix. So each time Arcade Sim starts up it rewrites two files 'DllInject' and 'Speedhack2.dll' if it sees either of them are not present. I store them reversed to get past virus checkers during the download stage, then write an 'unreversed' copy to disk so it is seen as safe. Recently then it would seem that now Windows Defender is classifying 'DllInject.exe' as malware, and deleting it the moment it is written to the disk by ArcadeSim during startup. So by disabling 'Real Time Protection' in Windows Defender, then fully relaunching ArcadeSim, this means the DllInject.exe file can be written, without Windows Defender deleting it... and so then the fruit machines work correctly again I will now check if I can add the ArcadeSim directory as an 'Ignore' folder to WIndows Defender, as that is a much safer way to fix this... gimme 5 mins...
  4. Ah right, have just checked and the same issue is present over here. It appears that ArcadeSim is unable to start the'hack dll' I wrote to inject functionality into MFME. I wonder if it's to do with Windows antivirus having changed and it now sees the dll injection as a potential threat: Thanks for the info, I suspect it's something Windows antivirus has started doing. I'm a bit under the weather for coding at the mo, hopefully I can figure a workaround fix, so we can keep ArcadeSim working to tide us over until Oasis... I'll look into it hopefully soonish, fingers crossed I can find a simple fix, without needing to try build an ArcadeSim update, since the codebase it pretty much 'retired'... would like it to keep working though for the next 1-2 years if poss!
  5. I did spot that one recently Should be good for playing MAME internal classic layouts that require simultaneous button holds (nudging reels up, holding cancel to slow skill stops etc)
  6. A little bit hacky, but more progress on the MfmeTools Extractor. Usually when right-clicking the left side of the layout to pull up the Properties window, we land straight on the first component (the background). This isn't always the case though, sometimes there might be a component like a checkbox there. So we must get back to the first component... I've added a large 'dummy test' lamp on the left of this Andy Capp layout I'm testing with, so we can test getting back to the first component. Here is the new window scraping code getting its first use, watching the component number change while clicking left, until it sees it has successfully reached the first component:
  7. Sounds gnarly mate Even if the code was still present in the original asm source, but the (forced mini streak) routine was no longer called , the compiler would exclude it so it would be gone from the binary you get from the ROM (in these early asm production environments it was common to comment out the call but leave the code due to early/no source control).
  8. A small tech update on this project I have the general custom window scraping written (so it can grab the RGB value of specific pixels from the various MFME windows). Currently working on integrating that functional scraping code into MFME Tools - the first use of which will be to simply scrape the component number from the properties window (so we can 'rewind' back to component #1 after getting into Properties - this is how I found it best to do under the Arcade Sim Layout Scraper). The plan is that this custom scraping code, whilst also being complete independent of Unity (MFME Tools is written in C# as a Windows executable), will also provide missing stability, as the scraping system I used under Unity to drive Arcade Sim and also the layout extraction, had a tendency to crash! So hopefully when this is fully developed, I can leave it with a massive batch of DX layouts, and it will not crash even after many hours of extracting... Commits are all here for those interested in the code, this is all open source: https://github.com/johnparker007/Oasis/commits/main/
  9. Been feeling a bit better, so got some more progress on porting/converting the MFME Layout Extractor from the old ArcadeSim project to the new MfmeTools application (this is a 'standalone' Windows-only component of the Layout Editor, which is a cross-platform component of the Oasis suite). Work ported so far, allows for a little more progress in this test extraction, is now puts Mfme in Edit mode, and copies off lamps to the background: Next, is to get the Window Handle of the Properties window, and then from there, it's working on the new window capture system itself, as I need to get: - window position/size from the handles - getting window content as a bitmap - redo the old scraping of the component name (used a fuzzy OCR in old system, this needs converting to my Delphi font scraper, as everything else uses)
  10. Those 8k rotatable monitors are expensive now, but give it another 5 years... https://www.amazon.co.uk/dp/B0727ZQ21F Then we can really get into the next gen of 'retina resolution' layouts!
  11. Nice work Tommy, thanks - classic machines these ones For future ref, there's a potentially better quality image source on the Community Drive (http://tinyurl.com/yckze665) for this one - might be useful for a future ultra high res 8k version or summats with some fettling, like this I did from a quick edit: Right I'm off to have a quick play on your layout for some nostalgia!
  12. On a real Speccy it runs at a locked 25 FPS. It usually looks a bit stuttery on PC monitors that a frame locked at 60 FPS (but correct on a PAL TV running at 50 FPS, since 50 / 2 = 25 ) Bit of both man Writing code on a modern computer/monitor is better than the olden days. Those who could afford a second computer and an interface to inject the compiled code into Speccy memory did that, for some poor souls, they had to write on the same machine they were using to test, which must have been hellish! I'm currently using VS Code, and an emulator called ZEsarUX - which means I can actually debug the running code with breakpoints etc, which is crazy useful: And yeah, there's so much code and guides online, it's relatively straightforward to do the cool stuff like beam-racing multicolor without having to start from scratch. That said, all this leads to trying to do historically impossible things like this shmup Definitely think I'll end up having to compromise on the sound, though I think I might have figured out a way to make the collision detection feasible. Most of the CPU cycles are being burnt just to do the rendering, but I want to make it like a 'bullet hell' shmup with up to 16 enemy bullets onscreen, plus up to 8 enemies onscreen, then 2-6 player bullets. Thinking with some limitations on the background tilemap palette I can pull it off, by doing direct to screen color comparisons, which kinda gives us a free-ish version of hardware collision detection. The trick is to disguise the compromises/constraints into the style of the game, I think it might be doable
  13. Good eye, this is indeed using Denis's Engine he originally developed for Ringo, which he open-sourced here: https://github.com/DenisGrachev/Ringo-8 I've added the 'scroller', as the original engine is limited to a small level map, so this can do the much wider map required for a shmup. Also been experimenting with additional pseudo-sprites that will be drawn in spare cycles for the player's bullets/laser. Struggling a bit with spare cycles though, as I'm aiming to do a lot more than RIngo did, but still limited to the same damn Z80 CPU haha If I can figure out it, should be pretty crazy for a Speccy shmup, I may have to compromise on the audio though. It is showing an illusion of parallax scrolling, it's fairly limited parallax (same repeating tile on faraway 'layer'), but I have an idea to work around to some extent that with tilestrips. Haha yep, no color clash with this rendering technique. It involves both beam-racing and using a form of double-buffer. So there are two screens, that do obey the Speccy limitations of only two colors in every 8x8 attribute square. But then we toggle betweeen which one is being displayed in sync with the raster beam, every 8 pixels horizontally starting from x=4, and also every 4 pixels vertically starting from y=4, and so that gives us an effective resolution of 4x4 pseudo-pixels, that can display any of the 8 color values with no color clash. What you see: An example of one of the real buffer screens, that is rendering the above display:
  14. Had a little tinker with my shelved Speccy shmup prototype - looking at impact of adding AY music. General conclusion being that I'll barely have any cycles left over to do collision detection! So I suspect next will be looking if I can get more efficiency by running very basic 1 channel music, and then sound effects on the other two channels... The music here is a little basic remix I did of a couple of tracks by Chris Huelsbeck, from the game Apidya on the Amiga. The plan is to do: - an alternative method for drawing the player ship 'laser' - get some config of AY sound working that is performant enough to allow for full collision detection - write that performant collision detection So then I could have a single playable complete level+boss as a vertical slice proof-of-concept. Here's an older video showing sprites moving and some test collision detection code (no audio implemented in this one):
  15. Yeah I thought the c64 port was heart-breaking. I mean that 7 years would've just been chipping away here and there, but I'm sure it still was a ton of work! And then Nintendo turn up 4 days after he released it and started spaffing DMCAs all over the place... I couldn't see any other videogame company pulling that shit about a port for an ancient computer, Nintendo are just crazy.
  16. Never forget: A developer was working on a C64 port of Super Mario Bros for seven years, and Nintendo took it down in four days. https://www.technadu.com/nintendo-take-down-commodore-64-port-super-mario-bros/65550/ They really are a pain with this stuff!
  17. Got a chance to do a start on the rewrite of what (should be) the reliable Window capture system. Here you can see it has acquired the 'Window Handle' of the launched layout. That Window Handle is the connection to be able to capture the window contents which is the backbone of how the extractor(and injector) works:
  18. The princely sum of $2.4 million is the settlement (£1.89 million squid) - let's not forget they even took down a one man seven year passion project of building Super Mario Bros on the Commodore 64: https://www.denofgeek.com/games/nintendo-super-mario-bros-commodore-64-port/ Honestly they are absolute cockmuffins when it comes to emulation. So sadly we can't have Nintendo video games in Oasis (which will end up with a lot more internet exposure than the original fruit machine focused Arcade Sim), it's not just worth it to get their crappy lawsuits They're simultaneously one of the best and worst video companies to ever exist.
  19. Esp with Citra and Yuzu being zapped by the relentless Nintendo...they just really struggle to understand the emu scene! So tiresome lol I avoided any Nintendo machines in Arcade Sim, and am already considering a Nintendo block on the online library of 'official' Oasis machines that can be used, just so they don't turn up and trash the party because we have an official Donkey Kong machine in the Arcade Machine LIbrary. They've had sooo long to calm down and get with the scene, and it's still relentless BS
  20. Another tech update We now have a custom dll working, this is so that the MFME Tools copy of MFME.exe will not interact with the actual MFME registry (it doesn't do the 'turbo startup' stuff as we aren't using MFME for any actual emulation, just for the layouts). Also the early stage of the extraction process now working, to launch MFME using the custom Oasis Windows registry: Here you can see various stages logging out their info to the Windows GUI version of MFME Tools (this window will be hidden when extracting layouts via Oasis Layout Editor): Quick vid of the above: I also have pulled over the system for sending 'fake' mouse/keyboard input (used to control MFME for extracting/injecting layouts). The next big task now is to tackle rewriting a new improve system for capturing the content of the MFME main and child windows - the previous system was very Unity-specific, and this MFME Tools module is non-Unity by design... so that will probably take quite a while to develop, though we'll see... maybe it won't be too bad
  21. Add handy console to the standalone GUI for MFME Tools. This log is also available to Layout Editor (when MFME Tools is invoked from there for layout extraction) which will also have its own output console as a dockable tab.
  22. Minor tech update for those interested Have ported over the system from Arcade Sim alpha, that hunts out the MFME.exe from the user's machine, for those users wishing to extract layouts (this will be done via a 'native' dialog within the Layout Editor itself, the standard Windows UI is provided for future use/testing): You will see the MFME.exe appear in the folder local to the MFME Tools module on launch, also the text box populates. Next steps are: - porting a paired down project to encapsulate the necessary .dll 'detouring' to control a custom copy of the Windows Registry (as used for Arcade Sim alpha) - copying the .gm to the MFME Tools copy and cleaning out the ROM refs etc, we don't want the layout trying to boot/doing popups related to missing ROMs - launching MFME with the detour hacks in place with a controlled 2x popup max After this there is much more, to build the robust version of how I was extracting layouts, to be covered in future tech updates
  23. Not much at this very early stage unfortunately. Once we get to the stage where 'classic' layouts (that are mainly text based with just a few graphics and graphical reel bands), can be extracted and imported, edited, and then exported as MAME 'internal' pure text layouts - there will be a ton of labelling work, so that we can get the internal layouts for fruit machines (that get built into MAME.exe) to a complete state. This in turn will provide a lot more incentive for coders to work on MAME to iron out the many bugs, config issues, missing devices etc, that will result in MAME getting the various fruit machine techs to full compatibility (it's currently quite behind MFME). Meanwhile, I will be working on the graphical/3d side so then the community can get the 1000s of 2d layouts converted/expanded into 3d machines. So, in the future, there will be plenty more stuff the community can do, without programming skills - just not there yet
  24. Exactly mate! My whitewood virtual pinball setup was 2x TVs (42" and 32") and a monitor on an extending dining table - I had some kind of very sturdy post office cardboard box underneath it (the playfield 42" TV) with some leaf switches and a plunger, all screwed into the thick box - once you were playing and in the zone, you didn't even notice the cardboard framing - it is always the way to prototype first
×
×
  • Create New...