Skip to content

Simple mario game - Infinite lives

-migrated-

11 posts

Simple mario game - Infinite lives

Posted Sep 22, 2009 8:07 pm

http://www.y8.com/games/Marios_Adventure_2

Got an assignment for school on this and its driving me insane. The controls are so bullshit, you cant jump from block to block.

Anyways, i've tried using unknown initial value and doing decreaseing/increasing, *8, *4,*2, *1.

Probably needs an aob?

+1 for who gets it (broken image removed)

Re: Simple mario game - Infinite lives

Posted Sep 22, 2009 8:44 pm

What exactly do you need?
Here's something:

Start with 255 lives:
96 07 00 08 06 07 05 00 00 00 => 96 07 00 08 06 07 FF 00 00 00

Get 50 coins for each coin:
96 05 00 07 01 00 00 00 47 4f 00 => 96 05 00 07 32 00 00 00 47 4f 00

For some reason my "don't lose lives" AoB doesn't work, if you still need it tell me, although I guess the 255 lives are enough.

EDIT: Got it!
Don't lose lives:
96 02 00 05 00 49 12 9d 02 00 22 00 =>96 02 00 05 00 49 02 99 02 00 22 00

Have fun (broken image removed)

Re: Simple mario game - Infinite lives

Posted Sep 22, 2009 9:01 pm

Beef, you are amazing. And i'm sure 255 lives would have been enough, but you went over and beyond.

If i could give you +2 i really would lol

Re: Simple mario game - Infinite lives

Posted Sep 23, 2009 1:11 am

Its a programming class where they are teaching the basics of game building. and in order to make a good game, you need to find what makes a game bad or good. So we had to review this one. Although it was bugging the hell out of me that I couldn't beat it because of the stupid small blocks they want you to jump on

Re: Simple mario game - Infinite lives

Posted Sep 23, 2009 6:50 am

What scared me is that I can read Beef's AoB arrays and know what they do without looking up the op-codes! (Reminds me of when I were a lad and used to have to mentally disassemble 6502 machine code - as we didn't have enough memory for a disassembler).

Just one question, to alter the branch you're changing:
96 02 00 05 00 49 12 9d 02 00 22 00 =>96 02 00 05 00 49 02 99 02 00 22 00

Which is essentially:

Code: [Select]

push true
equals
not
btrue #22
to:

Code: [Select]

push true
equals
nop
balways #22
Why the nop replacing not? As the stack should be relatively clear at this point, is this bit needed? Is there something I haven't seen?

Re: Simple mario game - Infinite lives

Posted Sep 23, 2009 6:58 pm

Actually Deity, I just put it on there because I wasn't sure if the not will do somthing or not, and was too lazy to actually check (broken image removed)
I think it'll be ok with a not too.

Also, I can read the AoBs and understand them without seeing the opcodes as well - When I find AoBs I just see what the AoB is and then think how toc hange it and check it, I don't actually change the opcodes with flasm etc.. I remember the usual bytes/opcodes now, after findig AoBs for a few days (broken image removed)

Re: Simple mario game - Infinite lives

Posted Sep 24, 2009 6:42 am

i dont use flasm, but i still need to see what bytes belong to what, and there are probs aswell. I dk if this is what you two talk about or if you only need to see bytes and know what they do

Re: Simple mario game - Infinite lives

Posted Sep 24, 2009 11:16 am

Well obviously if I'm doing something with srings I have to know the constant pool, but as far as to know what 96 does or 4e or 1c etc I can understand it pretty easily without seeing the opcodes.

Re: Simple mario game - Infinite lives

Posted Sep 24, 2009 3:43 pm

I was referring to the point that I have to look up the op-code less and less, showing that I'm commiting these op-codes to long-term memory, probably taking up space that'd be used by more normal stuff like remembering to pay the bills.

For example I can still remember that A9 is LDA immediate in 6502 machine code, 15-odd years after I last touched it...

Re: Simple mario game - Infinite lives

Posted Sep 24, 2009 5:42 pm
Quote from: "deity"
I was referring to the point that I have to look up the op-code less and less, showing that I'm commiting these op-codes to long-term memory, probably taking up space that'd be used by more normal stuff like remembering to pay the bills.

For example I can still remember that A9 is LDA immediate in 6502 machine code, 15-odd years after I last touched it...


Opcodes > Paying your bills.