Title: PE+ Emulator via MAME Post by: knagl on September 17, 2008, 06:29:18 PM Originally posted by Stolistic on 10/3/2007
I saw this topic mentioned before but didn't see any mention of someone actually doing it. I own a PE+ Poker Machine Bar-Top model and decided to try and make it work under MAME. See mamedev.org for an explaination of what MAME is and how it works. I have been documenting my progress at the following address if you are interested in reading about it: http://stolistic.blogspot.com/ (http://stolistic.blogspot.com/) My goal is to get my current machine's rom dumps to work in an emulator running on a PC. It could end up being a cool tool to test your current game roms without actually inserting them into a motherboard. If my project ends up working, it should support all PE+ chipset. But I only have one at the moment to test with. Later I would probably expand to the superboard version to try some more roms. Anyways, I be happy to hear any feedback you may have about such a project. Thanks! Title: Re: PE+ Emulator via MAME Post by: knagl on September 17, 2008, 06:37:39 PM Reply by rickhunter
That's great. On all the IGT 8032 based machines in addition to the CMOS RAM there is also an eeprom that saves the machine's current state as well as accounting information, have you provisioned this on your code? Reply by Stolistic I didn't see any additional RAM chips on my motherboard. I have attached a picture of it to show you, but I think its an older one that doesn't support what you mention. Maybe you can verify my findings from the picture. I believe I have all the major chips accounted for. (http://i37.tinypic.com/3307g3p.jpg) Reply by rickhunter the eeprom is on the backplane. It should be an 8 Pin 4K eeprom. Reply by Stolistic Sorry for my ignorance but by backplane do you mean on the back of the motherboard? There are no chips on the backside, just the solder points. Reply by Brianzz the backplane is what the motherboard plugs into in the back or bottom of the machine Reply by Ozzy III Here is the dwg with location of eeprom U1 (see attached file) cheers Ozzy Title: Re: PE+ Emulator via MAME Post by: knagl on September 17, 2008, 06:43:38 PM Reply by Stolistic
Thanks for pointing in the right direction. I found the eeprom on my machine right where you said it is. I'll have to see how that affects my code. Does anyone know what kind of information is stored in the eeprom? Does it correspond to any counts you can view when you are in Test or Operator mode? Thanks in advance. Also would anyone be interested if I persue a graphics editor? I posted the idea in my blog very early on. http://stolistic.blogspot.com/2007/09/graphics.html (http://stolistic.blogspot.com/2007/09/graphics.html) I figured since there are a lot of older machines hitting the home market, people might enjoy customizing the card backs and other things... Anyways, thanks again for the help! Reply by Ozzy III The S+ machine continually stores statistical data (soft meters, not hard meters) accumulated from game play in the cmos ram on the CPU board, the S+ microprossesor transfers the data from the cmos to the eeprom on the mother pcb during the following occurences; activation of the jackpot reset key after a cold power up upon leaving the self test mode and or every 100 games played on the machine cheers Ozzy Reply by knagl (hey, that's me!) I find this stuff so cool. :3- I think it would be a blast to be able to do custom graphics on the card backs like on some of the old machines at the casinos -- heck, there could even be a market to sell that 'service' to people -- a custom card back design ("Tom's Casino" or whatever) burned on a chip for their PE+ home games. I looked at the graphics on that page -- I've seen all of them except that "All Win" graphic. Did that ever get used in a PE+ game? I wonder what it would have been for. Thanks for keeping us updated on this -- I find it very interesting. :3- :71- Reply by Stolstic Thanks Ozzy. From my interpretation, you are saying the EEPROM is possibly an exact copy of the battery backup ROM on the motherboard. But is updated only during certain cycles (probably to to save on the life of the EEPROM). I know they have limited read/writes, like 1 million or so. If the eeprom is an exact copy, I may be able to dump my chip to see what the battery backup rom should look like. This would help having to disassemble the Set/Clear chip code. I have a datasheet on the 24c04, looks like it uses a I2C bus for read/write....may have to play with it. Reply by rickhunter No, it's not a duplicate, it only stores certain accounting information as well as information regarding the chips installed on the mpu board, that's why if you swap MPU boards, you'll get a tilt as the eeprom has to be cleared and re-initialized with the new settings. Also when the machine looses power, the eeprom keeps the state of the machine when it lost power, so say you were in the middle of a dealt hand, when power is restored, it goes back to the same state. Apparently there's some quick dump that happens when the machine does not detect power and might use some stored cap power in order to save the state. Quote from: rickhunter Quote from: Rep Awesome work on the project so far! I was very into MAME in it's heyday and always wondered why no one tinkered with more poker and video slots (especially PE+'s as they're my fav :89- ). Great work and keep us posted! :71- That's because the "official" mame devs exclude all gaming platforms from their development by choice and as a policy. It's up others to take it into a different "branch" and allow for it. Why don't you think that Mame is not in it's heyday anymore? There's still a monthly release with intermediate releases in between. Quote from: Rep True Rick, I read they put some of the gambling stuff back in last I heard (not all though). Also to me a good bit of the old games are in and the focus turned to games I for lack of better terms couldn't give a crap about. They started adding more and more instead of getting the older games I was interested in working properly (many older games had and still have gameplay issues). I was just surprised no one really went this route before, there were and are many projects built off mame that people work on but I never read about poker machines really. VERY much looking forward to this project, sounding VERY good :71- Reply by Stolstic A couple of people from the MAME dev team have given the "green light" on my driver. They say that most gambling devices are acceptable now, but used to be unacceptable in the past. I'll be submitting my driver to them soon so it may become part of the core. Color prom question for you guys. Could someone please tell me the value of the first byte in the CAP740 prom? This value is generally the color black for most proms, so if you don't have that prom another would do, but I would prefer the 740. I had to dump this by hand and want to make sure I have the bit values correct. Your answer should hopefully be one of two values, either 0x00 or 0xFF. Thanks for your help. I've made a little bit of progress if anyone is interested: http://stolistic.blogspot.com (http://stolistic.blogspot.com) I was wondering if my pp0516 code normally supports the "Autohold" feature and it was shut-off on my chip, or if it normally ships with the feature disabled. When I bought my machine, the game code rom did not have a factory sticker on it and I suspect it could have been altered. Thanks Title: Re: PE+ Emulator via MAME Post by: knagl on September 17, 2008, 06:53:16 PM Reply by rickhunter
That's fantastic!!! It is unlikely that your game prom was altered as the program does hash checks on all chips before the game starts up (security feature). Some PE+ gamesets do not allow for auto-hold so it's been disabled. Sometimes it's jurisdiction dependent, other times it's disabled to help the house out. Stolistic Thanks rickhunter. I can see where the checksum could stop most people. I stress the word "most", because I'm gonna change my chip to have the autohold and adjust the checksum accordingly. I know the source code intimately now, so that won't be a problem. I also have a pp0188 chip with the same autohold "hidden". I've run it in my emulator with the same success as the pp0516! Jay ok now that is cool.... I am assuming then you can burn this back out to a real eprom and play it in the PE+ I would be interested in changing the card faces and some of the pay tables. Are you into it enough that you are able to do graphic subsitution ? Stolistic jay: I can definitely change the graphics and burn them back without the game prom caring about any checksum. The paytables are stored in the game prom and affect the checksum, but I would just need to recalc the checksum before burning. I can do both of these things right now without issue. So in summary, you can change anything about the graphics and game proms burn them and put them back in a real machine. The beauty of having an emulator is I can mess with the game chips and not blow-up my real machine in the process. After prom changes are found to work in the emulator, they will work a real machine. thedotster: When finished the driver should support all PE+ roms, but the base driver would need to have the new roms and checksums added to it. Not a difficult job, but there are like 50-100+ game roms that could be used, so the task just takes time to add them to the list of valid roms. Personally, I only have 2 different program roms and am looking to buy more so I can verify they work in the driver. As MAME is concerned, my driver is part of the core download now, and I will continue to pass updates to the developers so we have it in the public copy. So if you have a MAME machine, you will be able to play the PE+ games in it. There is no reason why I couldn't write my own game from scratch (including graphics) and make it work in a PE+ machine once the driver is complete. You don't even have to have it be poker or such. It could be the game of Tetris, and when you complete a row of cells it pays out a credit/coin! I'm still having issues getting my emulator driver to recognize a coin-in scenario. I read a little in this post: http://newlifegames.net/techforum/index.php/topic,445.0.html (http://newlifegames.net/techforum/index.php/topic,445.0.html) It appears that the optics go from A-Coin Started, AB-Coin in, ABC-???, BC-???,C-Security in one of the sketches. I'm not sure if that is accurate of what to read from that. I think the game code checks the state of the ABC optics individually from what I can trace, but not totally sure the proper sequence of events. Right now when in the test inputs screen the default is ABC (all 1s). When I simulate a coin-in with a keypress I have them go to ABC (all 0's), then back to ABC (all 1's). I'm thinking there is more to this than just that. Also if I hold the keypress from 1's to 0's for too long, the game does give a "Coin-Timeout" error on screen, which means it is seeing the states of the optics move from 1 to 0. My guess is the sequence is a little more than I have done, and was wondering if anyone has any insight or ideas on it. Thanks Ricker Hey hey, Isn't the ABC optics a timing issue? Coin on a string, and/or coin accounting issues. Richard knagl Yeah, as far as I know it is a timing issue. In a real machine the optics are located in a line, and essentially see the coin rolling past as it goes down the chute. A flip of the state of all three optics at the same time from "1" to "0" would not work. Additionally, as you (Stolistic) posted, holding them down would result in a Coin-In Timeout as it would think that you're using a slug or a coin-on-a-string to try and fool the machine. The good news here is that it is in fact seeing your virtual optics (as evidenced by the Coin-In Timeout), and I think it's just a matter of tinkering with the timing of the optics sequence to get it to work. It would seem to me that the sequence would have to be along the lines of "A" gets tripped, then "B", then "C", with the previous ones turning off as the 'coin' 'rolls past'. Perhaps is is as you posted in that the coin initially breaks the "A" beam, then covers both "A" and "B", then touches "C", as it rolls past and un-blocks "A" (leaving "B" and "C" blocked), then just "C", then none of them. Does that make sense? I have no idea on the exact timing of that sequence, although I susupect that some others here might. CommTech Your explanation sounds correct except that all three sensors would be blocked at one point then released one by one. Also the "B" Optic is offset so that the off time of the "B" Sensor would be a few microseconds shorter than the "A" and "C" sensors as the coin drops through due to the curvature of the coin passing by. So the sequence would be ... Detect A, Detect B, Detect C, release A, release B, release C. Stolistic Thanks for the input everyone. I tried various combination and still no coin in. I believe the pattern (A, AB, ABC, BC, C) seems to correct route. I'm thinking there is something else going on (especially with the door sensor). I know my real machine doesn't allow coins in when the door is open, and maybe the emulated code is doing the same thing. It is possible that the coin detection process is valid now, but because the door is open the coin is ignored. Any thoughts on my theory? Thanks CommTech I believe you are correct. If the door sensor is open, the machine will not register credits. Stolistic I used the Input Test screen to verify my code. When I slow the process way down, I see the Coin Detectors on the Input Screen pulse on/off in the sequence I mentioned before (A, AB, ABC, BC, C), at normal speed they just flicker briefly. My guess is still the door optics or something related. I was playing with the door logic and during one point was able to see the door open text disappear and the "reset/closure" text appears and the "Play 5 coins flash" etc. Then after a secord or so it goes back to Door Open, then repeat. Cactusjack Not sure how your code is simulating a door optic closure but..... I think in most IGT games, the door optics are actually Modulated. So, even though in test, the phototransistor will respond to constant light (like from a flash light), it might be necessary to transfer the enable signal from the EMITTER to the input of the receiver (like is done when you install a jumper from one to the other). This might be causing your temporary Door Closure and then when the machine figures out its not really closed, goes back to open again - just a theory????? However, I can play my multigame PE+ by using a flashlight and still have the door open. So, I don't know which of the S+ or PE+ software actually REQUIRE the modulated signal. CJ Stolistic CactusJack: I thought about your concept of using a flashlight to run the game with the door open. I tried this on my real machine while in the Input Test screen the door open status flashed on/off repeatedly while the flashlight was in the stream. So instead of a closed door being in a constant state of 0's, it is actually pulsing back and forth when it is closed. So I update my driver to simulate that, and the door was detected as closed! As soon as I interrupt the on/off state to a solid stream of 1's, the door open light and text appears. Unfortunately, once the door is open, I can't seem to get it to close (by pulsing again) without restarting the application. But at least I can now start with a closed door and open it. The bad news is that my coin-in simulation of the ABC optics doesn't work when the door is closed. Gonna need more research on that one. Thanks for all the tips so far everyone! At least I have a partial fix on the door. Cactusjack Well, the ABC optic closure IS timing specific. In addition to the order that they are blocked and unblocked, they can only be block so fast or so slow. I can't tell you the speed but it is obviously based on the gravity of the coin and the speed that the pathway allows it to fall. Couldn't be too critical since there are a number of factors that might speed or slow it down. But it does have some extreme limits to prevent "stringing" of a coin. It could take a person a bit of trial and error to get the timing down but before that, it will go in to Coin in error and lock the machine up so they don't have a chance to learn. Besides, the upstroke of doing the optics in reverse order will tilt it too. Sounds like you are getting close. CJ Quote from: StatFreak Stolistic, Here are the calculations I came up with. I measured the distance from the point on coin insert head where the bottom of the coin would rest before being dropped to the top of the optic board path. It was 5 inches. These figures are for a quarter which is very close to 1 inch in diameter. I didn't tear apart my optic box so I wasn't exactly sure how far apart each sensor was. I calculated the travel time for 5mm. It's easy to adjust that using this table if the distance between the sensors is different. I used microseconds but of course that is easily adjusted as well. Hope this is of some help. This is based on the formula: tf = √ֿֿֿ(2d/g)
Stolistic Looks like I'lll be messing with the timing. I'd almost like to get it to tilt from an invalid sequence like the coin on a string. I'll try my standard A AB ABC BC C loop with some values going backwards. At least then I know the system is paying attention to that. I found out that the error message on screen can be "coin-in timeout" but can be two different conditions internally. This is seen by the "Jams" and "Sequence Errors" counters separately. "Jams" I can create right now. "Sequence Errors" I have not been able to create. StatFreak: Thanks for the calcs, I'll need to do some conversion to clock cycles in the cpu, but that should get me close. I know the cpu clock is a multiple of 3.6864 based on the crystal. Title: Re: PE+ Emulator via MAME Post by: knagl on September 17, 2008, 07:08:34 PM Stolistic
I got the coin optics working! New update on my blog: http://stolistic.blogspot.com (http://stolistic.blogspot.com) Thanks your your help everyone! Jay Did you need to time the coin drop or was the sequence enough ? I noted your blog had ABC in the middle while our earlier threads were all just 2 optic sequences. Stolistic The timing was less of an issue versus the proper sequence. There was also some variable in memory that keeps track if you have a coin comparator attached, its the same variable that shows if you have a hopper attached (just a different bit position). So most of my problem was that this variable didn't know there was a CC attached. I normally didn't set this variable since I didn't want a hopper, so I never thought about going back to it for other devices attached. At this point, I'm mostly down to EEPROM support and some timing issues. I'm pretty sure the timing issues are in the 8051 core that someone else wrote, so its gonna be a bit harder to trace. The eeprom code has been started, but there is a lot of learning to understand the I2C interface correctly. As for my avitar ((http://i37.tinypic.com/307s0aw.gif)), I made it myself in Photoshop with graphics from the CG chips and custom animation. If anyone wants something similar, let me know. I'm just wrapping up the eeprom support and things are going nicely with it. I can now read and write data to the eeprom using the i2c (two-wire) interface. Here are some observations on how the machine reacts when both the eeprom and battery-backed ram are empty to start with: 1. First time the machine boots up, you get a "Call Attendant - CMOS DATA" error. Open the door and press Self-Test and the machine attempts to restore the cmos with eeprom data. 2. You now get "Call Attendant - EEPROM DATA". Open the door and press Self-Test and the machine loads the eeprom with default values stored in the game code. 3. Both the cmos and eeprom are now loaded with some default values and you must go through the operator setup screen to fill in the final values such as denomination. 4. Game resets and from there on, any power off/on will reload everything correctly. Does this seem to match up with a real machine? It totally makes sense to me why this process is required, since both ram and eeprom are empty to start with. It also means you don't need the Set038 chip if both ram and eeprom are empty to start with. I have some small pieces to wrap up and will post another blog entry after that. Any insights to my findings would be interesting to here. Jay I can't say my machine has been ever truly "empty" but after a clear chip is used a Set Chip (set 038) is needed to set DBV denomination. This is different than the denomination you set in the game. The setup you describe seems correct. Stolistic I was not aware there was a Clear chip and a Set chip. I thought the Set chip did both. I have a Set038, does that mean there is a Clear038? I would be interested in looking at the code for a Clear chip if that is the case. thedotster Excuse ignorance again, but now you've done this, can you look at the programming code and either: a) change the payout levels b) answer the questions about how the cards are dealt, i.e. five dealt then keep shuffling until deal is pressed again, or five dealt and then five dealt on top so if you don't hold the card underneath is shown? I hope that makes sense. Paul Brianzz I can answer the 2nd question. When you press deal 10 cards are selected. I've seen some techs do last game recalls that show all 10 cards knagl Quote from: thedotster Excuse ignorance again, but now you've done this, can you look at the programming code and either: a) change the payout levels b) answer the questions about how the cards are dealt, i.e. five dealt then keep shuffling until deal is pressed again, or five dealt and then five dealt on top so if you don't hold the card underneath is shown? I hope that makes sense. This should answer your first question: Quote from: Stolistic The paytables are stored in the game prom and affect the checksum, but I would just need to recalc the checksum before burning. I can do both of these things right now without issue. ...and Brianzz is correct. The PE+ platform selects ten cards at once and displays the first five. The next five are waiting to be used if requested. They are not "hidden" behind the first five, but rather are sitting in queue waiting to be used. For example, let's say, for simplicity, that the game has selected A, 2, 3, 4, 5, 6, 7, 8, 9, 10 as the ten cards (in that order). You'd be dealt a straight (A, 2, 3, 4, 5). If you chose to throw away any one card (no matter which card), it would be replaced with the 6. For example, you throw away the 2 and the 4. You'd end up with A, 6, 3, 7, 5. Incidentally, no matter whether the cards are hidden behind the first five (some older machines), or ten selected at once (PE+ method), or five and continue to shuffle (the Game King method), the odds of the game remains the same. Title: Re: PE+ Emulator via MAME Post by: knagl on September 17, 2008, 07:30:52 PM thedotster
Thanks knagl & Brianzz, I missed the answer to the first one in amongst all the other posts. This is a great thread. And many thanks for clearing up the second part. I appreciate that the odds remain the same, but I'ts nice to know that how it is dealt. For example, if they were queued behind as I suggested, it wouldn't matter if you had AKQJ hearts if the 10 Hearts was under the K already dealt. But the way you describe this won't happen and therefore is much fairer...perhaps Paul StatFreak Well, the way that knagl describes (...and Brianzz is correct...) is exactly what would happen with real cards if you were to shuffle them and play yourself. It doesn't matter that you hold all 52 cards in your hand because only the top 10 at most will ever be seen. So after shuffling you could put the bottom 42 of them down and deal the top 5, and then replace unwanted cards with the remaining 5 "off the top". It goes back to the law that states that whenever physical devices of chance are represented in video machines, they must behave exactly as they would if they were real. Hence the top 10 cards being used after a "Shuffle" is completed here in vp, or as dice would have to be "unloaded" in any video using dice. So it gets back to whether we trust the gaming commission to enforce the law when testing all of the programs it approves. .. Then there's that other story... http://www.biography.com/listings/episode_details.do?episodeid=216324&airingid=216671 (http://www.biography.com/listings/episode_details.do?episodeid=216324&airingid=216671) Remember, he went bad after failing to bring down a video poker company with a cheating program. Stolistic Here is the PE+ Blackjack program running in my emulator! Small issue with the door optics but I can go through all the test screens and jackpot meter screens no problem. Seems I haven't locked down all the door open problems yet. PP0516 still shows door open, but PP0188 doesn't. I think its something in the 8051 timing yet. Anyways, thought you all might be interested in this one. (http://www.stolistic.com/slots/bj.jpg) I got the door optics working better now. Seems my timing loop was too slow on the pulses. The Blackjack program now runs without any issues (and a couple of other poker games that were having door problems). I posted a new update on my blog: http://stolistic.blogspot.com (http://stolistic.blogspot.com) Thanks for the comments. Here is another cool thing. I have PE+ Keno working now too, with Light Pen support! You use the mouse to mark the spots instead. That crosshair looking thing in the upper-right corner is the mouse cursor. The romset I have right now seems to have a few bad graphic problems. Its not the driver causing the extra fuzz on the "Play 4 Coins" text. (http://www.stolistic.com/slots/keno.jpg) thedotster Well done, fantastic work. I have another question. Given that you could in theory write your own game for the PE+ platform. Is it possible that a 'front end' could be written, or maybe adapted from a superboard, that would allow you to burn multiple game types e.g. blackjack, poker and reels, onto a chip set with the 'front end' thereby allowing you pick the game you wanted to play? Cactusjack The first limitation is available memory. There is not enough room in either the Game Rom or the Data rom to house more than what IGT did. And as was mentioned, the DATA rom is actually an add on itself to the standard PE memory map. It makes little chunks of data appear here and there in between the normal hardware I/O addresses. So, even the entire 64K of Data rom is not available for use. As a result, they made an add on memory board which did pretty much what you are describing. The board goes on top of the existing sockets, and houses 5 different single game titles. The main Game ROM still goes in the main board but it is unique to the add on memory board. On the Memory board, there is a GAL (programmable logic) Chip which is used to page or select which of the 5 game chips the player wants to use. Unfortunately, not ALL of the Super board type DATA chips will function in this board. And a few, won't generate any text in the GAME title ARROW for the select menu. But, it does allow the owner to produce a "custom" mix of game other than what appears in the standard 5 game Multi-poker Mixes that IGT did release. On a side note, there WAS once seen, a Multigame which had a mix with slots in them. I have never been able to find the chip set, and have not seen the board to know if it used the add on memory board - but I am pretty sure it did. But, I also expect it needed a different Program Rom to run the mem board with a mix of games. The main limitation here, is that no matter what DATA roms you feed the main processor, the graphics MUST be available in the 4 CG graphics roms. And that is why only certain Poker games will work in the board. A long time back, I played with the idea of making an add on board which DID allow you to switch between multiple multi-game sets. This would not only require additional Rom space for Program and Data roms, but also BANKS of CG data as well. I never completed the design and instead scrounged up the needed hardware to put together a Game King which serves the same purpose in a much better way (addition of touch screen). As to what might be able to be done once the PE+ platform is fully functional in MAME, who knows, it might be possible to page through ALL of the available PE+ titles from a secondary menu. But, if running the standard PE+ software, it might be necessary to wait for the processor to do a power up self test each time the title is changed. Since this is what the processor naturally does when it is initiated. CJ Stolistic CactusJack beat me to the response, so I attached a wingboard picture for you. (http://www.stolistic.com/slots/wing.jpg) Speaking of superboards..... Check it out! Deuces Wild (Superboard version) now running in the emulator! I was able to incorporate the extra data chip into my driver and it now can support superboard (X...P, XP....) chip pairs. I don't expect to emulate the wingboard, but this opens up a lot more supportable roms. (http://www.stolistic.com/slots/dw.jpg) thedotster Thanks Cactus and Stolistic, I thought it would be too simple :25- This thread is really furthering my knowledge of how my machine works. Can you please confirm my understanding of the main game chips: 1 x Game chip that contains the 'Game' program 4 x Graphic chips (cards/animations/text) 1 x CAP prom which contains Colour (spelling for across the pond :89-) information. Am I right in saying that you can use any set of 5 game chips with any CAP prom, but the colours may be wrong? And finally two questions (for now anyway) what program language is used by the PE+ and what is the 'seed' for the RNG when you first power up or insert a new battery if it runs all the time? Paul Stolistic Your chip count is correct for the non-superboard version. The superboard version adds one additional chip called "game data". It is paired with the "game program" chip in an extra socket on the superboard. So think of it as having 2 game chips. Matching the Game and CG chips are important or you will not have the proper graphics in the game. The color prom is of less importance, but if you have the wrong one, only the colors will be wrong. If you mis-match the Game and CG chips, you could end up with pieces of a slot machine reel for you card backs in a poker game etc. Not all games store their graphic locations in the same spot on the roms (although there are a few common locations for text etc). The PE+ machines cpu is an Intel 80c32 or variations of that. Basically it is a 8052 chip and all code is stored as Assembly Language. The RNG seed is based on a timer that is continously running as soon as you boot the machine. A new number is generated practically every machine cycle, so when it needs to fetch one during the game program, it just grabs the latest one in memory. Triple Diamond Video Slots (Superboard Version). Slots added a twist in the video processing I hadn't encountered before. But its working now. (http://www.stolistic.com/slots/td.jpg) That was CAP2361 with the triple diamond. I believe it is the proper match. I can take more screenshots of different reel positions if you would like to analyze the colors. Quote from: Cactusjack Quote from: thedotster Thanks Cactus and Stolistic, I thought it would be too simple :25- This thread is really furthering my knowledge of how my machine works. Can you please confirm my understanding of the main game chips: 1 x Game chip that contains the 'Game' program 4 x Graphic chips (cards/animations/text) 1 x CAP prom which contains Colour (spelling for across the pond :89-) information. Am I right in saying that you can use any set of 5 game chips with any CAP prom, but the colours may be wrong? And finally two questions (for now anyway) what program language is used by the PE+ and what is the 'seed' for the RNG when you first power up or insert a new battery if it runs all the time? Paul To expand on what Stolistic said: As to CAPROMs, they do map the colors from the graphics roms to the video (assign a number to a color and then assign a color (mix of Red Green and Blue levels) to that Number). One possible color is either transparent or at least the same as the background color (usually blue) which can make some of the graphics "invisible" if the CG and CAPROMs are miss-matched. As to Game and Data Chips on a Super board: Think of the GAME PROM as the OS (operating system) for the PE+ board and the DATA Prom as the actual game title (Jacks or Better, Double Bonus Poker etc.). In many cases, there is a GAME PROM which will work with MANY different Data chips. The game roms were made based on the requirements of the local gaming commisions or the casinos particular needs. However, due to their special needs, there are some games (like Shockwave) which the Game Prom will only run with the DATA PRom. But, there would be different data roms for the different payout percentages (like like a Reel Chip on an S+ Slot). In the end, the Game or Data chips must match the Available Graphics roms (CGs) so that the Graphics "chucks" are available and appear in the right places in the roms (or you get peices-parts graphics like stolistic described.) There are a few distinct requirements when mixing and matching CGs and Games. Obviously, you have to start with the cards. But in the case of cards, there are a few variations I can think of off the top of my head. One is the Dueces being a wild card instead of just a standard 2 graphic. Next is the Joker. Then, there is special games like Aces Bonus poker where you have the leters A, C, E, S and $ as part of the card graphics. There was also the addition of the Card Animation like where the Kings turn into a Castle etc. The next major variation in Graphics are the paytable characters. This would be variations like Kings or Better, or the Bonus Poker 4 of a kind pays like 2's, 3's, and 4's pay blah blah... Everything else might look okay, but when you get the paytable graphics, there might be blocks or just the wrong characters making up some of the lines. Then, there are also CASINO specific graphics sets just for the Card Back Graphics. CJ Stolistic Does anyone have any graphical paytables for any of the slots? For example "777" Pays 80. Or "Blank Blank Blank" pays 1 etc. I know each game is going to be different, but anything you have would be of interest. I can wrap the screen layout with buttons and such like I did with poker, but also provide on screen paytables for the slot games. Kinda like a custom bezel that sits on the outside of the screen. It can contain any bitmap I can think of and have a cut-out in the center where the screen would go. Each game could have their own bezel, which really adds to the flavor of the game when you are playing it. Anyways, I may have to visit the local casino and see if I can find some backglasses with payouts that match some of the games I will be emulating. We have a lot of these video slots in Minnesota due to regulations. rickhunter you can lift the paytables from the on-line S+ game bible. For example, here's a link to the slot game you have going: http://www.newlifegames.net/igtbible/IGT%202CM/Game%20Library%20-%20S-Plus%20-%20Triple%20Triple%20Diamond%20(2%20Coin%20Multip.htm (http://www.newlifegames.net/igtbible/IGT%202CM/Game%20Library%20-%20S-Plus%20-%20Triple%20Triple%20Diamond%20(2%20Coin%20Multip.htm) Stolistic forgot about the bible.... Great stuff there. I think I'll use the in-game graphics and build my own "graphical" paytable from them, using the bible to understand the proper combos and payouts. It would be the cleanest option I think, but some backglass captures for the diamond logo etc, might be cool. Not sure yet, so a proto-type is in order to see what we like. Maybe you can all vote on the style you like. I'll probably get the Masque IGT slot program for reference too. Quote from: thedotster Quote from: arcadian Hi Stolistic Can you clarify / help me with a few points? I've been reading this topic with interest as I'm in the UK, and the cost of an IGT poker machine is out of my reach. I'm assuming that I can get an old PC with monitor, install some software, and presumably a bit of hardware, then just have it boot up an emulated machine. Is that realistic, or am I missing something important? Assuming that is basically correct, where would I get instructions, and the software? Is there a cost for the software? I assume from the post, this is not complete yet - have you any idea of a time frame? Feel free to point me to a post or site if my questions are obvious! Thank you. Hi Arcadain, I'm based in the UK too. I consider myself very lucky to have PE+ machine here. I've only ever seen two come up for sale on Ebay in this country. There are a few in the states and the prices are pretty good, even better for the Reel slots, but the shipping cost is prohibitive. Anyway, back to your question, you are right, just get a pc and download a copy of MAME from the internet, the home page is www.mame.net or do a google on MAME (Multuiple Aracade Machine Emulator). When you instal this, there is a folder in the directory created named ROMS. It is here that you put the roms or code from the various chips that the machine uses. Regarding costs, the MAME software is free to download, the roms are a whole other question. Legally, you have to own the original machine or at least the game chips that the roms are stored on, so you should buy these and then use an eprom programmer to read the chips and save the files on your PC. Again, the cost of these programmers seems quite high in the UK, but I've only been looking for a few weeks (since this topic started actually) so there maybe a bargain to be had yet. I've tried Maplins, they sell the chips but not the programmer :25- MAME has been running for ages and has lots of arcade machines already emulated on it, Stolistic is doing some fantastic new work to add the PE+ platform :3- If you do a search on ebay for JAMMA (Japanese Arcade Machine Manufactures Association I think) you will find a bunch of PCB boards for sale that the 1970-1990 arcade machines had in them and they store the roms in the same way as PE+. I hope that helps, and if I've said something stupid, anyone please feel free to jump in and correct me. Paul Stolistic arcadian: In preparation of setting up a machine, you can test a simple setup on any machine you have by installing MAME like mentioned previously. On their website they have a few arcade roms that are legal to distribute http://www.mamedev.org/roms/. Download one or more of these and put them in the ROMS folder. Then you can run MAME and test it out to make sure you have it all setup properly. There are some nice front-ends written for MAME that have really good menus and such for windows. The base install you get from the developer's site is just a command-line interface. For example, to run my driver you need a command prompt or *.bat file and you type "mame peplus". The windows versions you can get are nicer for navigation and setting up keyboard, mouse and joystick mappings that you would normally need to do via the mame.ini file. As for timeline and or completion, its hard to say right now. This is just a hobby so I continue as long as I have interest and don't get frustrated or hit a major brick wall. Some romsets are virtually 100% bug free, and others have small issues with hopper time-outs or similar hardware things. Almost every romset has timing issues right now where the game is either a bit too slow or too fast in some areas, but it is still playable. The more romsets I test with, the more things I find that help fix the entire driver. For example, the video slot roms I emulated added some new functionality the driver didn't have, and the lightpen support was added because of a keno romset. I send in new updates to the MAME website periodically, so the latest driver on the website is not always what I am using locally. Hope that gets you started in the right direction. Title: Re: PE+ Emulator via MAME Post by: knagl on September 17, 2008, 07:53:47 PM Reply by Stolistic on 11/8/2007
I updated my blog today. Most of it is stuff you already have heard from these boards, but feel free to take a look: http://stolistic.blogspot.com (http://stolistic.blogspot.com) Even though I already have 400 other things going on, I was playing with the idea of writing a PE+ game completely from scratch. So far, I write my source code in C and compile it to work in 8052 assembly. From that I convert the HEX file to a BIN file and dropped it into my emulator to take a look. Below is a screenshot of my progress: (http://www.stolistic.com/slots/hw.jpg) All it does right now is initialize the video processor, set the background color and clear the screen. Then paint the "Hello World!" text. I am going to turn this prototype into a "Three Card Poker" game that will run on the PE+ platform. I think it will be a cool way to put some new life in these older machines. Anyways, comments are always welcome! Jay I continue to be impressed with your prowness on this platform. Thank you for your continiued contributions to the site and the PE+ community at large. I would be able to provide you with a block logic for a craps game. I think the block logic would be good enough that you could translate it to code pretty quick. I would see the challenge being able to generate the unique graphics that dice would require. I was also thinking about your S+ Paytable program and thought about a similar program for the PE+. For instance the ability to read a PE+ chip, and then modify the game title, and paytable. Ie the winning hands, wild cards and payouts would be a useful tool. Basically this would give the user the ability to create some neat varitions on the game. Finally another cool tool would be a utility that would allow you to change the card colors / designs and put a three line name on the back of the cards. For Instance ... Jays Poker House. It would be ideal if I could take a JPG - and then have that go through a conversion and have it displayed on the PC in the reduced PE+ graphics format. If it looked alright then have the option to add a title and finally use the output as the back of a card. Stolistic I may have to do the craps stuff after this one. I love playing craps. The graphics aren't a big deal for the dice. Its more figuring out how to animate them. I do have a graphics editor started (ask knagl). But you will be restricted to the colors the palette allows on the color prom. New preliminary layout running in the emulator: (http://www.stolistic.com/slots/tcp01.jpg) I'm glad this is generating some excitement, but the cart is before the horse at this stage. Everything I learned about emulating the hardware has to be done in reverse now for the software to work. For example, the ABC coin optics had to be simulated for the emulator to work. Now the game software has to be written to interpret the incoming optic values and make sure they match the proper sequence etc. I don't really see any restrictions on the idea of doing different types of games as long as there is enough memory for the code and the graphics can support the layout. Remember that a lot of the newer games out there have a much higher resolution on the monitors, which allows for more screen real estate available in the game. Doing the 3 card poker game, I noticed the screen is pretty full with 6 cards on screen at a time, thats why the blackjack version that was made had to stack the cards as they were dealt. Since I will never have more than 6 cards on screen, I can space them out nicely. I will probably creating some builds for people to test in the near future which will be incomplete pieces of the game for testing hardware such as coin-in, hopper, output lamps etc, and of course game play. So if anyone wants to beta test, they can either do so in MAME, which I will help you setup, or you can burn a chip from the binary and test on the real platform. I will help with both platforms over time. Once my code libraries have stablized, it should make for a nice SDK for developing future games. Quote from: Cactusjack Quote from: thedotster Quote from: knagl Quote from: Brianzz I thought I had played them on PE+, maybe I was just dreaming I distinctly remember those two on the Game King platform. I've never seen Super 8 Race on the PE+ platform, but that doesn't mean it never happened. There are multi-line PE+ video slots. As previously mentioned, we don't have reel slots here in Minnesota -- just video ones. There are multi-line games like the 3-line Double Diamond (the same as the S+ game, just ported to video), 5-line Red White and Blue, etc. There's also an 8-line (9-"reel") game called "Super 8 Line" similar to "Super 8 Race" that is a PE+ game. Anyone got any pictures of these? Did they run on normal PE+ boards or just the superboards? Most of the ones I have seen ran on Standard PE+ boards. I am not sure if they will run on PE boards but it is possible if the game chip is only a 27C256 (instead of a 512). I also have a Wild Cherry and it will only run on a Superboard as it has both Game And Data chips. Mentioned elsewhere on this site, there was also a PE+ MULTI GAME chipset which was not just poker but was a mix of poker and video slots (and/or possibly Keno). While I saw screen shots of it from an Ebay Auction (saved by Midas from Years ago), we have not seen the board set or chip sets since. And no one has been able to provide any info as to what CG sets and X,P chips might be used. We are pretty sure it required the WING BOARD (add on Memory board) which uses one GAME chip and Pages through 5 different Data chips. CJ Stolistic Here's my latest picture of 3-card Poker for the PE+ (http://www.stolistic.com/slots/tcp02.jpg) Finally got my random number generator working...Trust me its not easy to get random numbers when there is no built in functionality for it in the cpu. The game now deals 6 unique cards behind the scenes and reveals them when needed. Similar to how poker deals 10 cards but only shows 5 at first. I also have a function to determine the hand ranking and show it overlayed on the hands. The little red arrow on the screen allows you to toggle between your ante and pair plus bets. This is needed because in 3 card poker you are allowed to bet either one, or both. The Hold1 button does the toggling right now. If this ever goes into a live machine the buttons will need new captions. I plan on creating some of the operator screens to set denomination, and test inputs etc soon. Quote How do you get around the Hopper Empty errors after each play. I can't find the Play cash/credit. Press the "TAB" key once you get into a game for a list of keys to press. I believe "R" is play credit. You haveto setup the machine to "Player Initiated" or "Credits" too or you will only have the coin slot to use. Which means the hopper will activate to pay. Quote Which version is the stable version that you are using. mame0121s.exe with the 0121u1_diff.zip update? Yes. That is the most current, but the "wrap-around" credits won't be fixed probably til 0121u2, which will alsobe a diff file. They tend to have 4 diffs before they release a consolidated version. But I believe the people at MAMEUI merge them in the EXE for you. Self-Test Input screen in working 100% including the dipswitches which are processed through the sound chip. Plugging along, one screen at a time. Below is a screenshot: (http://www.stolistic.com/slots/tcp03.jpg) Operator screen for testing outputs is done, including the "Sound Effects" option. It now makes a nice ping sound when you activate that output. I will have to work on music soon. But now when I deal cards, you hear a nice click-click sound as they are dealt (like in other games). Image Below: (http://www.stolistic.com/slots/tcp04.jpg) I about to design the payout tables for the 3-card poker game and thought I would run it by everyone to get their opinions. The game has 2 paytables. One for the pair plus payout and one for the second ante bet. Example of a Pair Plus paytable:
Do you think it would be better to: 1) pick a paytable number (1-7) and have the tables fixed, or 2) default the most common table and allow you to place any values you want for each row? I'm thinking option #2 with the ability to "reset" the values back to default if you want. Probably need some checks to disallow values greater than the row above the one you have selected, so the payouts are always highest to lowest. Jay You need a Royal Flush.... I presume the values you have outlined are for a 1 coin bet... and it would be a linear increase to a X5 for 5 coins played. I would prefer your fixed paytable method as the latter would be rather funky to setup for a non 3card player. Does this support a progressive ? Stolistic A "mini royal" is sometimes used paying 50 to 1 in some places. Would you tie the royal to the progressive if I added it? Or what would trigger the progressive? And, yes the paytables would increase linearly as coins-in go up. By the way, here is a good site on explaining the game: http://wizardofodds.com/threecardpoker (http://wizardofodds.com/threecardpoker) Once I get the basics working I would like to add progressive and even a double up option. Stuff to toss on the wish list of version 2.0 Jay I have a linked Mikohn progressive (CON1) that I tie 3 S+s and my PE+ together. Even BJ which does not have a progressive adds to the progressive because it triggers the coin in. On the other poker games that support a progressive I use a Mikohn Gateway to feed the data back in and then it displays the value on the screen vs the standard 4000 coin pay off for a Royal Flush. As I ponder the odds (where the heck is statfreak) I am thinking that a 3card Royal Flush win would not be that statistically hard. 10,J,Q J,Q,K Q,K,A ....Escentially with the 4 suits you have 12 Royal Flush winning combinations..... However if you put in a specific 3 card win such as the Q,K,A of Hearts as the progressive pay off then it should be about the same odds as a 5 card Royal Flush (of any suit) on standard Poker. OR you could state any natural Q,K,A Royal Flush with no draw..... Stolistic In order to win a car at the casino near me, you need a 5-card royal in the exact order A-K-Q-J-T on a draw poker machine. Something like this could be done to increase the difficulty instead of picking a specific suit. arcadian Looking for some more advice / help please. I've installed MAME (both DOS and Windows) and found some PE ROM images to play with, but all I can get is CALL ATTENDANT. No matter what I try, I can't get any of the PE games to actually play, though I can step through some of the options etc. - am I missing something obvious or is there more i need to do to get this working (other arcade style ROMS seem to work OK, and I've downloaded the latest versions of MAME as of today) Brianzz I'm to the same problem, no buttons, just a screen that says call attendant. I usually have more time to fool with it but I found this at the wrong time of year, eventually I could figure it out on my own thedotster I've got the same problem, although I can get the Keno and Blackjack to work. The error is concerning the missing CMOS and EEPROM data. Try opening the door by pressing 'O' and then pressing and holding down 'K' for the self test button until you hear a ping, this should clear the CMOS error. You may need to repeat the above for the EEPROM error. Then close the door and turn the jackpot reset key 'L' Hopefully Stolistic will be around at some point to clear up a few of these issues for us as I can't get the other programs to work either. Brianzz ok I screwed around a little this morning, somehow or another all the buttons and everything magically appeared. If you're sitting at the call attendant do as was posted previously, if it pops back up call attendant and the L doesn't clear it, open the door O, then L, then O and your game should pop up. That's as far as I've got, it's nap time. My prob now is, the game plays in very very slow motion, even the sounds play in slow motion thedotster OK, it may be that the roms,cmos and eeprom errors are stacking up in MAME (Stolistic could please clarify and thanks for this advise, K+ to you) To clear and start from scratch, go into the folder containing mame and then the NVRAM folder and delete the file in there for the game you are having trouble with. Then press: 'O' to open Door 'K' and keep down until it 'pings' to clear cmos error 'O' to shut door 'L' to turn reset key 'O' to open Door 'K' to clear eeprom error 'O' to close door Then when it looks ok, before doing anything else, open the door again and keep pressing 'K' until you get to CREDIT/NON CREDIT and change it to CREDIT using the 'L' button and then the hopper won't jam trying to payout, which is where I seem to have run into problems. I have the speed issue too. arcadian Brilliant! I think I was probably too impatient - everything runs very sloooowly, and if you don't hold the keys long enough it doesn't register. Now all I need is a faster PC!!!! rickhunter Yes, it's a bit slow on a 2.2 Ghz Athlon XP. I have not yet tried it on my Core 2 Duo E6600 machine. Stolistic I'm not sure I have the clock frequency correct yet for the machine. That could attribute to the slow down, but when I run it on my machine it appears to be close to the right speed. I have a AMD 4800+, and I don't run it in the MAMEUI version. I use the command line version. As for the "CALL ATTENDANT" issues. There is two ways to clear the error depending on if the game. In one case you hold down the self-test til you hear the 'ping' sound, close the door, then need to turn the jackpot key, in the other case you just press the self-test once and you don't need to close the door or turn jackpot key. It appears that the superboard games tend to use the first method, and non-superboards use the later. But thedotster's explaination on how to proceed is about right for the superboard stuff. Once the machine is setup properly you should not need to go through the process again (except some superboard games still revert back to call attendant on restart). That is a known bug I am looking into. I think the eeprom isn't storing enough information for the superboard games. The nvram files (*.NV) you found in the nvram folder are a copy of the battery-backed ram when the game was shut off. It is reloaded each time you restart the game so that it appears in the last state you were in. At the tail-end of the nvram files is the eeprom data too. Let me know if you have further questions. Title: Re: PE+ Emulator via MAME Post by: knagl on September 17, 2008, 07:57:49 PM Posted by Stolistic on 12/10/2007
Thought I would share some pics with you. This is my new game running on my real PE+ machine! Since I already have the poker CAP and CGs in place, I am only updating the game prom. My game currently works with CAP/CG 740 and 2004. I haven't tried others yet. Inputs and controlling Lamps seem to work good. The sound is working, and my updates to the watchdog timer seem to be working, so the game runs fine without stalling out. I found some debouncing issues on a the Self-Test Output screen, but nothing major. But the Door Closure sensing is working great! I can play a full game from start to finish (although I don't have payouts yet). Quite exciting to see! (http://www.stolistic.com/slots/tcpm01.jpg) (http://www.stolistic.com/slots/tcpm02.jpg) (http://www.stolistic.com/slots/tcpm03.jpg) (http://www.stolistic.com/slots/tcpm04.jpg) (http://www.stolistic.com/slots/tcpm05.jpg) (http://www.stolistic.com/slots/tcpm06.jpg) Title: Re: PE+ Emulator via MAME Post by: knagl on September 17, 2008, 08:15:03 PM Stolistic
Thanks for the kind words everyone! I just got the coin-in sensing to work. I have all the code to check for sequence errors etc. It seems the machine likes to turn on the coin lockout by default. I added some code on startup to turn off the lockout, and it now accepts coins or credits. I have any extra coins beyond the max coins in flow into the credits, but may just trigger the hopper out to send the coin back. I've seen that on other games before. I would like to test a DBV sometime, but my machine doesn't have one. Jim at blueridgeslots doesn't feel my machine will mount a dbv very well, but I may buy one and just dangle it outside of the machine for testing purposes. Bunch of screenshots of progress in Operator Setup screens: (http://www.stolistic.com/slots/tcp100.jpg)(http://www.stolistic.com/slots/tcp101.JPG) (http://www.stolistic.com/slots/tcp102.JPG)(http://www.stolistic.com/slots/tcp103.JPG) (http://www.stolistic.com/slots/tcp104.JPG)(http://www.stolistic.com/slots/tcp105.JPG) (http://www.stolistic.com/slots/tcp106.JPG) Now that the Paytable setup screens are in place I will be working on the payout routine in the main game code for when you win a hand. After that I will need to add "Cashout" support which means firing off the hopper to shoot out coins. I was thinking of adding a "Free Play" option when you setup the credit type. Might be nice for people who like that kind of setup at home. New blog entry. Some new items to report and a little more details on the coin-in and coin-out mechanics of the PE+ machine. http://stolistic.blogspot.com/ (http://stolistic.blogspot.com/) Important piece to note is that I fixed the current MAME driver to support the hopper coin-out process. The "Hopper Empty" or "Coin-Out Timeout" messages should no longer appear when the game is setup to use a hopper. I'm not sure what update will have my code, but it will probably make the next cut. Rep I too noticed speed issues and have been tinkering around with some settings to get it close to how my PE+ plays (as well as in the casino). I have found if I set the overclock CPU in MAME to 200% and set the deal speed as slow as possible it seems to play pretty close to what I'm used to. Jackpot music (in game when you hit a hand pay, in the test menu it's a little fast setting it this way) and credit increment (with machine at max credits so it pays through hopper, I guess the speed setting for this is a superboard only thing?) are just about perfect. The music seems to be what's most off speed wise to me... I'm not sure what the casino has, but I have a Superboard and Multi-game and I got the settings on there to play like the casino. I believe I have deal speed at 2 as well as credit increment, I will double check on that. The FPS meter on MAME says 100% with frameskip off but the only way I can get the same speed as on my machine is to set the overclock CPU to 200% as mentioned earlier. Hope this is of some help, reguardless I'm beyond thrilled PE+ is finally in MAME and play it a TON and am very grateful for all the time and effort invested in this project! Very much looking forward to the 3 card for the PE+ as well! P.S.- Sorry, forgot to mention I've mainly been using the PEPP0516 set with MAME, I dunno if the other sets are slightly different or not speed wise Stolistic Now that the holidays are over I'll probably be messing with this stuff again. I fixed a bug with the superboard games and posted details on my blog. http://stolistic.blogspot.com I'm guessing CJ can confirm my findings about the differences in the normal and superboard memory configurations. The roms used in MAME are 100% unchanged dumps of the roms in a physical machine. You can still find them on eBay and many of the vendors linked above on the forums sell them. You just need to dump them and rename them to match the filenames expected by MAME. The MAME filename extensions match the socket they appear on the motherboard. For example, PP0516.U68 is a dump of the game program ROM located in socket U68 of the motherboard. Not all games are supported yet, but if you get one that is not supported I can probably help you with the source code changes to get it working. Quote from: slotmankurt Quote from: Stolistic Not all games are supported yet, but if you get one that is not supported I can probably help you with the source code changes to get it working. That's what I figured, Because when I worked at a casino thre was a Bartop game that I believe was IGT, and it had all the roms on one system. Like a multi game. I am looking to build a bartop system for my home bar, and I was looking for the Multigame version that I can use with my touchscreen. I have used other games in MAME with a touchscreen for testing reasons. I have also purchased the Bally 101 slots CD, and a WMS games CD from a local store, and used thoes with a touchscreen also, by the way, it works great! I have thies set up in a Multi-game case to emulate the slot machines. My next project is the Bar Top Poker machine. I guess I will have to search for the Multigame roms, and Learn to dump them to a file (provided I can find a Chip Dumper (I don't know what they are called)). Once again GREAT JOB on what you have done! and Thank you! knagl FWIW, none of the PE+ games used a touchscreen for interaction. The closest was one of the keno games that used a light wand that interacted with the screen. Having said that, I don't know that it would be impossible to rig the MAME version to work with a mouse/touchscreen to simulate the pressing of the "hold" buttons for the cards (I know slostic does have that working to simulate the light wand for keno). I don't know for sure, though, as I'm only very mildly familiar with the whole process. Stolistic on 1/8/2008 Boy this game has a lot of service mode screens! (http://www.stolistic.com/slots/pexmp006.PNG) Nice driver changes coming soon. http://stolistic.blogspot.com I finally found the code that was forcing me to memory hack each game rom in order to allow it to pass the memory tests. In laymans terms, any new roms supported in the future will take a few seconds to add to the core driver. No more special hacks to get them to run. GENIUSSLOT HELLO About touchsscreen i think that is possible maybe whit a microtouch, they sell a touchscreen windows compatible, whit this option you can make a routine for you`re project and touch, this is possible too making a dll whit routines that link the touchscreen whit you`re amazing games, in this dll you can make a tarce points for the touch replace perfectly the mouse or keyboard and just work whit you`re mame project. maybe its not neccesary replace anything in main source codes of you`re project and mame source. Stolistic Hi Everyone, I started a very preliminary wiki site on the technical nature of the PE+ machine. These are things I have been documenting as I wrote the PE+ driver for MAME. http://www.stolistic.com/wiki I will be working on a similar setup for the S-Plus (as you can see on the frontpage). I would think this information would be valuable for those trying to create new hardware mods to the machine and would like to tap the data bus for the proper values. Or if someone is tempted to write software for the platform (like my 3-card poker game). Any feedback on things you would like to see would be great. I will be filling it out with more text over time. I will most likely need assistance with the S-Plus stuff eventually, but have been gaining knowledge with the early stage driver I wrote for it. Title: Re: PE+ Emulator via MAME Post by: knagl on September 17, 2008, 08:26:46 PM Stolistic
This weekend I revisited my Three Card Poker game for the PE+. I was having a lot of issues last month once the code grew to a certain size, so I kind of put it on the backburner for a while. Interestingly enough, when I ran the code again just recently, ALL the bugs had disappeared. The only explaination is the improvements I made to MAME in the last few updates were required to make my new game emulate properly. I assumed the emulator was doing its thing correctly and my new code was wrong, so I didn't bother burning it on a chip and testing it in my real PE+ machine afterwards. Anyways, long story short, I worked on the game and finished up the payout process so the player gets paid appropriately for their hand versus the dealer. (http://www.stolistic.com/slots/tcp010.png) I'll probably jump back on this project now that its not riddled with emulation problems. Also I got a few new ZIFF sockets to drop into my new machine to eliminate having to keep pulling the chips out and sometimes bending pins. I noticed that many of the CG sets for the PE+ share a lot of common graphics. Because I want my game to be compatible with as many CG sets as possible, I added a new screen to let you choose your CG set number. So far I have only seen 3 different "Card Game" CG sets and the majority of them are what I have deemed type 1 or 2. (http://www.stolistic.com/slots/tcp021.PNG) I also noted that some CG sets may paint the card backs with a different palette, so I let you choose that too. I added a little preview of the card back as you select the palette to save you flipping back to the game to see the results. I like the idea of being able to choose your cardback color from some that were never intended to be used in other games. Doing this can really affect the pattern seen on the back of the card. (http://www.stolistic.com/slots/tcp020.png) Title: Re: PE+ Emulator via MAME Post by: knagl on September 17, 2008, 08:35:27 PM Quote from: thedotster Quote from: knagl The colors of your River Gambler and Wild logos are different than the machine at the local casino (from what I remember) -- I'll try and sneak a picture next time I'm there, but I seem to remember those symbols being a lot more reddish. Thanks I'd be interested to see that Well, it only took eight months for me to follow up on this, but here's the picture from the local casino: (http://i33.tinypic.com/2ikt6a0.jpg) thedotster Thanks Knagl. That is a lot more reddish. Mine is definetly a grey/brown colour. I still find it hard to believe that these machine are still working in casinos today! Stolistic Here it is emulated using CG2266 and CAP2266. (http://www.stolistic.com/slots/PS0716.PNG) Rep Very nice! I've never seen a PE+ running slots in person, heck, I can't find a PE+ at all out east here anymore. All changed over to Game Kings. Only PE+ I know of is mine that's downstairs Title: Re: PE+ Emulator via MAME Post by: doublediamonddlx on September 20, 2008, 12:02:08 AM Just a reminder to all the MAC users....
Some of the ROMs (White Hot Aces, or the other Slots...River Gambler, Double Dollars) will NOT work with the current version of MAME .103u2. NO update when a new version will be released. The older posting of Blackjack, 5 game video poker, Keno ROMs DOES work however. This is due to the game names not being stored within MAC-MAME. I am working of a chart to see if the using "basic BJ Strategy" will show any trends even though the deck is "shuffled" each play. ***Wondering if anyone has been able to or have heard if Mame will come to iphone*** Stay tuned... doublediamonddlx Title: Re: PE+ Emulator via MAME Post by: doublediamonddlx on September 21, 2008, 11:24:43 PM I came across an article that supports MAME to the iphone but, the links end a year ago and no new pages.
It looks like these games might become even more popular soon once it becomes ported.... http://www.appsafari.com/games/851/mame/ not exciting news but, news... enjoy, doublediamonddlx Title: Re: PE+ Emulator via MAME Post by: doublediamonddlx on October 12, 2008, 11:10:46 PM Better news for all you iphone users...It looks like a version of MAME is now available for iphone...however its in the very early stages but, its up and running. (look for....mame4iphone)
BE ADVISED THAT IT REQUIRES A JAILBREAK OR PAWNED IPHONE, (CYDIA) THAT I WONT BE RESPONSIBLE FOR. The website for ZodTTD has been down for a few days but is expected to return within new bandwith. There are locations to find information on how one can undo the iphone and be able to install MAME. Have no idea how the controls will work because the PE+ games rely on the keyboard to work and not arcade control buttons that are loaded within the iphone/mame program....i guess thats a question for slotistc. Apple News | ZodTTD Releases mame4iphone Arcade Emulator Monday, 29th September 2008, 01:09 pm ZodTTD has made the mame4iphone arcade emulator for iPhone available via Cydia ----- Hi everyone! Before I decided to port over genesis4iphone to the 2.x.x series firmware, I picked up the MAME arcade emulator port, mame4all by Franxis. He did an excellent job and I was able to get something up and running very quickly. mame4iphone is available via Cydia in my built-in public ZodTTD.com repo/source. If you like it, consider donating here! So here is what mame4iphone v0.5.0 consists of: - Based on MAME v0.37 Beta 5 - Although MAME v0.37 Beta 5 is quite old, and I'm not quite sure why it was chosen as the basis for many ports to ARM handhelds yet, it still supports over 2000 ROMs! - These arcade game's date range from the 1970's all the way to 2000! - Sound is supported but disabled by default. To enable it,goto Now Playing and slide the slider for volume up from the off position then start a game. - Once a game is started it will ask you to press OK. Use RIGHT then LEFT then RIGHT then LEFT to press OK. - Save states are only just being introduced in MAME v0.37, so mame4iphone does not currently support save states. - Upon installing a folder /var/mobile/Media/ROMs/MAME/ is already made for you. - Place your MAME-titled zipped ROMs in the /var/mobile/Media/ROMs/MAME/roms/ folder. Not every ROM in the MAME v0.37 set may work as expected, either due to performance or bugs. But please let me know which games do work well! It will give me good insight on how to proceed with updates for mame4iphone! Play on! ZodTTD ----- Read More Title: Re: PE+ Emulator via MAME Post by: Joeylc on January 17, 2009, 04:00:21 PM did someone do this I recall seeing it on the old site ?? :103- :103- :103-
Title: Re: PE+ Emulator via MAME Post by: StatFreak on January 17, 2009, 04:04:45 PM It would almost certainly have been Stolistic. :71-
Title: Re: PE+ Emulator via MAME Post by: knagl on January 18, 2009, 01:54:16 AM did someone do this I recall seeing it on the old site ?? Yep, it was Stolistic, and I saved the thread and posted it here during the transition. MODERATOR: Removed the link, as it is now a circular reference to the top of this thread. Title: Re: PE+ Emulator via MAME Post by: Joeylc on January 18, 2009, 02:00:33 AM did someone do this I recall seeing it on the old site ?? Yep, it was Stolistic, and I saved the thread and posted it here (http://newlifegames.net/nlg/index.php?topic=175.0) during the transition. Thanks knagl I will move the topic over in here... Title: Re: PE+ Emulator via MAME Post by: videoporker on January 21, 2009, 11:27:41 PM This is fantastic!!!!
I wonder how the S+ is going? Title: Re: PE+ Emulator via MAME Post by: dupuhini on February 28, 2009, 06:49:43 PM I would be great , if we could simply press a key for 100/200/500 credits , pressing coin-in after a couple of times is a killer. It is much faster playing from credit , but few of us will ever have a bill validator...
Title: Re: PE+ Emulator via MAME Post by: Rep on March 01, 2009, 03:20:06 PM The bill validator is emulated in MAME. You gotta use the set038 chip rom and play with the .nv files but it will work in the test screen. Maybe at some point Stolistic will be able to add code where a keypress will simulate a bill going in. For now I just build some credits up then use "W" for bet max
Title: Re: PE+ Emulator via MAME Post by: videoporker on March 01, 2009, 03:33:10 PM I would be great , if we could simply press a key for 100/200/500 credits , pressing coin-in after a couple of times is a killer. It is much faster playing from credit , but few of us will ever have a bill validator... yeah and some of mine I set for 20 coin play. Title: Re: PE+ Emulator via MAME Post by: dupuhini on March 02, 2009, 02:09:29 PM I've used the SET chip and setup the bill validator , still presssing the 'U' key will not credit the machine.
if you play game after game for about 10 coins , you get tired if you dont build credits... If we look at most other games/poer games , it allows you a Key-IN of about 50/100 credits... Very few of us have bill validators to put on a MAME game... Title: Re: PE+ Emulator via MAME Post by: Stolistic on March 02, 2009, 03:29:45 PM The code to simulate the bill validator is not in MAME yet. So at this point one way to get a lot of credits is to use a "cheat code" to hack memory into thinking you have so many credits. I will look into posting a way to do that for those that are interested. I used this technique when I was first trying to understand how the code worked. You can tell from my early blog pictures when I have tons of credits on the machine.
The cheat system has changed radically and I will need to review what memory area to update also. I'm not sure the cheat will be universal for every game, since they may update different memory locations depending on how the game was written. Although, credits are always stored in the same place on the backplane EEPROM for all games, when the EEPROM is periodically updated. A final fix is to emulate the bill validator but that may require the specifications on the ID022 protocol (or others), and map certain bill denominations to the keyboard. I have not looked into this area much, but may do that sometime this year. Title: Re: PE+ Emulator via MAME Post by: Rep on March 02, 2009, 06:15:51 PM Sounds very cool, until I read the spot on your blog I was totally unaware the BV was supported at all. It does work, if ya hit "U" in the test screen you'll see the BV is enabled. Sounds very promising, please keep us posted if you do attempt to tackle this! :)
Title: Re: PE+ Emulator via MAME Post by: videoporker on March 02, 2009, 11:04:26 PM Bill validator would be icing on the cake but I don't mind running credits up the old fashioned way.
Title: Re: PE+ Emulator via MAME Post by: Rep on March 02, 2009, 11:14:20 PM lol, that's one way to do it! Nice hit! I did hit 5 5's on the new multi-set joker poker but didn't up the credit limit. 4000 credits I coulda had. It's ok, it's on a laptop I don't use a lot anyway. I'll add the pic/screenshot
Title: Re: PE+ Emulator via MAME Post by: MALA on July 30, 2009, 07:51:05 PM Any more news about the PE+ mame?
Title: Re: PE+ Emulator via MAME Post by: videoporker on July 30, 2009, 08:43:21 PM Some "genius" figured out a half a55 way to add credits without the bill validator.
http://newlifegames.net/nlg/index.php?topic=2228.0 (http://newlifegames.net/nlg/index.php?topic=2228.0) Title: Re: PE+ Emulator via MAME Post by: StatFreak on July 31, 2009, 05:47:50 AM Some "genius" figured out a half a55 way to add credits without the bill validator. http://newlifegames.net/nlg/index.php?topic=2228.0 (http://newlifegames.net/nlg/index.php?topic=2228.0) :96- :96- Are you still selling files with lots of credits on them? (just kidding) :72- :72- :72- K+ for your clever idea. :71- Title: Re: PE+ Emulator via MAME Post by: mamepokerguy on January 19, 2011, 04:35:23 PM Hello All!!!
Well, this is my first post, i actually got into MAME a few months ago....man, i didn't realize something like this was out there...Its awesome!!! Anyhow, i am into the PE+ series....but i see all the post of this forum are over a year old!!! Did anyone ever find out how to add credits? I was messing around with the code, but i only got to the point where my credits showed up after hacking the NV file but the Change request crap was flashing on the screen...i couldn't get rid of it. So, is there anyone still out there messing with these PE+ roms? I see stolistic's blog hasn't been updated for a while...you still around? Thanks!!! Tom Title: Re: PE+ Emulator via MAME Post by: knagl on January 19, 2011, 06:05:35 PM Welcome to the site, Tom!
:238- Did anyone ever find out how to add credits? One of the easiest ways we've found is to rack up a lot of credits (either by brute force -- inserting coins every time you play whether you won or not (to build up the credit meter over time), or by hitting something big), then exit MAME and save the .nv file in a backup location. Once you've got a good .nv file with a lot of credits, you can always copy it from the backup location to your active MAME folder to restore the machine to that point in time (ie. that number of credits). Stolistic is still around, although obviously the PE+ and MAME stuff is more of a hobby than a job. :89- Title: Re: PE+ Emulator via MAME Post by: mamepokerguy on January 19, 2011, 06:44:21 PM You wouldn't happen to have a NV file for the pexmp006 game with lots of credits would you? When ever i have people over at the house its annoying to keep having to press the credit button..and it isn't like it is fast counting...lol.....the most credit ive built up is around 400....i'd like one with like 5000. It will last forever...lol
Also, would you know if these PE+ roms are legal roms to upload to my site? Alittle hobby of mine is website design...i was thinking of making a site for PE+ mame games...or better yet... Mame Poker games....i am still trying to find a text holdem mame game...lol. Thanks for the reply!! Tom Title: Re: PE+ Emulator via MAME Post by: knagl on January 19, 2011, 07:16:27 PM Hi Tom-
I don't have any decently credited .nv files, as I do most of my playing on my real PE+ machine instead of the computer. :) I think someone here had posted in the past that he had some -- it might be worth a look at some old posts. As far as the ROMS go, I'd suggest you stay far away from distributing them. Even though they're old, they're still copyrighted by IGT (in terms of the PE+), and IGT (and all of the gaming manufacturers) are very, VERY vigilant in protecting their copyrights, even on old -- dare I say -- obsolete software. They don't want anyone to have it or distribute it, and they have a small army of lawyers ready to pounce. For the record (and for your knowledge since you're new here), we do not permit ROM file trading or distribution on this site (or the discussion of said file trading, beyond general talk like this -- for example, we don't post links to other sites that may have copyrighted files available for download). If we did, the site would be shut down in a heartbeat by the various gaming companies. (That's part of the hot pink banner near the top of every page that says, "PLEASE DO NOT UPLOAD COPYRIGHTED EPROMS TO THE SITE!!!") I can't remember, and I'm at work at the moment, but can you change the maximum bet while there are credits on the machine? If so, you could change the max bet to something higher (like 100 coins), play a few hands (I realize that it would take a while to put in that many coins, but any decent win like a flush or something would get you a nice bank), change the max back down to 5, then save the .nv file. Title: Re: PE+ Emulator via MAME Post by: poppo on January 19, 2011, 07:40:24 PM Just curious. Can't you take a NV file with lets say 10 credits, then make another one with 20 and do a hex compare to see where the credits are and just edit it to add as many as you want?
Title: Re: PE+ Emulator via MAME Post by: knagl on January 19, 2011, 08:20:48 PM Stolistic would be the definitive source on that, poppo, but I suspect that there's a security check somewhere in the code and changing the credits but not changing that security bit would cause the machine to tilt.
Title: Re: PE+ Emulator via MAME Post by: mamepokerguy on January 20, 2011, 10:10:11 AM Thats the process i am in right now. I compared some files in hex, i can up the credits, but when the games loads, it comes up with the call attendant, change reqeust flashing on the screen...and the game basicly freezes...theres something hidden in the code...i am still looking for it...but iam a beginner...so i dont have the know how like mike does. Hopefully he chimes in here....honestly, if it were that easy to edit the nv with hex, i think he would have done it already.
Tom Title: Re: PE+ Emulator via MAME Post by: poppo on January 20, 2011, 10:56:32 AM Thats the process i am in right now. I compared some files in hex, i can up the credits, but when the games loads, it comes up with the call attendant, change reqeust flashing on the screen...and the game basicly freezes...theres something hidden in the code...i am still looking for it...but iam a beginner...so i dont have the know how like mike does. Hopefully he chimes in here....honestly, if it were that easy to edit the nv with hex, i think he would have done it already. Tom I'm certainly no expert on the PE+, but I have worked on similar issues with other software. If you are only finding one value changed with the hex compare (i.e. only the credits) and it still does not work when changing it, then it sounds like another value is being changed somewhere else. Just like on a S+ where data is stored in both the CMOS and EEPROM and they have to match at boot-up or the machine will tilt. So what I would do is do a hex compare of all of the files related to the game before and after a change in credits and see if something else is changing. Like knagl said, there may be a security check being done. But if there is, it has to be comparing those credit values to something else that has been updated. <edit> I just went back and read the entire thread since I had only read the last few posts. I see that this has already been covered and from the sound of it, it seems that there is a second area that needs to be updated. ... So at this point one way to get a lot of credits is to use a "cheat code" to hack memory into thinking you have so many credits. ....The cheat system has changed radically and I will need to review what memory area to update also. ..... Although, credits are always stored in the same place on the backplane EEPROM for all games, when the EEPROM is periodically updated. .... In any case, it sounds like the easiest thing to do is that nv backup trick. Title: Re: PE+ Emulator via MAME Post by: mamepokerguy on January 20, 2011, 11:19:06 AM Well.. I just made great progress!!!!! I got my hacked NV work!!!
Say you have 384 credits, well, the decimal in the hex editor is: 0084 0300 007C The 7C is what was throwing me off. The 1-100 is a specfic code. 60 and above, the coding needs to add up to 157..so, in the 384 case, it was be 84+7(C) which C being 3. A=1 B=2 C=3 ad so on. So if that bit doesn't corrispond with the credit number..you'll get a call attendent. Still testing it. I'll let u all know! Tom Title: Re: PE+ Emulator via MAME Post by: poppo on January 20, 2011, 11:39:54 AM So it looks like the 007C is just some sort of checksum for the credits.
Title: Re: PE+ Emulator via MAME Post by: mamepokerguy on January 20, 2011, 11:55:36 AM Its gotta be. The 300 bit also has one...still figuring that one out.
Title: Re: PE+ Emulator via MAME Post by: mamepokerguy on January 20, 2011, 02:35:26 PM Ok i figured it all out. Theres a few things to need to modify with a hex editor to up the credits. Right now, i figured it all out to 10,000 credits...i think that will last a long while...lol.
I will work on a Write up with pics of how to do it. Thanks. Title: Re: PE+ Emulator via MAME Post by: mamepokerguy on January 20, 2011, 02:45:11 PM I just saw your updated post poppo. Well, i edited a few things in the NV file. Right now, this is for the Multi-poker 006. I am having no problems.
Is there anyone who would want to test this NV, shoot me a message. Its working great on my machine. Tom Title: Re: PE+ Emulator via MAME Post by: poppo on January 20, 2011, 03:34:33 PM From what I gather, this does not really fix the original issue of being able to add a bunch of credits at one time (through MAME), it just saves the step of going though the time consuming process of creating a NV file with a bunch of credits by having to manually add them. I suppose what would be the ultimate goal is to have a 'button' in MAME that adds x number of credits whenever you want instead of having to reload the NV when they run down. In any case this sounds like it will save some time.
Title: Re: PE+ Emulator via MAME Post by: mamepokerguy on January 20, 2011, 04:15:08 PM Yea i agree with you. I just wanted to know how to get more credits...because the rom counts coin in's very...very slow.and people that have played my machine at my house complained about that. 10,000 credits is alot to go threw. I geuss i could get 100,000 too. I could make a patch also....replacing the NV file when the credit runs out kinda sucks cause you loose all your game data, just editting the credits reserves it all....it would be nice just to press a key to up your credits...but i think thats alot more time consuming. Takes me if a minute to edit the file and its done.
Tom Title: Re: PE+ Emulator via MAME Post by: knagl on January 20, 2011, 06:02:11 PM That's great. I'd be interested in trying it, too. :3-
Title: Re: PE+ Emulator via MAME Post by: poppo on January 20, 2011, 06:21:55 PM I could make a patch also.... Maybe a patch that could be run from a batch file or something each time the MAME machine boots up to auto replenish the credits, but would keep everything else intact. Title: Re: PE+ Emulator via MAME Post by: mamepokerguy on January 20, 2011, 06:31:56 PM You could do that, but how often do people REALLY play there poker mame games? 10,000 credits is alot....i am trying to get 99,999, but after 9999 is get alittler more complicated....theres a spot in the file where your credits reside, but they are used for the adding of newly won credits..if those don't add up to your current credit number, when you win hands it will not add them, or it will but u won't see it....if you have 10,000 credits and you have these bits set to 9000....and you win a hand of 20 credits it will add it to 9000..not your 10000...and not show your credits going up...plus is does some funky stuff to the game also.
And knagl, you can message me your email and i can send the nv file? Tom Title: Re: PE+ Emulator via MAME Post by: poppo on January 20, 2011, 06:46:03 PM You could do that, but how often do people REALLY play there poker mame games? 10,000 credits is alot True, but it doesn't have to be 10,000 credits. It could be something more smaller where the player actually sort of cares about losing them all. Part of the fun of any slot etc. is trying not to loose everything. IMO a smaller amount would be more realistic. Title: Re: PE+ Emulator via MAME Post by: mamepokerguy on January 20, 2011, 06:56:39 PM Thats easy....whats your opinion on how much? 1000?
Title: Re: PE+ Emulator via MAME Post by: poppo on January 20, 2011, 07:05:34 PM I don't really play video poker, so I don't know how fast one can go through credits. 1000 sounds like a good number. But this is just my opinion. Maybe people who play it, do want more credits. I was just looking at it like playing any other game that has an 'infinite lives' hack that can sort of take the fun out of trying to beat the game.
In any case I'm sure those that have this game would be interested in the fix/info no matter how it's implemented. Title: Re: PE+ Emulator via MAME Post by: mamepokerguy on January 20, 2011, 07:19:03 PM Your right...it does take the fun out of it, really no point to play then.....you go threw credits very fast. maybe even 500..
BTW If anyone wants to try this hacked NV file, i've uploaded it to my site, you can find it here: http://www.daytonashelby.com/mame (http://www.daytonashelby.com/mame) It only has one file and its only for the PE+ Game: pexmp006 which is the 5 in 1 video poker. This file gives you 9900 credits. Feel free to try it out...if theres any errors, let me know. And kevin if this is against the rules with posting a NV file, lmk and take it down. Tom Title: Re: PE+ Emulator via MAME Post by: knagl on January 20, 2011, 08:02:39 PM Tom-
I don't think the site admins will have any problem with you posting a link to that -- that's more MAME-y than anything, and it's not a ROM/.bin file. :71- Title: Re: PE+ Emulator via MAME Post by: StatFreak on January 21, 2011, 09:51:58 PM Tom, I sent you a pm. :259- karma for figuring this out and sharing it with everyone. :71- Good job!! :3- :3-
Stat :31- Title: Re: PE+ Emulator via MAME Post by: Stolistic on January 22, 2011, 08:53:45 PM You would probably gain much more acceptance from the MAME community if your memory hack was part of the MAME Cheat Library rather than a downloadable .NV file.
Pugsy's Cheats has a tutorial on how to create cheats: http://cheat.retrogames.com/ (http://cheat.retrogames.com/) The reason your initial hack failed was because the CMOS and the EEPROM were out of sync. Everytime the machine boots it compares key values from the EEPROM on the backplane with values in the CMOS. If those values differ, you get the CALL ATTENDANT message and the system resyncs the values in the CMOS from the EEPROM (overwriting your changes to memory). The .NV file contains a dump of the memory for both the CMOS and EEPROM combined, you if you modify both successfully, you should be able to boot without errors. The location of the credits in the CMOS is different for each game, but tends to be fairly consistent with the EEPROM. Title: Re: PE+ Emulator via MAME Post by: garofox on August 02, 2012, 04:20:29 AM watch this Anyone know what game is this :103- http://www.youtube.com/watch?v=YjblDNVJlwg&feature=player_detailpage (http://www.youtube.com/watch?v=YjblDNVJlwg&feature=player_detailpage) |