We're using cookies to ensure you get the best experience on our website. More info
Understood
@virtualchrisRegistered April 26, 2008Active 1 year ago
808 Replies made

Tried on a real Virtual Boy. I had to make the wheel spinning silent because it wasn’t working right with the music. Otherwise, all visual stuff should be working fine. If you have the one in the 3pm hour, upload the one in the 4pm hour.

I think I finished a Video Poker game for the casino. Please test the latest version from the link in my previous post to play and test. The zip file will come with instructions.

Insecticide was my first Virtual Boy game. Since the creation of much of the code that is in the game that is about 10 years old, I have learned a whole bunch of stuff since then that I want to create now a good game in Chris’s Casino. While it is true that it took 10 years of hard work to make Insecticide, it was just basically a game whose sole purpose was to get my feet wet into Virtual Boy programming. But since it took 10 years, I wanted to have it released. I guess this was something I shouldn’t have wanted. I guess I should have asked for one boxed copy just for myself to have. Oh well. Lesson learned. I will still be working on Chris’s Casino.

Testing time. After hours of work, I think I may have done it. I tested this for 10 minutes, and there was no missed pairs like the previous versions I had tried.
SO LET ME KNOW if you come across any instance where it missed a pair. Take a picture of it (F9 in Mednafen).
The next thing I will do is add an option to change cards and redeal it again. Because right now, pressing start over and over again just gives you new hand after new hand. I am doing this for test purposes. Get the latest ROM here:
http://www.atari2600land.com/casino/

So someone was kind enough to give me some code for ranking hands:

function rankHand()
{
var rank;
// sort hand into card rank order
for (i=1;i<=5;i++){
for (j=i;j<=5;j++){
if (rankHandRank[i] > rankHandRank[j])
{
tmpSuit = rankHandSuit[i];
tmpRank = rankHandRank[i];
rankHandSuit[i] = rankHandSuit[j];
rankHandRank[i] = rankHandRank[j];
rankHandSuit[j] = tmpSuit;
rankHandRank[j] = tmpRank;
}
}
}
// now rank the hand (1 is the highest)
if (rankHandSuit[1] == rankHandSuit[2] && rankHandSuit[2] == rankHandSuit[3] && rankHandSuit[3] == rankHandSuit[4] && rankHandSuit[4] == rankHandSuit[5] && rankHandRank[5] == 13 && rankHandRank[4] == 12 && rankHandRank[3] == 11 && rankHandRank[2] == 10 && rankHandRank[1] == 1)
{
    rank = 1;    // royal straight flush
}
else if (rankHandSuit[1] == rankHandSuit[2] && rankHandSuit[2] == rankHandSuit[3] && rankHandSuit[3] == rankHandSuit[4] && rankHandSuit[4] == rankHandSuit[5] && rankHandRank[5] == (rankHandRank[4] + 1) && rankHandRank[4] == (rankHandRank[3] + 1) && rankHandRank[3] == (rankHandRank[2] + 1) && rankHandRank[2] == (rankHandRank[1] + 1))
{
rank = 1;    // straight flush
}
else if (rankHandRank[1] == rankHandRank[2] && rankHandRank[2] == rankHandRank[3] && rankHandRank[3] == rankHandRank[4]) 
{
rank = 2;    // 4 of a kind
}
else if (rankHandRank[2] == rankHandRank[3] && rankHandRank[3] == rankHandRank[4] && rankHandRank[4] == rankHandRank[5])
{
rank = 2;    // 4 of a kind
}
else if (rankHandRank[1] == rankHandRank[2] && rankHandRank[2] == rankHandRank[3] && rankHandRank[4] == rankHandRank[5]) 
{
rank = 3    // full house
}
else if (rankHandRank[3] == rankHandRank[4] && rankHandRank[4] == rankHandRank[5] && rankHandRank[1] == rankHandRank[2]) {
rank = 3;   // full house
}
else if (rankHandSuit[1] == rankHandSuit[2] && rankHandSuit[2] == rankHandSuit[3] && rankHandSuit[3] == rankHandSuit[4] && rankHandSuit[4] == rankHandSuit[5])
{
rank = 4;    // flush
}
else if (rankHandRank[5] == (rankHandRank[4] + 1) && rankHandRank[4] == (rankHandRank[3] + 1) && rankHandRank[3] == (rankHandRank[2] + 1) && rankHandRank[2] == (rankHandRank[1] + 1))
{
rank = 5;    // straight
}
else if (rankHandRank[5] == 13 && rankHandRank[4] == 12 && rankHandRank[3] == 11 && rankHandRank[2] == 10 && rankHandRank[1] == 1)
{
rank = 5;    // straight
}
else if (rankHandRank[1] == rankHandRank[2] && rankHandRank[2] == rankHandRank[3])
{
rank = 6;   // 3 of a kind
}
else if (rankHandRank[2] == rankHandRank[3] && rankHandRank[3] == rankHandRank[4])
{
rank = 6;   // 3 of a kind
}
else if (rankHandRank[3] == rankHandRank[4] && rankHandRank[4] == rankHandRank[5])
{
rank = 6;   // 3 of a kind
}
else if (rankHandRank[1] == rankHandRank[2] && rankHandRank[3] == rankHandRank[4])
{
rank = 7;   // 2 pair
}
else if (rankHandRank[2] == rankHandRank[3] && rankHandRank[4] == rankHandRank[5])
{
rank = 7;   // 2 pair
}
else if (rankHandRank[1] == rankHandRank[2] && rankHandRank[4] == rankHandRank[5])
{
rank = 7;   // 2 pair
}
else if (rankHandRank[1] == rankHandRank[2])
{
rank = 8;
}
else if (rankHandRank[2] == rankHandRank[3])
{
rank = 8;
}
else if (rankHandRank[3] == rankHandRank[4])
{
rank = 8;
}
else if (rankHandRank[4] == rankHandRank[5])
{
rank = 8;
}
else
{
rank = 0;
}
return rank;
}

Since it’s Javascript, I tried to convert it to C. I also adapted my code for the cards. I now have strings:
Cardnumber and Suitnumber, each having numbers 0-4. I tried to merge the card ranking code into my game, but I don’t know what I need to do to make the code read the strings and work. Could someone please help me? The videopoker routine starts at line 2,062 and goes until the end.

Just poking my head in to say “hi, I’m back working on my casino game.”

No craps, I’ve decided it was too tough to program and learn, so I’m going to attempt to replace it with a version of Video Poker.

I think I got the Come/Don’t Come bets in. I’m using the Hoyle website for these rules now. http://www.hoylegaming.com/rules/showrule.aspx?RuleID=206
To turn on/off a Come bet, press the Left Trigger button. To turn on/off a Don’t Come bet, press the Right Trigger button. As per rules, you can only make a Come/Don’t Come bet after a non-crapping out/non-winning roll.

Aargh! It happened again!

I thought this was pretty interesting:
eBay item #263608086487 is a Virtual League Baseball prototype. The guy selling it has no idea if there are any differences between this and the final version.

How odd. This has been happening for the last couple of days and now it isn’t any more.

Anyone here an expert of Craps (the casino dice game)?

I’m trying to make a version of Craps using the rules in Wikipedia: https://en.wikipedia.org/wiki/Craps

I’ve got pass and don’t pass bets and what I think are basic rules down, but since I’ve never played the game, I don’t know if they’re correct or not. Check out what I’ve got so far and a ROM and code zip file here: http://www.atari2600land.com/casino/casino20180511.zip

Let me know what you think so far.

Attachments:

Does anyone have a want for a casino game I don’t have yet? Video Poker is out since it seems very complicated to keep track of all the types of ways you can win.

Added betting system to all three games. You can change how you want to bet after every turn. Or keep it the same. To change the betting number, press up or down on the right dpad. Maximum bet number is 5. Download here:
http://www.atari2600land.com/casino/

Man I wish we had signatures.

Slot Machine now functioning well. With win/lose jingles added.

Fixed the first reel showing problem on real Virtual Boy from today’s earlier post. I still don’t know why it is happening. I also still don’t know why I have to put in

	VIP_REGS[XPCTRL] = VIP_REGS[XPSTTS] | XPEN; 
	while (!(VIP_REGS[XPSTTS] & XPBSY1)); 

whenever I try to display ANYTHING.

I’m sorry I said it was an April Fools’ joke if it’s real, but you really shouldn’t announce such stuff on April 1.

  • This reply was modified 6 years, 1 month ago by VirtualChris.

Made the reels stop psuedo-randomly. This version is not tested on real hardware because it’s late and I want to sleep now. Download the latest version at http://www.atari2600land.com/casino/

mellott124 wrote:
I’m working on one. Should be ready by end of the year. Possibly sooner.

Ha ha. Nice April Fools’ joke.

Not much work this weekend. I did just devote about three hours to make the user have to press A to start the slot machine. I guess the problem was I wanted to speed it up but it kept glitching out on a real VB so I had to slow it down some. Right now this is the fastest it can go.

Slot machine redesign. What do you think?
I also moved the handle to the same BGmap as the front. So any picture donations for the front need to leave space for handle pictures as well as the words “slot machine” in the upper right corner.

Attachments: