foone Profile picture
13 Sep, 74 tweets, 15 min read
ugh. I forgot how annoying puzzle games are to put in the generator.
puzzle games are much harder to cheat at!
and this goes to a ridiculous extent.
You see that "CR 2" over on the right? that's the number of credits (lives) you have left.
I CAN'T EVEN FIGURE OUT HOW TO HACK THAT
you might go "isn't that super-easy? just set a search on 2, then lower it to 1, then try again?"
yep, finds two results. neither works. both at once doesn't work.
maybe it's actually encoded as +1 or -1? some games show "lives: 5" when they actually store "lives 6"?

NOPE! tried both.
well fuck it, maybe it's encoded as complete madness. just find any value that doesn't change during a stage, but does change if you die.
yep, found two more.
froze them both, along with the other 2 I found earlier.
lives still go down
maybe lives still going down is an illusion? sometimes games display the lives after a death as the stored value minus one, but the actual value is unchanged?

NOPE! it keeps going down and I game over
so all I can figure is that this game is doing something completely madness like storing your life counter as a few bits inside another memory location, which is being updated for other reasons while the game is being played
and all this was supposed to be STEP ONE to developing more complex hacks to quickly get to the other cutscenes!
STEP ONE IS PROVING TOO HARD AND I HAVE LIKE 35 MORE LEVELS TO HACK THROUGH
maybe I'll just use passwords to jump to the right level, and hey, if it has passwords, maybe I can decode them and generate a password that has 99 lives?

NOPE! NO PASSWORDS
the game really wants you to beat all 99 levels in a single sitting.
but wait, this is one of those games that uses battery-backed SRAM, right? like Legend of Zelda?
So maybe you can hack that and use it to resume at a higher level?

NOPE!
the game does have battery backed RAM but it doesn't use it to store your progress, only your high scores. You can't continue.
actually nevermind I'm completely wrong it turns out I can start at whatever level x5 I want.
it turned out it wasn't showing me this before because I'd messed up my sram by savestating too much
so now that I've got sram, let's delete it!
then get to level 5, save a copy of the sram, then get to level 10, then save another copy and compare them
if we're lucky, one byte in the sram will have previously said "5" and now will say "10" and I can just hack it to say 255
it'll probably have a checksum but I can always cry into my drink
fun fact: it turned out the hardest part of this was losing at round 5.
you basically CAN'T lose on 5. the game keeps accidentally setting up matches and clearing itself
I tried doing nothing and setting the game to max speed and after like 2 emulated minutes, it won for me.
I ended up losing at round 6 which is hopefully close enough
the game's got cutscenes, see? that's why I'm doing this.
And I can't just use one of them, since it turns out they're all slightly different: wario keeps getting bigger.
oh god I'm probably gonna have to repeat this with the SNES version too
but hey, now I have two SRAMs, and I can compare them to see what byte changed!
and the answer is...
about 900 out of 8192 bytes changed.

god damn it nintendo
ok so I probably did it wrong: I reset the sram completely between runs, and maybe the game doesn't initialize ram or something.
I should have started with the 5 SRAM when I made the 10 SRAM, right?
so let's do that.
ok, done.
now I have the sram for 5, and then a second sram where I started off 5 and continued to 10.
and it has fewer bytes different, as I expected!
Now there's only... 874 bytes different.

motherfucker
maybe I should go investigate those nintendo kilo/mega/gigaleaks. maybe they leaked the source code to fucking wario's woods
ok fine what else can I cheat... the timer! the way the game works, you have a timer that's always counting up, which switches your opponent from the questionably gendered Birdo to the Angrily Male Wario.
Maybe I can hack that to stop going up? then I'd be on Easy-Birdo always?
the first question is: is it going up, or down?
it goes right to left but that could mean anything.
there's no values given so all I really know is that it's changing
well fun fact if you freeze BE at 127 it ends up going A LOT FASTER
so maybe don't do that
but surely if freezing it at 127 makes it go faster, freezing it at 0 would make it slower?

you fool. you dare challenge the mighty wario's woods with LOGIC?
no, setting it to 0 makes it go faster too.
but finally, a victory: freezing 0xBD to 0 stops the timer.
but that does still just make the game a bit easier. Birdo isn't as aggressive and doesn't pull the same MEAN TRICKS as Wario but that doesn't mean it's a cakewalk either.
You'll still lose, just slower.
and I'm only on level 64, I gotta get to 99
so I need MORE CHEATS
after extensive attempts to hack the playfield itself I have managed to break the animation
what

I tried freezing literally ALL OF RAM and the bombs keep falling, just slowly now.
HOW DO YOU HAVE SHIT CHANGING WITH NO RAM, GAME?
YOU HAVE ONLY ROM NOW!
the actual answer:
there's RAM in this game that the cheat tool isn't seeing.

either it's
1. registers (unlikely: this is a 6502, there aren't many)
2. CHR RAM (VRAM, basically)
3. some kind of regular RAM mapped in that the cheat codes don't see.
so it turns out it's using an MMC3 and it has 8k of on-board RAM.
And it turns out my cheat tool CAN search that, it just wasn't. Because I'm an idiot.
nesdir.github.io/F79A75D7_USA.h…
and hey, now I can FINALLY get infinite credits.
set 0x0E98 in WRAM to 99 for 99 lives!
I've now managed to convince it that there's nothing in the leftmost column, even if there looks like there is.

which is neat, except there was supposed to be some blocks there, which I now can't delete?
so the level GOES ON FOREVER
this is the opposite of what I wanted, Wario's Woods
hey what if that block on the far left that definitely isn't a bomb... WAS A bomb?
what then, wario's woods?
the problem is that the round still doesn't end: it's keeping a list or counter somewhere else of how many blocks are left, and since I never clear that last block (because it doesn't exist: I turned it into a bomb instead) I can never win
and it turns out that value is at 0D37 (wram) and just counts how many blocks are left.
so when there's 4 and I set it to 2, clearing 2 will instantly end the level!
although it seems it's more complicated than that. (it always is)

at this moment, what do you think it's set to?
49?
nope, just 7.
although 7 is still an interesting value. this screen is 7x7 blocks, so maybe it's stored per row? or per column?
yeah, it must be something like that.
depending on which set of blocks I destroy, 0D35 or 0D36 (which were both also 7) go down to 5
oh duh

it's PER COLOR
0D35: Green
0D36: Orange
0D37: Pink
0D38: White
0D39: Light Blue
0D3A: Red
0D3B: Blue
so what I need to do is: set all of them to 0, then set the color I'm about to trigger to 2, then trigger it.
if I'm right, that'll instantly clear the level
so I line up an orange match, set them all to 0, then set orange too 2, and unpause and trigger the match. BAM!
of course naturally I skip forward a few levels and now I'm dealing with these fuckers: these hatted guys start blinking when you bomb them, then you have to bomb them again real quick to get rid of them, or they revert to normal.
how's this work in RAM?
but why learn something when I can just set up a insta-clear with one of the non-blinking colors?
and these red and blue guys are also tricky: they change color when bombed!
WILL FOONE FINALLY LEARN SOMETHING? OR WILL THEY JUST SET UP A COMBO ON ORANGE OR GREEN OR PINK?
SURPRISE! I learn something:
when you bomb some of the reds to white, it does... exactly what you'd expect.
the red number goes down by 2, the white number goes up by 2.
btw, setting them all to 0 does not work.
they do not check for underflow, so you instead end up with the game thinking you have to destroy 255 more of that color to win the level.
this is what's known in computer science terms as "you're fucked"
finally, the level I've been waiting for.
uhhh

I think I glitched it bad.
Birdo waved and left, like I won the level.
but the level didn't end.
I'm still here.

HELP!
With this action, the thread of prophecy is severed. Restore a saved game to restore the weave of fate, or persist in the doomed world you have created,
well, I beat it manually.
turns out that's not to hard on perma-birdo mode.
ANYWAY this is why I wanted that level: NEXT CUTSCENE!
the next Special Block shouldn't be too hard: they just can only be destroyed diagonally.
So presumably they blow up just fine like all the other blocks
ahh, yes. that's how I address my... I don't actually know. there's a joke here, somewhere.
the ending cutscene (of mode A)
I keep seeing things saying the game has 100 rounds, which'd be wrong because the first level is 1 and you get the cutscene after beating 99, so that's 99 levels, BUT if you wait to the end of the credits you can push a button and WHOOPS ROUND 100?
and just to make sure it wasn't one secret post-credits level making it 100 in total, I beat it, and now I'm in round 101.
yeah I got to 110 without another cutscene. I guess this is just some randomly generated endless mode, or maybe there are more levels on ROM?
turns out I missed a sprite, so I'm back to level 29 to capture it
wario what is your mouth doing down there
both halves, please
WARIO NO

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with foone

foone Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @Foone

14 Sep
oh hey, great.
it's fun when you decide to make a hilarious meme idea you just had and you find out that the first documented instance of it being used as a meme was transphobic
for context: the meme is the "select all squares with " captcha. The first example knowyourmeme documents uses "female" and a picture of Caitlyn Jenner.
I was totally gonna make a version of it that said "floppies" and include pictures of a lot of things that get confused for floppies often, like jaz drives and magneto-optical disks and it was gonna be really funny to, well, me, but now I've lost all the steam to do it ImageImage
Read 74 tweets
14 Sep
December 1985 InfoWorld:
An author puts the first chapter of his book on Compuserve and The Source, and offers 5$ for users to crosspost it to other BBSes/services. electronic books? it'll never catch on.
California was considering workplace safety laws about computer monitors. Interesting.
IBM may have to take back a bunch of PCjrs! terrible, but I'm sure the PCjr will spring back and become a success, any day now.
Read 9 tweets
13 Sep
I thought I'd play Wario's Woods for #NESWeekend but I forgot two key factors:
1. this game doesn't have a score counter
2. even though I haven't played in a year or two, I'm apparently still pretty good at it. I'm on level 61 now and I don't know when to stop
obligatory mention of the one fact anyone mentions about this game:
Because the ESRB was formed in 1994, there are no NES games with ESRB ratings... except this one.
The game was the last officially licensed NES game, which is why it was late enough to have an ESRB rating. It was released simultaneously for SNES and NES, with the tech versions being basically identical other than some graphical differences
Read 5 tweets
12 Sep
Time for another teardown!
This is the Stealseries Sensei [raw] Rubberized gaming mouse, model M-00001, product number 62155.
This is one of the (surprisingly) few mice that have left and right buttons (that can work at the same time), an ambidextrous design, and can be used on linux.
But the right mouse button is going on this one so I gotta replace it.
Opening it up, we see the main PCB
Read 25 tweets
11 Sep
Mini-teardown time:
It's a Unirex 2.0 Alum8gb flash drive.
blank back
Pop! the lanyard end is glued in, and once it's removed the whole internals slide out the back
Read 11 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!