News:

11 March 2016 - Forum Rules

Main Menu

Caesars Palace - NES - Money Hacks

Started by dewdude, September 23, 2019, 10:31:07 AM

Previous topic - Next topic

dewdude

Hi all,

I've noticed over the years there has been a distinct lack of any kind of hacks or game genie codes for Caesars Palace. I don't know if no one ever wanted to do it, or if it was deemed too hard, or unnecessary...but I've spent the last two days in various emulators learning enough 6502 assembly to make some sense out of the debuggers as well as staring at memory locations while doing things. Despite the challenges I was able to come up with some money hacks. I've only come up with what I call a partial hack. I have yet to reverse engineer how the game is storing the actual amount of money you have. But seeing as this game came out in about 1991 and all my Googling turned up nothing...I guess a starting point is better than no point.

RAM Hack:

There's got to be multiple places where your money value is located. So far I've found the locations where it keeps track of how many chips are in each demonination. Maxing these out at hex value FF yields you $35,955:

00A7: Number of $100 chips
00A8: Number of $25 chips
00A9: Number of $10 chips
00AA: Number of $5 chips
00AB: Number of $1 chips

For "unlimited" money you can naturally just apply a ram hack to lock these values at FF. You won't get the money you win, but you'll also never lose any money. Since the game supports more than $35,955 in the bank; I'm clearly missing the memory location that stores the full value...or haven't yet reverse engineered how it stores this information.

Game Genie Codes:

There's also never been any Game Genie codes for the game. I searched and searched before I felt I could make the claim that I've published the very first ones:

NNEKAZTE - Sets $100 chips to "255" at start
NNEKGXZE - Sets $25, $10, and $1 chips to "255" at start
NNOGGXAE - Sets $5 chips to "255" at start

Somewhere between frames 6 and 7 after boot and somewhere around I think scanline 77; the game initializes the values for your chip amounts. IS this the only way the game sets the starting amount of cash? I don't know. I need to see where it's also storing the amount of money and then dig through the debugger to see if that value is touched during the initalization. It's entirely possible these are the limits of what we can do from the ROM side.

I also haven't even begun to figure out anything involving the games. There are so many memory locations updating during those routines...and I really don't know the 6502 at all.

FAST6191

Most of the gambling games are not looked at much as they historically not great examples of the games they want to be. I don't know about this one but the time I was paying attention on the GBA and DS and wanting some decent card game action they pretty much served only as advertisement shovelware, and I would like to believe I would have heard if one of these games had even one of the options be some kind of super fun version of a given game.

"It's entirely possible these are the limits of what we can do from the ROM side."
Doubtful -- if the ROM controls everything then you control everything if you can figure it out.

Anyway seeing the chips create a money store like that probably explains why the classic use one, check, use one, check, use one, check... cheat searching routine presumably did not bring up much of interest here. I don't know what it will do here but might want to see what changes when you win a hand (or finish up) having maxxed out the chip stacks as it will presumably roll over into that. If $100 is the max chip size then OK looking at them all being in a line there then I assume you checked the memory locations immediately before and after that location.

That said you found those locations for the chip stacks then might be time to start looking at those and seeing what the game does there.

dewdude

So what I've been working on is trying to figure out where else it's getting game data. I've been doing this two ways; cheating with Roulette and forcing things in memory and trying to find a result. Cheating in roulette is moderately easy; load the table, save the state, play the round so you can see the result; load the game save; bet a large amount on the already known result; profit. I've watched massive winnings max out the $100 chips to 0xFF; but I have yet to see where the remainder is stored.

I'm also working on this by going "backwards". I take my winnings from roulette, go to at least the $100 slot machines, set my value of $100 chips to 0, then try to see if a memory value decreases when it fills in the $100 chips. So far I've been unable to notice a pattern. It doesn't help that there are several frame counters in memory and a lot of things going on during animations and playing sounds. It's also difficult since I'm having to go back and forth between two emulators. Mesen's disassembler/monitor gives me finer control over monitoring the state of things; I can advance by cycle, PPU, scanline, or frame. The downside is it's only tool for viewing the memory is targeted toward cheat codes...and doesn't refresh with the debugger and also has a pretty lousy viewing system. FCEUX solves those problems; but I can't figure out how to manually make it step so I can try to see what memory location it's modifying when it refills the chips.

Cyneprepou4uk

@dewdude nice story. So what is your question?

Avodroc42

So, first let me apologize for necroing this thread I was looking around for the same information and finding this was helpful but I thought I would add to the information with this,

When the value at $00A7 goes over FF the value at $077E increments to 1 setting $077E to FF gives $6.5m so if you are still looking for a money hack that would be your best bet.

nickjoky

Quote from: Avodroc42 on May 08, 2021, 12:06:33 AM
So, first let me apologize for necroing this thread I was looking around for the same information and finding this was helpful but I thought I would add to the information with this,

When the value at $00A7 goes over FF the value at $077E increments to 1 setting $077E to FF gives $6.5m so if you are still looking for a money hack that would be your best bet.
Hi, thanks for sharing. This is just what I was looking for
I work on fitmymoney.com