Thread: Research: [Gold/Silver] Running Shoes
View Single Post
Old August 3rd, 2010 (7:09 AM).
Full Metal's Avatar
Full Metal Full Metal is offline
C(++) Developer.
  • Silver Tier
Join Date: Jan 2008
Location: In my mind.
Age: 22
Gender: Male
Nature: Timid
Posts: 806
The following:

call $4017 (CD 17 40) - This is what was originally at 10000, to make sure nothing "screws up" we'll just move it here.
ld de,$D682 (11 82 D6) - Loads D682 from the ram into de (which is what determines if Hiro is on the bike or not)
ld c,$04 (0E 04) - Since the RAM uses the same location to check if you are surfing (identified with 04), let's make sure this function does nothing if you are surfing.
ld a,[de] (1A) - Puts the contents of de (D682 in RAM) into a.
sbc a,c (99) - Subtracts c from a
jr z,$7E8B (28 18) - Checks if a is equal to 0. If so, jump ahead 18 bytes which is ret (C9), ending the function. Since a can only equal 0 if it was previous 4, this will only happen if you are surfing.
and 02 (E6 02) - so it reset all bits but the "B"-bit
rcc, a (CB 0F) - shifts the bits in A down 1, changing 2 into 1.
ld de,$D682 (11 82 D6) - loads D682 into de again
ld [de],a (12) - Puts the contents of a into de.
ret (C9)

could also be repointed, correct?
I'm thinking I might use this as a test for my new package system I'm making.
If it's alright with you, could I post the finished package on this thread for the metal gen. hackers to test?

★ full metal.

I like to push it,
and push it,
until my luck is over.
Reply With Quote