Jump to content

SAM Emulation - A Story by Snotz


Recommended Posts

Posted (edited)

Good morning everyone,

 

Let me start by saying that my only motivation for releasing the truth is a question by my son,

"How come you wont tell anyone what really happened?  I think it would be cool if people knew what my dad did."

So, here I am, telling my story of how I released the SAM.C source code to the world.

 

Back in early 2010s, just like most people that come to these sites, I was interested in pinball emulation.  I was considering making a cabinet and looking for information.

I stumbled upon a very helpful group of individuals and began joining their chatroom on the website.  Over time, I slowly became a social part of this group as they continued to release tables and other resources to the community.  One day, one of the members mentioned something about the taboo SAM emulation and a DLL that was created.  I later found out that this same DLL was being modified to emulate some of the latest SAM ROMs, but because the source code was unavailable, the emulation was not complete (mostly lacking sound and other minor bugs).  I decided to see if this could be my contribution to the community and search out this DLL.  Thanks to one of the members having it on his FTP, I was able to snag the DLL and see what all the fuss was about.  "Wow, it really does have SAM emulation!"  I noticed a lot of the new SAM tables were listed and emulated.

 

This is where my adventure begins, I decided to dig even deeper!  I found it was taboo to even talk about SAM emulation at the time, let alone have a discussion as to where this DLL even came from, because the SAM system was so new.  I later learned that the DLL was part of an update that was being used to make money by certain people that were selling virtual pinball cabinets.  But wait, PinMAME is a derivative of MAME, who's license specifically states that any binary created from its source also needs to have the source code released... but why can't I find this sam.c file anywhere?!  Asking anyone for any information would lead to a ban on the forums, so I decided to do the next best thing:  recreate sam.c from the DLL.  I started to look into decompilers.  Being proficient in C++ and having some ASM knowledge, I found the best compiler to suit my needs.  As I was working this, I noticed something strange.  At the time, publicly released DLLs were roughly 1.4M in size.  This DLL was a whopping 5M in size.  This wass when I noticed, HOLY $#!), the debugging information was left in this DLL (it had ALL the symbols and variable names still in the binary; it even had most of the header information in it).  After a few months, I've done it!  I recreated the sam.c file.  THERE WAS SOUND IN ACDC!! 

 

Acting like I was looking for emulation information, I decided to talk one of the community leaders asking for information.  I played it off as though I was creating my own emulation for SAM.  At first he was giving me tidbits of information, but nothing major.  So, I then decided to tell him that I reverse engineered his DLL.  He was pissed!  Here's a direct quote from one of his emails, "I see that as taking a $5 bill from my wallet, then changing it into 5
$1 bills, and then offering to give me those 5 $1 bills back for a $10 bill."  That's when I decided to release a compiled version on a website, but which website?!  It was still forbidden to talk about SAM emulation, let alone release a DLL.  This was when this wonderful new website was about to be released, VPUniverse, my salvation for talking about and releasing SAM emulation!!  Throughout the next few months, I was maintaining the DLL for this website.  Added new ROMs as they were being released and trying to fix some existing bugs in the emulation.  I was able to emulate Wheel of Fortune's table matrix and was beginning to document and test other memory locations in the ROMs when my wife became pregnant.  I was about to be a dad!  I decided it was time to release the sam.c and let someone else take over.  My son was born in June and I was doing minor updates to the DLL as Stern released new ROMs, but I had no more time to work on the DLL.  Fearing the retaliation from the community leaders (and worrying about my family), I decided to create an alias... this alias and release the sam.c to the world while watching from the wings on how it would develop.  SAM emulation and the tables created have been amazing, and I'm proud of what I've done for the community!  This is my story...

 

My name is James Hyman (aka Snotz, aka xmassam) and when my son reads this, I did this for the Pinball community... I released the sam.c to the world on December 25, 2012!

Thank you, everyone!

Edited by xmassam
  • Like 17
Link to post
Share on other sites

I wasn't around when this happened. I was active pre 2012 and after. So, I came back and pinmame supported SAM. I play games from all eras, but, I really enjoy tables with deeper rule sets, so, that is something you've contributed hugely to. My current favorite is TWD among the modern, proper emulated games. My all time favorite though is still GOT. Took me months to learn the ruleset, and then the friggin rules where updated and I've forgotten most of them now. Unfortunately, Spike1 and I'm just crossing my fingers that one day someone like you comes along.

 

Thank you very very much for what you did back in 2012 and please don't be a stranger ❤️

  • Like 1
Link to post
Share on other sites

Hi James, welcome back! You will be very happy with what all has been done in VP since you left. If you have a VR headset, you need to checkout VPVR. You would probably be a good addition to that development team.

Link to post
Share on other sites
1 hour ago, Dazz said:

Thus I was banned from VPF for creating VPU and "allowing" this to happen in the first place... 

Would you mind sharing your perspective on this story, the fallout, and players involved at the time?  New guy, sorry if it's recorded elsewhere.  There is just a lot of history (hobby and interpersonal) that I've missed out on, and I hate not having context to the things happening around me.

Link to post
Share on other sites

WOW a blast from the past SNOTZ... long time man whats-up-animated-text-smiley-emoticon.gif

Everything has come a long way since VPU in 2012... Thanks for the goodtimes LOL

I remember all the hoopla over that source release is was indeed a Great day in VP.  Merry-Xmas !! ☺️

are you thinking of make your boy proud again .winking-guy-smiley-emoticon.gif

good to see ya back around again man huge-thumbs-up-smiley-emoticon.gif

Link to post
Share on other sites
3 hours ago, Dazz said:

Thus I was banned from VPF for creating VPU and "allowing" this to happen in the first place... 

Don't forget impersonating Mickey Fuckin Mouse....Pauls Idol ..🤣

and hanging around me and the Dirty Dozen winking-sticking-out-tongue-smiley-emoticon.gif

Link to post
Share on other sites
Just now, Wildman said:

Don't forget impersonating Mickey Fuckin Mouse....Pauls Idol ..🤣

yeah, he really took offentz to that, eh?

 

Link to post
Share on other sites
1 minute ago, Rawd said:

Cool Snotz.   I don't know why I never knew this.

Thats cause you were too busy working on McDonald's  ... Remember Rawd 😂👍 

  • Like 1
Link to post
Share on other sites

Not many people knew this.  I told my son the story and he wanted to know why I never really said anything publicly.  So now, I did... those were the days!

WM!!!  I was asking about you...  Glad to see you're still around!  Have a beer for me!

  • Like 3
Link to post
Share on other sites
Just now, Snotz said:

 

WM!!!  I was asking about you...  Glad to see you're still around!  Have a beer for me!

smiley-drinking-beer.gif still here from day 1 ! LOL

 

edit... HA HA  it just arrived  ... wink-thanks-for-the beer.png

  • Like 1
Link to post
Share on other sites

Current sam.c comes from the original PinMAMEdev version of the code. The driver was transitioned when SAM finally did become official once Stern had retired the hardware a few years back. But, the decompiled version is immortalized in the source. Still there as sam_original.c. Can stick a name on it now, I guess. Cool story! TIL

Link to post
Share on other sites

What a very neat part of Vpin history.. I logged into my email the other day to find when I first started playing with Vp and found an old link to the shiva forums and a now dead link to vpf. This was 2006. Came back to vp in late 2017 Sam had already taken off. Soo much vast improvement over the years. Thanks for that history 

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...