Bullet Killer [Fishguy]
#1
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
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)