it has multiple levels of odds, depending on how you look at it.
the board itself
the board itself is uneven. certain spots appear more often on the internal "reel", making them more likely to be landed on. (this is fairly standard slot machine behavior.) this is in addition to the visible symbols, which are fairly accurate otherwise.
the spreadsheet above tries to break this down:
- there are 24 visible spaces on the reel
- most spaces on the visible reel have 2 spaces on the internal reel
- three spaces have an additional space on the internal reel, with a fourth space having two additional spaces
the reel
there are 9 types of betting symbols on the board, along with a coin (bonus) and "once more" (lose).
the bar, cherry, and apple are straight pay: they are worth ×2, ×5, and ×50, respectively. in the spreadsheet, the expected value of these spaces is just (odds of landing on this space × payout).
the seven, star, and melon are part of the first group: when you land on one of these spaces, the game will randomly choose between ×20, ×30, and ×40. like the main board's reel, this is a slot machine with 8 stops: 40, 30, 30, 20, 20, 20, 20, 20. basically, the average outcome from this is ×25. likewise, the expected value of these spaces is (chance) × 25.
the bell, lime, and orange symbols are part of the second group; they are identical to the first group, but the payouts are half the size; ×10, ×15, and ×20. accordingly, the expected value is (chance) × 12.5.
the once more space zeroes out the rightmost 4 bets (cherry + second group). it provides no other benefit. generous.
the coin space starts the "PUSH START TO RICH!" bonus mode, discussed later.
for the bettable symbols only, the expected value is already ≈ 102%.
the double-triple bonus
all of the betting symbols also roll a second "bonus" symbol if you win, with fraudio hitting the block above him and causing a symbol to pop out. if the same symbol that won appears, your winnings are doubled; if a green 🍄 mushroom appears, they are tripled.
the internal table appears to contain 5 cherries, 3 apples, and one orange, lime, bell, melon, star, seven, bar, and mushroom. the symbol is randomly drawn from these.
adding this factor into the overall odds would require more tables on the spreadsheet. maybe when i'm not knee deep into a (currently) 7354-character post...
push start to rich
the bonus game has you mashing the button as fast as possible, earning 10 credits each time. with turbo, you seem to get about 50 credits per "second" (50 ticks). normally mashing the a button, i got about 35; there's a certain rhythm to it.
the amount of time you spend in the bonus game is based on the total you have bet across all options:
frames = 50 seconds = floor( total bet ÷ 9 ) if (seconds == 0) frames = 15
basically, for every 9 credits you bet, you get one second in the ball pit bonus game. if your total bet was 9 or more, you also get one second for free; otherwise, you get a total of 15 frames. i just double checked and the game gave me 20s50f for 180 credits, though, so who knows. maybe there's more in there i haven't found.
the math on this is a little complicated and i'm busy vaping, but you should always bet in multiples of 9 or you're missing out.
the expected value of this is hard to calculate (for me; i am not a stastician, i just wish i were), but at, we'll say, 40 per second, and 9 credits per second, that's... (chances) × 4-ish? pretty low, all told!
BIG/SMALL (hi-lo game)
i call it the hi-lo game. that's not what it is, though.
this game has two levels; the façade, and the real game.
the façade is the game that it presents to you. the rules are simple: you guess either BIG or SMALL. if the drawn card is a 7, you win. if it is an 8 through King, BIG wins. if it is an Ace through 6, SMALL wins. this is a ≈ 54% chance for either option.
a win doubles your winnings, and offers you the chance to play again. a loss ends the game and forfeits everything. you can double your winnings five or six times or so; i am not confident on this part of the disassembly yet.
this is a distinct player advantage! a 54% chance to make 200% is a good bet in the long term.
... you might be asking yourself, "wait, x, didn't you talk about how the hi-lo game has a façade, and then the REAL game?" yes. we're not there yet.
"the odds"
it is difficult to calculate the overall odds of the game at "face value", mostly just because there are a lot of factors involved. with some work it could be done; it is not terribly complex, just work.
however... recall that the game's base odds were already ≈ 102%, and only went up from there, with double/triple bonuses, skill-based bonuses, and even-odds doubling.
these all hold true if the game was fair.
if.
cheating
spoiler: the game isn't fair. we're at 7676 characters, and it's time to go into the Bullshit.
note: i still do not fully understand this game's internal mechanisms behind the scenes. i have been slowly sleuthing some of it out. some code is shared between jackpot and dian shi ma li, so i've been updating both games' disassemblies at the same time.
that said:
reel
i do not entirely understand how the reel's cheating works. the game has a bug where you can press the start button while the main reel is spinning to queue 100 credits as well.
there are a few counters that the game updates; one appears to roughly track 80% of the amount of money put into the machine. i do not know what this one does yet.
a "payout limit" is tied to the "base payout" of a symbol; for this counter's purpose, it is the number above the symbol on the board, with the coin counting for 30. if you would win, the game takes the base payout for the symbol and checks it against the "payout limit"; if the limit has gotten too low, it will reroll, otherwise it will subtract the base payout from the limit and allow a win. it may also just always allow cherries. i'm not confident.
in addition to the game's "automatic" cheating, there are dipswitch2-enabled cheats that can be toggled on on a per-spin basis:
- forcing one of the "grouped" symbols (orange, lime, bell, melon, star, seven)
- forcing a melon, coin, star, or seven
- forcing a melon, coin, star, or melon (hmm...)
- forcing a bar
these will override whatever the game would otherwise do.
the group symbol payouts are not entirely deciphered yet. in some cases it will forbid the highest option from being selected; it may also check against the payout limit.
double-triple bonus
again, i do not entirely understand how this game works. what i do know:
- if $4FD is clear, the triple mushroom is allowed to roll.
- if $4FD is set, the triple mushroom is only allowed if the winning symbol was a cherry.
- if the rolled symbol (from the internal reel) matches, the base payout is temporarily doubled. otherwise, if it was a triple mushroom, it is tripled.
- the game will then check if the base payout is allowed from the payout limit, mentioned above. if it would exceed the limit, the result is rerolled until it doesn't.
there is a flag that determines if the limit is checked or not, like the reels. i am not sure how it operates yet.
the double-triple game also has dipswitch2-enabled cheats; one will make the game always produce the correct symbol for double, and the other will always result in a triple mushroom. both of these will override the game's auto-cheating behavior.
hi-lo game
the card game is a lie. it is a complete sham; the cards are completely irrelevant to the outcome of the game.
the hi-lo game actually works by rolling a number from 0 to 99, and comparing it against a threshold. if you roll lower than the threshold, you win; otherwise, you lose. choosing "big" or "small" has no imapct on the outcome.
there normal thresholds the game can use are 38 / 42, or 42 / 46; neither of these are fair (50).
there is also a second routine that is run, that checks if you have won "too much", and if so adjusts the odds against you:
consider_alternate_threshold:
PotentialCredits = CurrentWinnings * 2 + CurrentCredits
if (PotentialCredits ≤ CreditsHold)
// use "normal" threshold
return false
if (CurrentWinnings > CurrentCredits)
// impossible to win
threshold = 0
else
// slightly over 1/4 chance
threshold = 28
"creditshold" is that ~80% counter mentioned earlier.
basically, your chances are bad and only get worse. after a certain point, the game is simply impossible to win.
once it rolls a number from 0 to 99, it compares it against the chosen threshold and determines if you won or lost.
as to how the card portion actually works; it keeps a list of the last few cards it has shown you. when it has decided if you win or lose, it chooses a random card that both has not appeared already and which fits the desired outcome. the game will simply never draw a card that would cause the "wrong" outcome. if you try forcing the game to draw the wrong card (freeze $460), it will softlock until the cheat is removed.
the hi-lo game also has dipswitch2-enabled cheats. one option sets the next hi-lo game to be a loss; the other one queues up forced wins, up to a limit. after the forced wins have happened, the next game will be a loss 100% of the time.
dipswitch2
the game normally never checks this value outside of the hidden dipswitch screen; the routine that would check it is stubbed with a RTS, though they left the rest of the code in. game genie code XVZLSS will remove the block and allow the game to check it normally.
in addition, the cheats are only effective if dipswitch1's highest bit is enabled, and it normally is not. to get around this, set the highest bit at $06F8.
once both of these are taken care of, toggle the following bit on and off to trigger its effect:
- 7: queues a hi-lo win, up to 6 max.
- 6: double-triple always awards double.
- 5: (unknown)
- 4: double-triple always awards triple.
- 3: reel gives "grouped" symbol
- 2: reel gives melon/coin/star/seven
- 1: reel gives melon/coin/star/melon
- 0: reel gives bar
in addition, player 2's start button will queue a hi-lo loss.
all of these cheats are cleared after a spin resolves. you can queue additional hi-lo wins or losses while in that game as well.
what i find most interesting is that the toggle behavior of these makes them feel more like they're supposed to be buttons. that sort of is the case for "SW3", a supposed third switch; in game it is simply the second player's joypad inputs.
everything about this game is bizarre, and that's why it's so fun to pick through. there's so much to find and so many weird mechanics to understand, and all for... what? why?
anyway, that's about it. it's imitating some "mario fruit machine"-type thing that i've never quite found the correct description of, but most physical machines also have a similar hi-lo-style game (just without cards).
still so much to uncover. this post came in at over 15,000 characters. whoof. time to go do something else for a while


