Originally posted by: mbd39
Originally posted by: arch_8ngel
Originally posted by: mbd39
2.) 180k in Marble Madness.
Did our resident experts ever figure out the exact mechanics of the wand?
I don't think so. It looked like Bea was making some progress with analyzing the code, but it's still a mystery.
I just want to figure out how to not choke at the ultimate race when I have the opportunity for 180k.
Actually, in terms of code, we know exactly what causes the wands to spawn:
http://nintendoage.com/forum/mess...
Originally posted by: Bea_Iank
Using new found tools on FCEUX... it boils down to $04 being equal 82 after a set of calculations.
f5156 c153519558 A:03 X:00 Y:FF S:FF P:nvUBdIzc $9B71:20 22 FC JSR $FC22
f5156 c153519564 A:03 X:00 Y:FF S:FD P:nvUBdIzc $FC22:A5 04 LDA $0004 = #$A7
f5156 c153519567 A:A7 X:00 Y:FF S:FD P:NvUBdIzc $FC24:29 48 AND #$48
f5156 c153519569 A:00 X:00 Y:FF S:FD P:nvUBdIZc $FC26:69 38 ADC #$38
f5156 c153519571 A:38 X:00 Y:FF S:FD P:nvUBdIzc $FC28:0A ASL
f5156 c153519573 A:70 X:00 Y:FF S:FD P:nvUBdIzc $FC29:0A ASL
f5156 c153519575 A:E0 X:00 Y:FF S:FD P:NvUBdIzc $FC2A:26 06 ROL $0006 = #$25
f5156 c153519580 A:E0 X:00 Y:FF S:FD P:nvUBdIzc $FC2C:26 05 ROL $0005 = #$A4
f5156 c153519585 A:E0 X:00 Y:FF S:FD P:nvUBdIzC $FC2E:26 04 ROL $0004 = #$A7
f5156 c153519590 A:E0 X:00 Y:FF S:FD P:nvUBdIzC $FC30:E6 04 INC $0004 = #$4F
f5156 c153519595 A:E0 X:00 Y:FF S:FD P:nvUBdIzC $FC32:A5 04 LDA $0004 = #$50
f5156 c153519598 A:50 X:00 Y:FF S:FD P:nvUBdIzC $FC34:65 0B ADC $000B = #$06
f5156 c153519601 A:57 X:00 Y:FF S:FD P:nvUBdIzc $FC36:65 0C ADC $000C = #$00
f5156 c153519604 A:57 X:00 Y:FF S:FD P:nvUBdIzc $FC38:65 07 ADC $0007 = #$FF
f5156 c153519607 A:56 X:00 Y:FF S:FD P:nvUBdIzC $FC3A:65 08 ADC $0008 = #$00
f5156 c153519610 A:57 X:00 Y:FF S:FD P:nvUBdIzc $FC3C:65 09 ADC $0009 = #$00
f5156 c153519613 A:57 X:00 Y:FF S:FD P:nvUBdIzc $FC3E:65 0A ADC $000A = #$ED
f5156 c153519616 A:44 X:00 Y:FF S:FD P:nvUBdIzC $FC40:69 0D ADC #$0D
f5156 c153519618 A:52 X:00 Y:FF S:FD P:nvUBdIzc $FC42:85 04 STA $0004 = #$50
f5156 c153519621 A:52 X:00 Y:FF S:FD P:nvUBdIzc $FC44:60 RTS (from $FC22) ---------------------------
f5156 c153519627 A:52 X:00 Y:FF S:FF P:nvUBdIzc $9B74:C9 52 CMP #$52
Now to figure out what affects $04 so we can have it happen on a more controlled fashion.
And gods, that wand spawning generates a TON of code to wade through. >.>
Originally posted by: Bea_Iank
Values are valid for the 90 angles input:
UP: 08
DOWN: 04
LEFT: 02
RIGHT: 01
B: 128
A: 64
For pressing a combination of keys, sum their value up.
Those values will be held on $000B for as long as you hold the keys. They will be stored in $000C for the tick you pressed them. And it stores the key it identified being pressed first on $000C, zeroes it the next frame and it won't be set again till you let go all the keys since the input chain started.
But I couldn't be bothered to come up with a set of inputs that would cause $04 to be 0x82 and cause a wand to spawn.