Jump to content

Ghostbusters


ViriiGuy

Recommended Posts

  • Content Provider

Yea sorry !

I started a WWE Wrestlemania build but realizing what it would take to go into the scoring and DMD stuff I kind of stopped. It's possible, there's a ton of guys doing this stuff in FP still that clearly can script a decent game, it's just not something I'm aware of really happening in VP right now. I'm elbow deep in an original table and it's been a 3 person job just to get to where it's playable. It's really hard, you can say "if target_hit then addscore 1000" but there's so much more to the scoring than that. Is this mode enabled? Are these lights? Was this light blinking? Did they hit the other switch first? Then eventually a simple scoring mechanism for a single switch becomes 100 lines of code referencing 1000 other lines of code. It's impressive how much work goes into scripting an original table. AMH which was just adapted scoring from the original code was 10000 lines. Most rom-controlled tables barely break 1000 lines. Most of that is making the table look right, the actual code required to make a table just play from a rom is only like 400 lines of code! Look at some of destruk's tables, the bare essentials needed to make a game play from a rom. Crazy stuff really. I guess what I'm saying is, VP authors are spoiled, you're more likely to see SPIKE emulated than a (properly) scripted version of any of the SPIKE tables. I've thought about this though, the number of people who just turn on a game and flip the flippers is huge, you could likely get away with a 2000 line scripted table for most of these and many people wouldn't notice. If you throw up the DMD animations (i've pulled all the DMD stuff from Wrestlemania so it's not hard) and put them in UltraDMD and just sort of wing it, I bet you wouldn't notice. You could just say...this switch scores this, this switch scores this, etc with no real mode advancement. That's not the best thing to do but it would get us through. I would love to do a community table where somebody releases a table like that and lets someone else script 500 lines and then pass it on to the next guy. If all the table is built and the DMD animations are ready I would bet you could get some proper help from some of the other authors. At the very least, put it out there and see what the community recommends you do next for scoring, so it's an ongoing alpha build with community input, it takes the stress off an author having to come up with all the scoring and it gets people involved, I think the more users who know what goes into making a table the better off we are. And that's not saying building a VP table is hard, god no, I can do it it's not hard lol. But if more people see what goes into building a table, more people might get interested in trying it out. 

Sorry for the rant.....

Link to comment
Share on other sites

  • Content Provider

P-ROC (libpinproc/pypinproc) might have the functions that can take care of some of the heavy lifting for this sort of project. And pysdl2 for the display maybe, Of course, very few people in the community know much about it. It's C or python instead of vbs, etc. But it may wind up being easier than trying to do it all in VP

Link to comment
Share on other sites

The closest you may get for awhile is JP is working on his own version of Ghostbusters. The layout will be similar but won't be the same because 

1. JP likes doing originals based on real tables

2. Probably doesn't want to step on any toes.

It will be fun but obviously not the Stern Ghostbusters table.

Link to comment
Share on other sites

Pinballs now are more like computers - in fact things like the Heighway games are PC run.  So any new system takes time to emulate, and with more complicated games, comes harder systems to emulate.

I think the only way  you will get Ghostbusters by Stern on your cab will be if Pinball Arcade released it, and that system gets better cab support (it is possible to get it playing on your cab now but its not great). 

 

Link to comment
Share on other sites

I actually think SPIKE will be easier to emulate.    I think it's using the same serial LED strings that the late SAM systems use, and that protocol is not complicated.     The hardware is roughly the same as SAM, with a faster CPU and less stuff attached to it.     As you move to more modern systems, you get away from proprietary, funky hacks like weird Mini-DMD signaling used in TSPP.    Really, it's just a little linux box not terribly unlike your router. 

The issue is more political than technical.   Look at all the drama we still have around SAM emulation (which by the way is now 10 years old), nobody will want to touch SPIKE for a while.  

I could be wrong but a cursory examination of a SPIKE game code download suggests that Stern isn't making any big efforts to obfuscate, encrypt, or generally make such an endeavor difficult for us either. 

 

Link to comment
Share on other sites

  • Content Provider

Rob, since Skyeye has a very similar emulation to SAM AT91 emulation in PinMame, do you think it could be used to run a spike linux ROM image ?

https://sourceforge.net/projects/skyeye/

This is a good starting point with some information

https://pinside.com/pinball/forum/topic/now-cracked-sterns-spike-package-tool/

http://www.pinballinfo.com/community/threads/poking-around-the-wwe-update.18452/

Link to comment
Share on other sites

Possibly. I haven't looked at the ATMEL data sheet to see how different the AT91SAM9G45 is from the AT91R40008.     

If someone wanted to tackle this, I think step #1 would be for someone to acquire and dump the SD card image from the game.   I assume this will be the full Linux image.   The SPK file is probably more literally a game code update.     Stern's SPIKE video says the game code can be updated by replacing the SD card with one that already contains the updated image, so I assume this is the "hard drive".    

Another approach would be to extract the SPK data, and then do "HLE" style emulation of the environment and try to run the binary by itself (similar to how WINE works for Win32 binaries).   Since we know this is a Linux binary the methods that are used to access system libraries and whatnot are pretty well known.   Then you get better performance and less need to implement the gory details of low level hardware that doesn't matter anyway.     E.g.: Instead of emulating the USART chip, you are just processing the call that writes data to "/dev/ttys0".     The latter is much more performant and easier.  ::) 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...