hi,
i have a problem to shorten this small code.
48000000 801B96EC
DE000000 80008180
1200C562 00000000
E2000001 80008000
48000000 801B96EC
DE000000 80008180
1200CD82 00000000
E2000001 80008000
48000000 801B96EC
DE000000 80008180
1200D5A2 00000000
E2000001 80008000
48000000 801B96EC
DE000000 80008180
1200DDC2 00000000
E2000001 80008000
48000000 801B96EC
DE000000 80008180
1200E5E2 00000000
E2000001 80008000
48000000 801B96EC
DE000000 80008180
1200EE02 00000000
E2000001 80008000
48000000 801B96EC
DE000000 80008180
1200F622 00000000
E2000001 80008000
48000000 801B96EC
DE000000 80008180
1200FE42 00000000
E2000001 80008000
48000000 801B96EC
DE000000 80008180
12010662 00000000
E2000001 80008000
48000000 801B96EC
DE000000 80008180
12010E82 00000000
E2000001 80008000
48000000 801B96EC
DE000000 80008180
120116A2 00000000
E2000001 80008000
48000000 801B96EC
DE000000 80008180
12011EC2 00000000
E2000001 80008000
48000000 801B96EC
DE000000 80008180
120126E2 00000000
E2000001 80008000
48000000 801B96EC
DE000000 80008180
12012F02 00000000
E2000001 80008000
48000000 801B96EC
DE000000 80008180
12013722 00000000
E2000001 80008000
48000000 801B96EC
DE000000 80008180
12013F42 00000000
E2000001 80008000
48000000 801B96EC
DE000000 80008180
12014762 00000000
E2000001 80008000
48000000 801B96EC
DE000000 80008180
12014F82 00000000
E2000001 80008000
48000000 801B96EC
DE000000 80008180
120157A2 00000000
E2000001 80008000
48000000 801B96EC
DE000000 80008180
12015FC2 00000000
E2000001 80008000
48000000 801B96EC
DE000000 80008180
120167E2 00000000
E2000001 80008000
48000000 801B96EC
DE000000 80008180
12017002 00000000
E2000001 80008000
48000000 801B96EC
DE000000 80008180
12017822 00000000
E2000001 80008000
48000000 801B96EC
DE000000 80008180
12018042 00000000
E2000001 80008000
48000000 801B96EC
DE000000 80008180
12018862 00000000
E2000001 80008000
48000000 801B96EC
DE000000 80008180
12019082 00000000
E2000001 80008000
48000000 801B96EC
DE000000 80008180
120198A2 00000000
E2000001 80008000
48000000 801B96EC
DE000000 80008180
1201A0C2 00000000
E2000001 80008000
48000000 801B96EC
DE000000 80008180
1201A8E2 00000000
E2000001 80008000
29 codes and also an offset of 0x0820.
i already gave it a try, but i had no success..
48000000 801B96EC
DE000000 80008180
1800C562 00000000
?? ?? ?? ?? 00000000
E0000000 80008000
can someone tell me, how to shorten these codes?
48000000 801B96EC
DE000000 80008180
1200C562 00000000
1200CD82 00000000
1200D5A2 00000000
1200DDC2 00000000
1200E5E2 00000000
1200EE02 00000000
1200F622 00000000
1200FE42 00000000
12010662 00000000
12010E82 00000000
120116A2 00000000
12011EC2 00000000
120126E2 00000000
12012F02 00000000
12013722 00000000
12013F42 00000000
12014762 00000000
12014F82 00000000
120157A2 00000000
12015FC2 00000000
120167E2 00000000
12017002 00000000
12017822 00000000
12018042 00000000
12018862 00000000
12019082 00000000
120198A2 00000000
1201A0C2 00000000
1201A8E2 00000000
E0000000 80008000
Never use this again -> E2000001 80008000
It doesn´t exist and is wrong.
Serial Write could be used aswell:
[spoiler]1800C562 00000000
101C0020 00000000
# example for writing value 0 (16bit) to 29 offsets, beginning at 0xC562 with distance 0x20.
______ + ba = Initial Address
X = Initial value for the RAM write
T = Value Size (0 = byte, 1 = halfword, 2 = word)
N = Amount of additional addresses to write to (the first is assumed)
Z = Address Increment; in bytes (How many To skip By)
V = Value Increment (How much to add to the value after each additional RAM write)[/spoiler]
ASM may do wonders here. xP
ahh, thank you^^
but i mean a code looking like this system:
enemies' lap counter is freezed at lap 1
48000000 801B96EC
DE000000 80008180
1800C562 00000000 // C562 = smallest offset from pointer (i hope i defined it correctly)
?? ??0820 00000000 // 0820 = distance between ponter's offset to the following pointer's offset
E0000000 80008000
1A8E2 is the biggest offset from the pointer. so do i have to include it into the line of the unknown value?
i know that code system works, because i know some codes looking like this. but i still do not know how the unknown digits will come into being.
and as you can see, it's a 18-code
here is an example how a code like this looks like:
one hit kills [codejunkies]
48000000 801B61AC
DE000000 80C080D0
18000768 00000000
201D0620 00000000
E0000000 80008000
Quote from: CosmoCortney on July 01, 2012, 04:15:08 PM
enemies' lap counter is freezed at lap 1
48000000 801B96EC
DE000000 80008180
1800C562 00000000 // C562 = smallest offset from pointer (i hope i defined it correctly)
?? ??0820 00000000 // 0820 = distance between ponter's offset to the following pointer's offset
E0000000 80008000
one hit kills [codejunkies]
48000000 801B61AC
DE000000 80C080D0
18000768 00000000
201D0620 00000000
E0000000 80008000
Well, I dunno about you guys, but pointers confuse me sometimes, so I'll assume we're using a ba for an example... :$
Well, it goes as bully says
08______ xxxxxxxx <- this first line you treat like a basic 32-bit RAM write. X = value for the address at ________ + ba, the 08 line.
TNNNZZZZ 00000000
T = Value size, 0= byte, 1= half word, 2= or a word(32-bit)
N = How many addresses to write to, where the first is assumed.
Z = How far apart the addresses are, in bytes.
V = value increment on addresses. So, let's dissect someones code.
one hit kills [codejunkies] 48000000 801B61AC DE000000 80C080D0 18000768 00000000 201D0620 00000000 E0000000 80008000
Okay, so the initial write is at 801B61AC + 768, and the value there is 0.
It is writing a 32-bit value to all of the addresses that this will write to and whrites to 1D addresses. The spacing between the addresses is 620 bytes, and the value increment is 0, so the value doesn't change, it writes 0 to all of them. Hopefully this clears something up.
Also, @Bully, you say E2 doesn't exist, but it is clearly in the codetype document. The only problem with cosmo is that he used it as an E0, which should still work, however E2 is an end to a condition. Or, did I misread the document?
now i see. thank you so much^^
the code also loks like this now:
2017CB5C 01020200 // activates the code when a stage has been loaded (to avoid crashes)
48000000 801B96EC
DE000000 80008180
1800C562 00000000
201D0820 00000000
E0000000 80008000
Quote from: CosmoCortney on July 01, 2012, 05:46:47 PM
2017CB5C 01020200
48000000 801B96EC
DE000000 80008180
1800C562 00000000
101C0820 00000000
E0000000 80008000
1 instead of 2 because it´s a 16bit write.
01C instead of 01D because the first write is assumed and you then want 28 additional ones (= 1C).
i see. i thought the count includes the first count.
but i used 201C0820 instead of 101C0820, to be able to change the value as 32bit code (this code will be used in another code, too, so i need to change the last 32bit value (also 0xXXXXXXXX)
as 16bit write i had some problems
The less bytes are written, the better (in case you don´t need a full 8 digited value). You may run into problems, if you don´t. xD