(Topic ID: 111572)

R&D: WPC "Free Play" Toggle Switch

By misentropy

9 years ago


Topic Heartbeat

Topic Stats

  • 20 posts
  • 9 Pinsiders participating
  • Latest reply 9 years ago by eh97ac
  • No one calls this topic a favorite

You

Linked Games

#1 9 years ago

To preface, the establishment I work at has a recurring "Free Play" event.

As we have a number of games to sort through in the arcade, I began to think about possible solutions for reducing the amount of labor involved. While you can easily go through game settings and change the machine to "Free Play" mode, there's still a lot of churn involved.

The ultimate goal is to be able to set any/every game, regardless of manufacturer or type of machine, to a "Free Play" or coin-op mode remotely. Insert relevant buzzwords here. (IoT Pinball! Woo!)

I'm working out the low level hardware before implementing the controllers and developing the software stack.

What's involved in the WPC implementation is rather like what I've done with older Bally -35's: I use an EPROM twice (or more) the capacity of the original, program a it with a combined image of a normal ROM and a free play only ROM, run the most significant bit to the middle pole of a switch, and put the other switch poles on GND and VCC. This will be replaced with the appropriate control circuitry at a later point.

The difference between the Bally and the WPC implementation, though, is all in the software stack.

The first thing a WPC MPU does on cold boot is check the EPROM's checksum, then the ROM revision against what's previously stored in memory. Checksums can change out just fine on this platform. It's quite easy to calculate a new one after modifying the ROM image to set the boolean "Free Play" / "Home Use" bit to true. The check that matters the most is the revision label, which will most likely need to be forged.

You see, if the revision differs from what's stored in memory from the previous boot, a factory reset will occur. This isn't what we want.

I was able to generate a "Free Play Only" ROM for Fish Tales rev. L-5. Upon boot I found it running L-38, which was derived from the checksum. Ended up forging the revision label.

As a test rig, I took an Atmel 27C080, burnt it, then bent out the MSB (A19, Pin 1) and attached a toggle to it between VCC and GND.

The '080 was programmed with a concatenation of both ROM versions. After physical modification of the EPROM, it was then verified with both images using the '040 HI/LO bank toggle in the programmer.

After the forgery, Fish Tales stopped factory resetting. Both versions claimed L-5 with differing checksums.

What I ended up discovering is that you can change the "Free Play Only" bool on the fly. You might have to wait for the current frame to finish, but the next one that displays credit status should reflect what setting you have.

The resulting behavior is exactly what I anticipated and is a great stepping stone to full automation. While I can solve a lot more of this with modifying the game's code, this is a simple and realistic solution that's quite efficient in its implementation.

Now on to writing a ROM patching toolset for this...

Post edited by misentropy: clarification: poles.

#2 9 years ago

Wow... Brilliant!

#3 9 years ago

My understanding of WPC checksums is that if the second byte of the checksum has changed since the last time the machine has booted, it will do a factory reset. Williams forged a number of revision labels within its game ROMs and you'd have to insure that both the checksum byte and revision labels matched which might be tricky given the revision label forgery.

Interesting project nonetheless. I look forward to seeing your progress!

viperrwk

1 week later
#4 9 years ago

Video update:

I've coupled an ESP-01 Serial-to-Wifi module with the EPROM. Pretty happy with the results.

#5 9 years ago

Cool stuff

#6 9 years ago

Wow cool but if your place was to use a card swiping system then you should be able to pull off the same thing and more with no modding of the boards needed and it will work with any game that uses coin in.

Does this work with all WPC games?

#7 9 years ago
Quoted from Joe_Blasi:

Wow cool but if your place was to use a card swiping system then you should be able to pull off the same thing and more with no modding of the boards needed and it will work with any game that uses coin in.
Does this work with all WPC games?

First off is the pricepoint. Card swiping systems are a huge investment. There's a bit of lock-in with having to purchase more cards over time. Lots of infrastructure. It makes a lot of sense to go this route if you don't mind eating a giant cost outright when you have more than a handful of games.

These wireless modules are cheaper than dirt. Average price is $2.50 per module.

This module could easily integrate with the coin switch line and provide a similar function using digital wallet systems, such as bitcoin. Already in the works

The MPU isn't modified at all. What you see is plugged directly into U6 with minimal modification performed to an 8Mbit EPROM (Tapping +5V, GND, and A19).

The methods I described as far as swapping different versions of ROMs should be somewhat universal with the WPC boards. This could be expanded to allowing one to choose a different ROM revision, or the free play only option, et cetera. Obviously this will also work in the arcade environment as well.

#8 9 years ago

what about bigger roms? also games that don't have the free play only in the roms.

#10 9 years ago
Quoted from Joe_Blasi:

what about bigger roms? also games that don't have the free play only in the roms.

WPC games use 1Mbit through 8Mbit ROMs. Adapting a 16Mbit ROM isn't that big of a deal.

I'm quite comfortable patching WPC games to home use / coin-op; see the original post && https://pinside.com/pinball/forum/topic/jd-announcing-l1ah-a-coin-op-version-of-the-deadworld-mod.

$20 + S&H for a $0.49 micro and $0.35 in block terminals?

#11 9 years ago
Quoted from misentropy:

WPC games use 1Mbit through 8Mbit ROMs. Adapting a 16Mbit ROM isn't that big of a deal.
I'm quite comfortable patching WPC games to home use / coin-op; see the original post && https://pinside.com/pinball/forum/topic/jd-announcing-l1ah-a-coin-op-version-of-the-deadworld-mod.

$20 + S&H for a $0.49 micro and $0.35 in block terminals?

Can I buy one cheaper from you? You're talking about custom ROMs to solve the problem? I think you need to reexamine your cost basis.

ETA: Oh, wait. I just figured it out. You value your time at $0.00/hour. Toil away!

#12 9 years ago

There's a difference between toiling and having fun with a hobby; pushing boundaries of what's known, what can be done with existing hardware limitations, and how to expand upon an outdated platform with modern components.

No, it's not the best idea ever. But at least it worked!

#13 9 years ago

What about code that gives the ability of the op to tap in a password, so to speak, in attract mode by tapping a code in the flipper buttons ?

Like hitting left flipper button 5 times, then the right 6 times unlocks free play? Something settable by op in adjustments?

#14 9 years ago
Quoted from Blackbeard:

What about code that gives the ability of the op to tap in a password, so to speak, in attract mode by tapping a code in the flipper buttons ?
Like hitting left flipper button 5 times, then the right 6 times unlocks free play? Something settable by op in adjustments?

That would require recoding of the ROM which is way beyond what the OP is doing here (flipping a bit in the system code.)

It was suggested a while back that given the other easter eggs within a ROM, that Williams engineers might have put a free play easter egg within the game ROMs. If they had, imagine if that information became public and everyone knew that for a location machine they could get free games with a simple press of the flipper buttons.

Now imagine if the OP builds such a system to toggle free play (in actuality using the flipper buttons to add a service credit would be the way to do it) and forges the version number of the ROM to look like the standard version for the game. After a while the game is sold a few times, and eventually is put on location by someone who doesn't know this functionality is within the ROM. When you go to play that game, you successfully add service credits to play for free because you read about it on Pinside and thought what the hell why not try it. You know the operator won't be happy and may never figure out why the machine doesn't earn. And you know the OP will be getting a C&D or worse from Rick.

Not saying none of this can't be done, not saying it won't be done, not saying having this functionality wouldn't be useful. In fact I hope it's a feature that's smartly engineered into the system code of WPC 2.0. What I am saying is that there's a reason why the license agreement states "The Software contains copyrighted material, trade secrets and other proprietary material. You may not decompile, reverse engineer, disassemble or otherwise reduce the Software to a human-perceivable form. You may not modify, network, rent, lease, loan, or create derivative works based upon the Software in whole or in part."

And I'm not looking for an argument here, simply stating facts and elaborating on a possible scenario.

viperrwk

#15 9 years ago

Vip: that's why my idea is adjustable in settings. OP can set his own combination of flipper button hits. This would eliminate the public figuring out the code. AND if op did slip up and tell someone, it could be adjusted.

#16 9 years ago

The funniest solution for free play I remember reading a guy had was he wired the tilt mechanism to the coin intake.

#17 9 years ago
Quoted from Blackbeard:

What about code that gives the ability of the op to tap in a password, so to speak, in attract mode by tapping a code in the flipper buttons ?
Like hitting left flipper button 5 times, then the right 6 times unlocks free play? Something settable by op in adjustments?

what about a remote credit add wiring / wireless button?

#18 9 years ago
Quoted from Joe_Blasi:

what about a remote credit add wiring / wireless button?

Yeah but then you have added an extra button to the machine I wouldn't think it would look good aesthetically.

Unless it's rigged up under the cab perhaps.

#19 9 years ago
Quoted from Blackbeard:

Yeah but then you have added an extra button to the machine I wouldn't think it would look good aesthetically.
Unless it's rigged up under the cab perhaps.

or wireless.

#20 9 years ago

Next up, phone/tablet app that let's you control all settings for all games in your home with hardware X

@misentropy, awesome work....just awesome

Promoted items from Pinside Marketplace and Pinside Shops!
$ 9.99
Eproms
Matt's Basement Arcade
 
$ 30.00
Playfield - Other
YouBentMyWookie
 
From: $ 209.00
$ 5.00
Cabinet - Other
Creekside Hideaway, LLC
 
$ 329.99
Lighting - Other
Lighted Pinball Mods
 
$ 1,059.00
Flipper Parts
Mircoplayfields
 
$ 84.99
Displays
FlyLand Designs
 
$ 79.99
Cabinet - Armor And Blades
PinGraffix Pinside Shop
 
Wanted
Machine - Wanted
Watertown, MA
$ 49.00
Playfield - Toys/Add-ons
Pixels Arcade Games
 
$ 9.95
Eproms
Pinballrom
 
$ 9.95
Eproms
Pinballrom
 
$ 59.99
Playfield - Toys/Add-ons
Lighted Pinball Mods
 
$ 399.00
Cabinet - Decals
Mircoplayfields
 
$ 60.00
Cabinet - Decals
Pinball Haus
 
$ 119.99
Displays
FlyLand Designs
 
$ 9.99
Eproms
Matt's Basement Arcade
 
$ 49.99
Playfield - Toys/Add-ons
Lighted Pinball Mods
 
$ 24.95
Lighting - Led
Mitchell Lighting
 
5,999
Machine - For Sale
Tacoma, WA
6,400 (OBO)
Machine - For Sale
Pleasant Hill, CA
$ 109.00
Cabinet Parts
Starcade Amusement
 
12,500 (OBO)
$ 225.00
Cabinet - (Alt) Translites
FlyLand Designs
 
$ 220.00
Playfields
Pinball Haus
 
$ 5.00
Cabinet - Other
Creekside Hideaway, LLC
 
$ 8.50
Hardware
NO GOUGE PINBALL™
 
$ 49.99
Playfield - Toys/Add-ons
Lighted Pinball Mods
 

Reply

Wanna join the discussion? Please sign in to reply to this topic.

Hey there! Welcome to Pinside!

Donate to Pinside

Great to see you're enjoying Pinside! Did you know Pinside is able to run without any 3rd-party banners or ads, thanks to the support from our visitors? Please consider a donation to Pinside and get anext to your username to show for it! Or better yet, subscribe to Pinside+!


This page was printed from https://pinside.com/pinball/forum/topic/rd-wpc-free-play-toggle-switch and we tried optimising it for printing. Some page elements may have been deliberately hidden.

Scan the QR code on the left to jump to the URL this document was printed from.