My first attempt at a video poker game was at around twelve years of age, using BASIC on an 8-bit ZX Spectrum. I programmed it without using arrays, instead writing pages and pages of "if" statements. It was terribly buggy, a fact which I tried to hide by telling my friends who played it that the game was actually cheating in THEIR favour... heh
Video poker machines were interesting because they usually took up a half of each arcade in Bucharest. Half of the arcade had the regular games, and the other half had gambling machines, predominantly video poker. Adults lost piles of money playing these things.
If you just want to play it, grab the rom, and off you go! If you wish to develop your own Sega Genesis game, download the modified dev kit, and read the rest of the article.
The rules are simple: get a winning hand, and then either gamble a few times, trying to guess whether the next card is red or black, or just collect. Correct guesses will double your amount won. Guessing incorrectly takes away your winnings. You can collect whatever you won at any time.
- compiled rom
- grab this to play the game in any Sega Genesis emulator
Source and dev kit
- complete and modified dev kit
- this one contains a modified dev kit, which also includes my source directory. I stripped out some tools, and modified it. Read the section below if you'd like to develop your own game based on this
- dev kit
- this is an unnamed Sega Genesis dev kit. It's what I started with.
- the Gen Poker source code. I placed it inside ProgMD while developing
- Fusion emulator
– a good Sega emulator. I used it as a run-time environment to try out my code
Developing your own
I began by modifying the dev kit. I removed some files and an graphical editing application that I found useless. I created a compile.bat script inside the genpoker source directory which after compiling, copies the rom to the emulator's directory, so it can be loaded easily.
I also noticed that the author added his own logo in one of the libraries, making it visible every time you booted a rom compiled with this dev kit. I did not like this, and I changed it, after which I recompiled the libraries.
I decided to stick with the 8x8-based memory copy calls, which is why some of the cards look a bit off, as the calls work with 8x8 "chunks".
An important note: the scripts included with the dev kit assume that the kit is located in c:\ (so c:\ProgMD). A Frenchman put it all together, and the Genesis is called Megadrive over there :) which explains the "MD" (and man, did this fact confuse me when I moved over the Atlantic!)
Other than that, after compiling the final version of the rom, which I then uploaded here, I ran it through the checksum fixer. It did work fine without it, but Fusion reported an "invalid checksum". No biggie.
Just like with Neo Thunder, Gen Poker looked and felt better when played on an old-school tube tv.
Here it is running in NeoGenesis (a Genesis emulator for Xbox) on the above-mentioned tv: