Jump to content

No more chr chips... :)


Recommended Posts

I've been working on a different project, but got side-tracked onto this - a friend said I should post over here, since it's for real fruit machines :)

It's an early proof-of-concept of an auto-rom patcher, that means you wouldn't need a Chr chip any more, even for the 'scrambled' lamps, in at least some mpu4s (just done a Barcrest as a test). 

Here's a quick demo using MFME, you can see the characteriser is completely clear (zero'd out, just like when it is missing).  This has been tested on real hardware - by another guy who is working on a cool project to potentially make replacement Chr chips (it's what inspired me to make this).

So it adds the code that decodes the lamps direct;y into the rom itself, so the rom no longer talks to the chr chip, but instead does the decoding internally in 6809 code.

Edited by johnparker007
  • Like 10
Link to comment
Share on other sites

Posted (edited)
34 minutes ago, MikeB said:

You will be saving a lot of machines by perfecting this! Great project 👌👌

Well there's also another project going on over at DIF by user andrew96, where he's working on making replacement chr chips - so don't throw those old machines away! :) 

I am on another project, but I'd decided to knock up a quick initial version of this, that'll be super basic:
- initially just MPU4 Barcrests
- you'll need to find the 'MFME Layout', and look up the 8 numbers to manually type them into the patching program

I'll get it vaguely working and sling it on Github so other programmers can take it further - as I'd imagine this could be expanded to cover MPU3, Bwb etc, though I'll be needing to get back to working on Arcade Simulator in my spare time (which is never enough!).

WIP interface, having a bash at this today:
image.thumb.png.a29309445b3ecb5df74b5d468f6aafe5.png
 

Edited by johnparker007
  • Like 7
Link to comment
Share on other sites

Thanks for posting details of your great work.  Duff Chr chips have caused many users lots of heartache, they'll be delighted that there's now a way round the problem.  Excellent work, thank you and good luck.

  • Like 1
Link to comment
Share on other sites

Here's a quick vid of Andy Capp running (with no characteriser, but all lamps etc working correctly), in an 'almost' auto-patch.  You have to currently provide the 8x values from MFME to the patcher for the lamp mapping, and I think there probably will be another option or two required:

I may choose a less juvenile name for the program ;) 

I won't be going crazy on this project, as I do have to get back to working on Arcade Simulator project as my main focus for my free hobby time when I get to do FME dev.  So I'll probably chuck it all on github at some point, so others can continue to develop it for more compatibility with other Roms etc.

  • Like 3
Link to comment
Share on other sites

49 minutes ago, stonyat421 said:

i wondered how long it would take you and Andrew to work it out 😏

problem is there are not many people who no how to find the 8 last characters  in a mpu4 layout 😁

unless your into emulsion 

(my emphasis with the bold) ^^

It's a good point, I do have maybe ~150 of this data linked to MAME rom names - I could traverse the sets for all linked ROMs, build up the start of a CRC database.  Then when someone put's in a ROM that is recognised it could populate those lamp values.  Along with potentially a drop-down, with names of the base machines known, so if you're lucky, it'll already be in the dropdown list.

As mentioned on my post above though, I am previously committed to Arcade Sim project, so I'll not have the time to add in all the nice features that could be added, until later down the line as I work on this here and there.  But once I get it in a state to be open-sourced, I'll upload to github, so any programmers on here could join in the efforts of adding new features, ROM lookup data etc (so people don't need to check in MFME when patching a ROM).

  • Like 2
Link to comment
Share on other sites

You and Andrew have equally good knowledge and hearing great things behind the curtain, a great and blossoming relationship that shows integrity, love for both worlds and dedication to both realms too.

Keep up the good work gents cracking stuff and for a fruitful future with AS.

Much love.

  • Like 1
Link to comment
Share on other sites

12 hours ago, johnparker007 said:

Here's a quick vid of Andy Capp running (with no characteriser, but all lamps etc working correctly), in an 'almost' auto-patch.  You have to currently provide the 8x values from MFME to the patcher for the lamp mapping, and I think there probably will be another option or two required:

I may choose a less juvenile name for the program ;) 

I won't be going crazy on this project, as I do have to get back to working on Arcade Simulator project as my main focus for my free hobby time when I get to do FME dev.  So I'll probably chuck it all on github at some point, so others can continue to develop it for more compatibility with other Roms etc.

How about 'Chr-free Programmer for Roms' (C.P.R.), seems appropriate.

  • Haha 1
Link to comment
Share on other sites

51 minutes ago, shirts_w said:

How about 'Chr-free Programmer for Roms' (C.P.R.), seems appropriate.

I guess it can bring a machine back from the dead if you don't have a working Chr chip :)  I'll probably change it to that, 'crap' is a bit of a weird name... cheers for the suggestion! :) 

  • Like 2
Link to comment
Share on other sites

4 hours ago, johnparker007 said:

I guess it can bring a machine back from the dead if you don't have a working Chr chip :)  I'll probably change it to that, 'crap' is a bit of a weird name... cheers for the suggestion! :) 

Crapping is good in both senses but get your point.

What about CHRAP? Sounds like trap, trapped the solution. Probably clutching at straws with a pants idea.

  • Like 1
Link to comment
Share on other sites

1 hour ago, Zippy said:

Crapping is good in both senses but get your point.

What about CHRAP? Sounds like trap, trapped the solution. Probably clutching at straws with a pants idea.

lol I changed it to CPR already, and made a logo/icon of a chip with a heartbeat! :)  

image.thumb.png.18823b99d6c90982bdd6ef86bec6607b.png

Bonus video of another Barcrest MPU4 running without a Chr chip, with all lamps correct ;) 

 

  • Like 4
Link to comment
Share on other sites

Still a fair bit of work to do on all this, but here's a demo of doing a patch.  MFME won't be needed (for real machine users who don't use emulators), as that dropdown list will grow as I build something to scrape in the 8x 'magic' numbers per game (used for the lamp mapping).

So they select their MPU4 ROM file, select the name of the game from the list, then click 'Patch' button.

I use MFME here to show what's going on with the Rom it is using, and then to show the patched ROM working with a completely zero'd Chr chip (same as when machine has no chip installed) at the end :) 

 

  • Like 3
  • Thanks 4
Link to comment
Share on other sites

This is absolutely tremendous work 😀

And that very same patched Andy's Full House ROM can be burned as normal and will run in a real machine which has no CHR chip in the program card?

Between you and Andrew you've done some groundbreaking work here.  I am truly impressed!

  • Like 1
Link to comment
Share on other sites

40 minutes ago, stevedude2 said:

This is absolutely tremendous work 😀

And that very same patched Andy's Full House ROM can be burned as normal and will run in a real machine which has no CHR chip in the program card?

Between you and Andrew you've done some groundbreaking work here.  I am truly impressed!

That's right, if this ROM is burnt and installed in a real Andy's Full House it would no longer need the Chr chip installed :) 

If there were a Chr chip left in there, it wouldn't cause problems, as the patched ROM now never gets to interact with it.

  • Like 7
Link to comment
Share on other sites

Ok I'm starting to work out how to wind down this project while keeping chipping away at it.  I think it'll just be something like I work on this one day a week, and slowly build up a collection of patched ROMs that are publicly available.  I'm going to try using google drive for this:

https://drive.google.com/drive/folders/1SbF_3mxL50yvEKJ_19_gSLzC146YuwIP?usp=sharing

So this will contain a live collection of ROMs that I've patched.  As I've found there are various signatures etc... and I don't want to have Arcade Sim project on hold for much longer - I've managed to manually patch other ROMs I couldn't before, with different chr/checksum disabling techniques...

Ultimately the program will be mature enough to also release, however it'll be a while to get it to that state, and I simply don't have the luxury of time to work on it!

I've also set up a shared google sheet here:

https://docs.google.com/spreadsheets/d/1UgSIzNq6-Rpg7Iugt50RE0CikWIzOw792lRXCAjPWnY/edit?usp=sharing

So this will be updated, as people with real machines hopefully try these out and let me know whether it worked correctly (including lamp mapping).

Sorry it can't be faster, but Arcade Sim has to take priority - it's been something like 35 years without the ability to patch the Chr protection out of the ROMS including the lamps... what's another year or two for me to slowly roll out the project as I get time :) 

If you have a machine that you really need a ROM for, hit me up, and I'll add you to the 'requests' tab on the sheet above... and look to get those done earlier, though it's more about me implementing more patching strategies into CPR that will drive what machines are available.  I believe BwB machines will need more work, so I'm ignoring those for now!  And just focussing on the many Barcrests that need these new patches to run without the Chr.

I've stuck an initial one (Action Bank) in there, so ROM hackers can have a look to see how I did the lamp remapping.  It's a routine, that can be more size-optimised, I will have it down to less bytes in future - it was just a test I knocked up late one night! :) 

Edited by johnparker007
  • Like 4
Link to comment
Share on other sites

On 8/31/2021 at 1:29 PM, Player said:

That sounds amazing. Love to know how it works. I didn't think it was possible to get around it. 

Had a quick reread through this thread, saw your comment - if you check my post above - you can download Action Bank as an initial demo patch, and using a Hex compare program you'll be able to see how it does the lamps :) 

  • Like 1
Link to comment
Share on other sites

33 minutes ago, johnparker007 said:

Had a quick reread through this thread, saw your comment - if you check my post above - you can download Action Bank as an initial demo patch, and using a Hex compare program you'll be able to see how it does the lamps :) 

I always thought the CHAR performed logical operations. Does it just store values that the ROM needs to work correctly. I thought the CHAR was programmed like a FPGA and was a custom IC. 

Link to comment
Share on other sites

 Share

×
×
  • Create New...