Bullet Killer [Fishguy]
Press and hold your activate to mimic a very fast bullet bill.
NTSC-U
C252DD68 0000000A
3CA0809C 80A58F28
80A50064 9421FFB0
BDC10008 A1C5000A
81E5001C 82050020
7DCE2A14 7DEF7214
7E107214 3DC08150
91EE0000 920E0004
39E00000 91EE0008
91EE000C B9C10008
38210050 00000000
04597350 80030008
2834XXXX YYYYZZZZ
C2597350 00000012
80030008 9421FFB0
BDC10008 3DC08150
822E0000 824E0004
826E0008 828E000C
3A310008 3A520008
1E140010 7E528214
8A120000 1DF30014
1E100014 7DEF8214
7E317A14 8A120001
3A10FFFF 7C138000
41810024 82110000
92030000 82110004
92030004 82110008
92030008 3A730001
48000010 8A120008
920E000C 3A600000
926E0008 B9C10008
38210050 00000000
E0000000 80008000
PAL
C25328B0 0000000A
3CA0809C 80A5D6E8
80A50064 9421FFB0
BDC10008 A1C5000A
81E5001C 82050020
7DCE2A14 7DEF7214
7E107214 3DC08150
91EE0000 920E0004
3DE00000 91EE0008
91EE000C B9C10008
38210050 00000000
045A2388 80030008
2834XXXX YYYYZZZZ
C25A2388 00000012
80030008 9421FFB0
BDC10008 3DC08150
822E0000 824E0004
826E0008 828E000C
3A310008 3A520008
1E140010 7E528214
8A120000 1DF30014
1E100014 7DEF8214
7E317A14 8A120001
3A10FFFF 7C138000
41810024 82110000
92030000 82110004
92030004 82110008
92030008 3A730001
48000010 8A120008
920E000C 3A600000
926E0008 B9C10008
38210050 00000000
E0000000 80008000
NTSC-J
C2532230 0000000A
3CA0809C 80A5C748
80A50064 9421FFB0
BDC10008 A1C5000A
81E5001C 82050020
7DCE2A14 7DEF7214
7E107214 3DC08150
91EE0000 920E0004
3DE00000 91EE0008
91EE000C B9C10008
38210050 00000000
045A1D08 80030008
2834XXXX YYYYZZZZ
C25A1D08 00000012
80030008 9421FFB0
BDC10008 3DC08150
822E0000 824E0004
826E0008 828E000C
3A310008 3A520008
1E140010 7E528214
8A120000 1DF30014
1E100014 7DEF8214
7E317A14 8A120001
3A10FFFF 7C138000
41810024 82110000
92030000 82110004
92030004 82110008
92030008 3A730001
48000010 8A120008
920E000C 3A600000
926E0008 B9C10008
38210050 00000000
E0000000 80008000
NTSC-K
C2520908 0000000A
3CA0809B 80A5BD28
80A50064 9421FFB0
BDC10008 A1C5000A
81E5001C 82050020
7DCE2A14 7DEF7214
7E107214 3DC08150
91EE0000 920E0004
3DE00000 91EE0008
91EE000C B9C10008
38210050 00000000
045903E0 80030008
2833XXXX YYYYZZZZ
C25903E0 00000012
80030008 9421FFB0
BDC10008 3DC08150
822E0000 824E0004
826E0008 828E000C
3A310008 3A520008
1E140010 7E528214
8A120000 1DF30014
1E100014 7DEF8214
7E317A14 8A120001
3A10FFFF 7C138000
41810024 82110000
92030000 82110004
92030004 82110008
92030008 3A730001
48000010 8A120008
920E000C 3A600000
926E0008 B9C10008
38210050 00000000
E0000000 80008000
Code creator: Fishguy
Code credits: TheMrx1983, MrBean
Source1:
#Address ports
#8052DD68 NTSC-U
#805328B0 PAL
#80532230 NTSC-J
#80520908 NTSC-K
#Get location of KMP
#usa 0x809B8F28
#pal 0x809BD6E8
#japan 0x809BC748
#korea 0x809ABD28
.set region, '' #Set to e,p,j, or k
.if (region == 'E' || region == 'e') # RMCE
lis r5, 0x809C
.elseif (region == 'P' || region == 'p') # RMCP
lis r5, 0x809C
.elseif (region == 'J' || region == 'j') # RMCJ
lis r5, 0x809C
.elseif (region == 'K' || region == 'k') # RMCK
lis r5, 0x809B
.else # Invalid Region
.err
.endif
.if (region == 'E' || region == 'e') # RMCE
lwz r5, 0xFFFF8F28 (r5)
.elseif (region == 'P' || region == 'p') # RMCP
lwz r5, 0xFFFFD6E8 (r5)
.elseif (region == 'J' || region == 'j') # RMCJ
lwz r5, 0xFFFFC748 (r5)
.elseif (region == 'K' || region == 'k') # RMCK
lwz r5, 0xFFFFBD28 (r5)
.else # Invalid Region
.err
.endif
lwz r5,0x64(r5)
#push
stwu r1,-80(r1)
stmw r14,8(r1)
#Get necessary info
lhz r14,0x0A(r5) #length of header
lwz r15,0x1C(r5) #ITPT section offset
lwz r16,0x20(r5) #ITPH section offset
#Sum up the offsets to get locations in mem
add r14, r14, r5
add r15, r15, r14
add r16, r16, r14
#Store the pointers somewhere accessible
lis r14, 0x8150
stw r15,0(r14) #Store ITPT location
stw r16,4(r14) #Store ITPH location
#Set initial section and group
lis r15, 0
stw r15,8(r14)
stw r15,12(r14)
#pop
lmw r14,8(r1)
addi r1,r1,80
Source2:
#Address Ports
#80597350 NTSC-U
#805A2388 PAL
#805A1D08 NTSC-J
#805903E0 NTSC-K
lwz r0,8(r3) #Default instruction
#push
stwu r1,-80(r1)
stmw r14,8(r1)
lis r14, 0x8150
lwz r17,0(r14) #Get ITPT location
lwz r18,4(r14) #get ITPH location
lwz r19,8(r14) #Load current section
lwz r20,12(r14) #Load current group
#Skip section header
addi r17, r17, 0x08
addi r18, r18, 0x08
#ITPH interpreter
mulli r16, r20, 0x10 #Current group
add r18, r18, r16
lbz r16,0(r18)
#ITPT interpreter
mulli r15, r19, 0x14 #Current section
mulli r16, r16, 0x14
add r15, r15, r16
add r17, r17, r15
#Get number of ITPT entries in current group
lbz r16,1(r18)
subi r16, r16, 1
#Check current section to max entries
cmpw r19, r16
bgt setnextgroup
#Get item point coordinate and store to player
lwz r16,0(r17)
stw r16,0(r3)
lwz r16,4(r17)
stw r16,4(r3)
lwz r16,8(r17)
stw r16,8(r3)
addi r19, r19, 1 #increment for next section
b continue
setnextgroup:
lbz r16,8(r18)
stw r16,12(r14) #set next group
li r19,0
continue:
stw r19,8(r14) #set next section
#pop
lmw r14,8(r1)
addi r1,r1,80
Press and hold your activate to mimic a very fast bullet bill.
NTSC-U
C252DD68 0000000A
3CA0809C 80A58F28
80A50064 9421FFB0
BDC10008 A1C5000A
81E5001C 82050020
7DCE2A14 7DEF7214
7E107214 3DC08150
91EE0000 920E0004
39E00000 91EE0008
91EE000C B9C10008
38210050 00000000
04597350 80030008
2834XXXX YYYYZZZZ
C2597350 00000012
80030008 9421FFB0
BDC10008 3DC08150
822E0000 824E0004
826E0008 828E000C
3A310008 3A520008
1E140010 7E528214
8A120000 1DF30014
1E100014 7DEF8214
7E317A14 8A120001
3A10FFFF 7C138000
41810024 82110000
92030000 82110004
92030004 82110008
92030008 3A730001
48000010 8A120008
920E000C 3A600000
926E0008 B9C10008
38210050 00000000
E0000000 80008000
PAL
C25328B0 0000000A
3CA0809C 80A5D6E8
80A50064 9421FFB0
BDC10008 A1C5000A
81E5001C 82050020
7DCE2A14 7DEF7214
7E107214 3DC08150
91EE0000 920E0004
3DE00000 91EE0008
91EE000C B9C10008
38210050 00000000
045A2388 80030008
2834XXXX YYYYZZZZ
C25A2388 00000012
80030008 9421FFB0
BDC10008 3DC08150
822E0000 824E0004
826E0008 828E000C
3A310008 3A520008
1E140010 7E528214
8A120000 1DF30014
1E100014 7DEF8214
7E317A14 8A120001
3A10FFFF 7C138000
41810024 82110000
92030000 82110004
92030004 82110008
92030008 3A730001
48000010 8A120008
920E000C 3A600000
926E0008 B9C10008
38210050 00000000
E0000000 80008000
NTSC-J
C2532230 0000000A
3CA0809C 80A5C748
80A50064 9421FFB0
BDC10008 A1C5000A
81E5001C 82050020
7DCE2A14 7DEF7214
7E107214 3DC08150
91EE0000 920E0004
3DE00000 91EE0008
91EE000C B9C10008
38210050 00000000
045A1D08 80030008
2834XXXX YYYYZZZZ
C25A1D08 00000012
80030008 9421FFB0
BDC10008 3DC08150
822E0000 824E0004
826E0008 828E000C
3A310008 3A520008
1E140010 7E528214
8A120000 1DF30014
1E100014 7DEF8214
7E317A14 8A120001
3A10FFFF 7C138000
41810024 82110000
92030000 82110004
92030004 82110008
92030008 3A730001
48000010 8A120008
920E000C 3A600000
926E0008 B9C10008
38210050 00000000
E0000000 80008000
NTSC-K
C2520908 0000000A
3CA0809B 80A5BD28
80A50064 9421FFB0
BDC10008 A1C5000A
81E5001C 82050020
7DCE2A14 7DEF7214
7E107214 3DC08150
91EE0000 920E0004
3DE00000 91EE0008
91EE000C B9C10008
38210050 00000000
045903E0 80030008
2833XXXX YYYYZZZZ
C25903E0 00000012
80030008 9421FFB0
BDC10008 3DC08150
822E0000 824E0004
826E0008 828E000C
3A310008 3A520008
1E140010 7E528214
8A120000 1DF30014
1E100014 7DEF8214
7E317A14 8A120001
3A10FFFF 7C138000
41810024 82110000
92030000 82110004
92030004 82110008
92030008 3A730001
48000010 8A120008
920E000C 3A600000
926E0008 B9C10008
38210050 00000000
E0000000 80008000
Code creator: Fishguy
Code credits: TheMrx1983, MrBean
Source1:
#Address ports
#8052DD68 NTSC-U
#805328B0 PAL
#80532230 NTSC-J
#80520908 NTSC-K
#Get location of KMP
#usa 0x809B8F28
#pal 0x809BD6E8
#japan 0x809BC748
#korea 0x809ABD28
.set region, '' #Set to e,p,j, or k
.if (region == 'E' || region == 'e') # RMCE
lis r5, 0x809C
.elseif (region == 'P' || region == 'p') # RMCP
lis r5, 0x809C
.elseif (region == 'J' || region == 'j') # RMCJ
lis r5, 0x809C
.elseif (region == 'K' || region == 'k') # RMCK
lis r5, 0x809B
.else # Invalid Region
.err
.endif
.if (region == 'E' || region == 'e') # RMCE
lwz r5, 0xFFFF8F28 (r5)
.elseif (region == 'P' || region == 'p') # RMCP
lwz r5, 0xFFFFD6E8 (r5)
.elseif (region == 'J' || region == 'j') # RMCJ
lwz r5, 0xFFFFC748 (r5)
.elseif (region == 'K' || region == 'k') # RMCK
lwz r5, 0xFFFFBD28 (r5)
.else # Invalid Region
.err
.endif
lwz r5,0x64(r5)
#push
stwu r1,-80(r1)
stmw r14,8(r1)
#Get necessary info
lhz r14,0x0A(r5) #length of header
lwz r15,0x1C(r5) #ITPT section offset
lwz r16,0x20(r5) #ITPH section offset
#Sum up the offsets to get locations in mem
add r14, r14, r5
add r15, r15, r14
add r16, r16, r14
#Store the pointers somewhere accessible
lis r14, 0x8150
stw r15,0(r14) #Store ITPT location
stw r16,4(r14) #Store ITPH location
#Set initial section and group
lis r15, 0
stw r15,8(r14)
stw r15,12(r14)
#pop
lmw r14,8(r1)
addi r1,r1,80
Source2:
#Address Ports
#80597350 NTSC-U
#805A2388 PAL
#805A1D08 NTSC-J
#805903E0 NTSC-K
lwz r0,8(r3) #Default instruction
#push
stwu r1,-80(r1)
stmw r14,8(r1)
lis r14, 0x8150
lwz r17,0(r14) #Get ITPT location
lwz r18,4(r14) #get ITPH location
lwz r19,8(r14) #Load current section
lwz r20,12(r14) #Load current group
#Skip section header
addi r17, r17, 0x08
addi r18, r18, 0x08
#ITPH interpreter
mulli r16, r20, 0x10 #Current group
add r18, r18, r16
lbz r16,0(r18)
#ITPT interpreter
mulli r15, r19, 0x14 #Current section
mulli r16, r16, 0x14
add r15, r15, r16
add r17, r17, r15
#Get number of ITPT entries in current group
lbz r16,1(r18)
subi r16, r16, 1
#Check current section to max entries
cmpw r19, r16
bgt setnextgroup
#Get item point coordinate and store to player
lwz r16,0(r17)
stw r16,0(r3)
lwz r16,4(r17)
stw r16,4(r3)
lwz r16,8(r17)
stw r16,8(r3)
addi r19, r19, 1 #increment for next section
b continue
setnextgroup:
lbz r16,8(r18)
stw r16,12(r14) #set next group
li r19,0
continue:
stw r19,8(r14) #set next section
#pop
lmw r14,8(r1)
addi r1,r1,80