Event Instruction Main Routine

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search

< BATTLE.BIN

Contents

Start of routine

00143bd8: 27bdffb0 addiu r29,r29,0xffb0   
00143bdc: 34040044 ori r4,r0,0x0044       
00143be0: afbf004c sw r31,0x004c(r29)     
00143be4: afbe0048 sw r30,0x0048(r29)     
00143be8: afb70044 sw r23,0x0044(r29)     
00143bec: afb60040 sw r22,0x0040(r29)     
00143bf0: afb5003c sw r21,0x003c(r29)     
00143bf4: afb40038 sw r20,0x0038(r29)     
00143bf8: afb30034 sw r19,0x0034(r29)     
00143bfc: afb20030 sw r18,0x0030(r29)     
00143c00: afb1002c sw r17,0x002c(r29)     
00143c04: 0c052752 jal 0x00149d48                      # Set Thread Task ID
00143c08: afb00028 sw r16,0x0028(r29)     
00143c0c: 0c04b721 jal 0x0012dc84			# Check If Tutorial Event Slot
00143c10: 00000000 nop                   
00143c14: 10400003 beq r2,r0,0x00143c24                # Branch if not Tutorial Event Slot
00143c18: 00000000 nop                   
00143c1c: 0c04b6f7 jal 0x0012dbdc			# Tutorial thread switching for Event Instructions
00143c20: 00000000 nop                   
00143c24: 3c028016 lui r2,0x8016         
00143c28: 94425ff6 lhu r2,0x5ff6(r2)     
00143c2c: 00000000 nop                   
00143c30: 1440000c bne r2,r0,0x00143c64   
00143c34: 340200aa ori r2,r0,0x00aa       
00143c38: 34100002 ori r16,r0,0x0002     
00143c3c: 0c053274 jal 0x0014c9d0			# Wait For Thread
00143c40: 02002021 addu r4,r16,r0         
00143c44: 26100001 addiu r16,r16,0x0001   
00143c48: 2a02000e slti r2,r16,0x000e     
00143c4c: 1440fffb bne r2,r0,0x00143c3c   
00143c50: 00000000 nop                   
00143c54: 0c04b765 jal 0x0012dd94			# 0012dd94 - 0012ddc0
00143c58: 00000000 nop                   
00143c5c: 08050f21 j 0x00143c84           
00143c60: 00000000 nop                   
00143c64: 3c018017 lui r1,0x8017         
00143c68: a422864a sh r2,-0x79b6(r1)     
00143c6c: 3c018017 lui r1,0x8017         
00143c70: a4228652 sh r2,-0x79ae(r1)     
00143c74: 3c018017 lui r1,0x8017         
00143c78: a422865a sh r2,-0x79a6(r1)     
00143c7c: 3c018017 lui r1,0x8017         
00143c80: a4228662 sh r2,-0x799e(r1)     
00143c84: 0c05214f jal 0x0014853c			# Clear Some Staging Data
00143c88: 00000000 nop                   
00143c8c: 0c04ed64 jal 0x0013b590			# Get Script Variable
00143c90: 340401fd ori r4,r0,0x01fd                    # Var 0x1FD: Battle has not yet begun?
00143c94: 10400006 beq r2,r0,0x00143cb0   
00143c98: 00000000 nop                   
00143c9c: 00002021 addu r4,r0,r0                       # r4 = Unit ID = 0?
00143ca0: 0c052336 jal 0x00148cd8			# Process Unit Staged Status Data
00143ca4: 00002821 addu r5,r0,r0                       # r5 = 0x00, should not apply staged status data to unit       
00143ca8: 08050f2f j 0x00143cbc           
00143cac: 34040028 ori r4,r0,0x0028 
00143cb0: 0c04b639 jal 0x0012d8e4			# Process Inflict Status Event Commands
00143cb4: 00000000 nop                   
00143cb8: 34040028 ori r4,r0,0x0028                    # Var 0x28 (used in tutorials)       
00143cbc: 0c04ed91 jal 0x0013b644			# Set Script Variable
00143cc0: 00002821 addu r5,r0,r0                       # Set to zero
00143cc4: 34040029 ori r4,r0,0x0029                    # Var 0x29 (used in tutorials)
00143cc8: 0c04ed91 jal 0x0013b644			# Set Script Variable
00143ccc: 00002821 addu r5,r0,r0                       # Set to zero
00143cd0: 3404002a ori r4,r0,0x002a                    # Var 0x2A (used in tutorials)
00143cd4: 0c04ed91 jal 0x0013b644			# Set Script Variable
00143cd8: 00002821 addu r5,r0,r0                       # Set to zero
00143cdc: 0c04f680 jal 0x0013da00			# Set Event Speed
00143ce0: 34040001 ori r4,r0,0x0001                    # Speed = 1 (normal)
00143ce4: 0c04b771 jal 0x0012ddc4			# 0012ddc4 - 0012dde4  getting the map rotation value, maybe...?
00143ce8: 0000f021 addu r30,r0,r0         
00143cec: 340303e8 ori r3,r0,0x03e8       
00143cf0: 34100003 ori r16,r0,0x0003     
00143cf4: 3c028016 lui r2,0x8016         
00143cf8: 24425fee addiu r2,r2,0x5fee     
00143cfc: a4430000 sh r3,0x0000(r2)       
00143d00: 2610ffff addiu r16,r16,0xffff   
00143d04: 0601fffd bgez r16,0x00143cfc   
00143d08: 2442fffe addiu r2,r2,0xfffe     
00143d0c: 3c028017 lui r2,0x8017         
00143d10: 8c423ca4 lw r2,0x3ca4(r2)       
00143d14: 00000000 nop                   
00143d18: 005e1021 addu r2,r2,r30         
00143d1c: 24510001 addiu r17,r2,0x0001   
00143d20: 90520001 lbu r18,0x0001(r2)                  # r18 = Parameter 1
00143d24: 90550002 lbu r21,0x0002(r2)                  # r21 = Parameter 2
00143d28: 90560003 lbu r22,0x0003(r2)                  # r22 = Parameter 3
00143d2c: 90570004 lbu r23,0x0004(r2)                  # r23 = Parameter 4
00143d30: 90540000 lbu r20,0x0000(r2)                  # r20 = Event Instruction ID   
00143d34: 0c05181e jal 0x00146078			# Load Halfword | Load event command bytes
00143d38: 02202021 addu r4,r17,r0         
00143d3c: 00409821 addu r19,r2,r0

{C0} non-op

00143d40: 340200c0 ori r2,r0,0x00c0       
00143d44: 12820877 beq r20,r2,0x00145f24
00143d48: 340200f2 ori r2,r0,0x00f2

{F2} Pad (non-op)

00143d4c: 12820875 beq r20,r2,0x00145f24  GOTO END
00143d50: 2682ff60 addiu r2,r20,0xff60    

{A0-A5}

00143d54: 2c420006 sltiu r2,r2,0x0006    
00143d58: 10400005 beq r2,r0,0x00143d70   
00143d5c: 2682ff50 addiu r2,r20,0xff50   
00143d60: 0c0527c4 jal 0x00149f10			# Event Instructions A0-A5
00143d64: 02802021 addu r4,r20,r0         
00143d68: 080517c9 j 0x00145f24           GOTO END
00143d6c: 00000000 nop

{B0-BE}

00143d70: 2c42000f sltiu r2,r2,0x000f     
00143d74: 1040000e beq r2,r0,0x00143db0   
00143d78: 3402004d ori r2,r0,0x004d       
00143d7c: 3c048017 lui r4,0x8017         
00143d80: 8c843ca4 lw r4,0x3ca4(r4)       
00143d84: 3272ffff andi r18,r19,0xffff   
00143d88: 03c42021 addu r4,r30,r4         
00143d8c: 0c05181e jal 0x00146078			# Load Halfword | Load event command bytes
00143d90: 24840003 addiu r4,r4,0x0003     
00143d94: 02802021 addu r4,r20,r0         
00143d98: 02402821 addu r5,r18,r0         
00143d9c: 3046ffff andi r6,r2,0xffff     
00143da0: 0c052806 jal 0x0014a018			# Run Script Variable Command
00143da4: 00003821 addu r7,r0,r0         
00143da8: 080517c9 j 0x00145f24           GOTO END
00143dac: 00000000 nop

{4D}

00143db0: 16820005 bne r20,r2,0x00143dc8 
00143db4: 3402007a ori r2,r0,0x007a       
00143db8: 3c018017 lui r1,0x8017          {4D}
00143dbc: a432d9bc sh r18,-0x2644(r1)     
00143dc0: 080512d0 j 0x00144b40           
00143dc4: 00000000 nop

{7A} DismissUnit

00143dc8: 16820009 bne r20,r2,0x00143df0 
00143dcc: 34020043 ori r2,r0,0x0043       
00143dd0: 0c04ed64 jal 0x0013b590			# Get Script Variable
00143dd4: 340401fc ori r4,r0,0x01fc                    # Var 0x1FC: Brave Story Event?
00143dd8: 14400852 bne r2,r0,0x00145f24                # Branch to END if a Brave Story event
00143ddc: 00132400 sll r4,r19,0x10       
00143de0: 0c04d02b jal 0x001340ac			# Dismiss Unit Event Instruction
00143de4: 00042403 sra r4,r4,0x10         
00143de8: 080517c9 j 0x00145f24           GOTO END
00143dec: 00000000 nop               

{43} CallFunction

00143df0: 16820127 bne r20,r2,0x00144290 
00143df4: 34020099 ori r2,r0,0x0099    
00143df8: 0c053216 jal 0x0014c858			# Wait
00143dfc: 34040004 ori r4,r0,0x0004                    # for a value of 4
00143e00: 0c04ed64 jal 0x0013b590			# Get Script Variable
00143e04: 340401fc ori r4,r0,0x01fc                    # Var 0x1FC: Brave Story Event?
00143e08: 1440004a bne r2,r0,0x00143f34                # Skip 0x01 and 0x06 if a Brave Story event
00143e0c: 34080001 ori r8,r0,0x0001       
0x01: Inventory is reset to New Game inventory and units join silently without a DarkScreen
00143e10: 1648000b bne r18,r8,0x00143e40 
00143e14: 34020006 ori r2,r0,0x0006       
00143e18: 0c04ed64 jal 0x0013b590			# Get Script Variable         
00143e1c: 34040027 ori r4,r0,0x0027                    # Var 0x27: Current Event
00143e20: 2842004e slti r2,r2,0x004e                   # r2 - 0x01 if event ID is below 0x4E
00143e24: 10400003 beq r2,r0,0x00143e34                # Skip resetting the starting inventory if Current Event is 0x4E or higher
00143e28: 00000000 nop                   
00143e2c: 0c010a84 jal 0x00042a10			# Starting Inventory
00143e30: 00000000 nop                   
00143e34: 0c04d060 jal 0x00134180			# Units join silently without needing DarkScreen
00143e38: 00000000 nop                
0x06: Save screen
00143e3c: 34020006 ori r2,r0,0x0006   
00143e40: 1642003d bne r18,r2,0x00143f38 
00143e44: 34020002 ori r2,r0,0x0002       
00143e48: 34120002 ori r18,r0,0x0002     
00143e4c: 34110003 ori r17,r0,0x0003     
00143e50: 34100800 ori r16,r0,0x0800     
00143e54: 02402021 addu r4,r18,r0         
00143e58: 00002821 addu r5,r0,r0         
00143e5c: 00003021 addu r6,r0,r0         
00143e60: 0c05328e jal 0x0014ca38			# Store Thread Function Parameters
00143e64: 34070001 ori r7,r0,0x0001       
00143e68: 3c018017 lui r1,0x8017         
00143e6c: 00300821 addu r1,r1,r16         
00143e70: ac3198b8 sw r17,-0x6748(r1)     
00143e74: 0c053274 jal 0x0014c9d0			# Wait For Thread
00143e78: 02402021 addu r4,r18,r0         
00143e7c: 26520001 addiu r18,r18,0x0001   
00143e80: 2a42000f slti r2,r18,0x000f     
00143e84: 1440fff3 bne r2,r0,0x00143e54   
00143e88: 26100400 addiu r16,r16,0x0400   
00143e8c: 0c04ed64 jal 0x0013b590			# Get Script Variable
00143e90: 34040027 ori r4,r0,0x0027                    # Var 0x27 - Current Event
00143e94: 3403012c ori r3,r0,0x012c                    # r3 = 0x12C (300 Things Obtained, final event in vanilla)
00143e98: 10430004 beq r2,r3,0x00143eac                # Branch if Things Obtained
00143e9c: 00000000 nop                   
00143ea0: 34040064 ori r4,r0,0x0064                    # r4 = Var 0x64 (Next Scenario? New Game?)
00143ea4: 0c04ed91 jal 0x0013b644			# Set Script Variable
00143ea8: 34050001 ori r5,r0,0x0001                    # Set Var 0x64 to 1 if not Things Obtained
00143eac: 34040051 ori r4,r0,0x0051                    # r4 = Var 0x51
00143eb0: 0c04ed91 jal 0x0013b644			# Set Script Variable
00143eb4: 34050001 ori r5,r0,0x0001                    # r5 = Set Var 0x51 to 1
00143eb8: 0c04ef05 jal 0x0013bc14			# Load File (0x13bc14)
00143ebc: 3404000e ori r4,r0,0x000e       
00143ec0: 34020005 ori r2,r0,0x0005       
00143ec4: 3c018016 lui r1,0x8016         
00143ec8: ac22600c sw r2,0x600c(r1)                    # Save value of 5 to 0x8016600C
00143ecc: 0c0532a0 jal 0x0014ca80			# Switch To Next Thread
00143ed0: 00000000 nop                   
00143ed4: 3c028016 lui r2,0x8016         
00143ed8: 8c42600c lw r2,0x600c(r2)                    # *0x8016600C
00143edc: 00000000 nop                   
00143ee0: 1440fffa bne r2,r0,0x00143ecc                # Branch if had a value
00143ee4: 34040064 ori r4,r0,0x0064                    # r4 = Var 0x64 (Next Scenario? New Game?)
00143ee8: 0c04ed91 jal 0x0013b644			# Set Script Variable
00143eec: 00002821 addu r5,r0,r0                       # r5 = Set Var 0x64 to 0
00143ef0: 34120002 ori r18,r0,0x0002     
00143ef4: 34110003 ori r17,r0,0x0003     
00143ef8: 34100800 ori r16,r0,0x0800     
00143efc: 02402021 addu r4,r18,r0         
00143f00: 00002821 addu r5,r0,r0         
00143f04: 00003021 addu r6,r0,r0         
00143f08: 0c05328e jal 0x0014ca38			# Store Thread Function Parameters
00143f0c: 34070001 ori r7,r0,0x0001       
00143f10: 3c018017 lui r1,0x8017         
00143f14: 00300821 addu r1,r1,r16         
00143f18: ac3198b8 sw r17,-0x6748(r1)     
00143f1c: 0c053274 jal 0x0014c9d0			# Wait For Thread
00143f20: 02402021 addu r4,r18,r0         
00143f24: 26520001 addiu r18,r18,0x0001   
00143f28: 2a42000f slti r2,r18,0x000f     
00143f2c: 1440fff3 bne r2,r0,0x00143efc                # Branch back if r18 is less than 0x0F
00143f30: 26100400 addiu r16,r16,0x0400   

0x02 and 0x07: A year passes
00143f34: 34020002 ori r2,r0,0x0002       
00143f38: 12420003 beq r18,r2,0x00143f48 
00143f3c: 34020007 ori r2,r0,0x0007       
00143f40: 16420004 bne r18,r2,0x00143f54 
00143f44: 34020003 ori r2,r0,0x0003       
00143f48: 0c04d089 jal 0x00134224			# Advance Date By One Year
00143f4c: 00000000 nop                   
0x03: Increases Blue Team's Brave by 10
00143f50: 34020003 ori r2,r0,0x0003       
00143f54: 16420004 bne r18,r2,0x00143f68 
00143f58: 34020004 ori r2,r0,0x0004       
00143f5c: 0c04d092 jal 0x00134248			# Increase Blue Team's Brave by 10
00143f60: 00000000 nop                   
0x04: BlueRemoveUnit all enemy units
00143f64: 34020004 ori r2,r0,0x0004       
00143f68: 16420006 bne r18,r2,0x00143f84 
00143f6c: 34020005 ori r2,r0,0x0005       
00143f70: 0c051f3c jal 0x00147cf0			# BlueRemoveUnit all enemy units
00143f74: 00000000 nop                   
00143f78: 0c053216 jal 0x0014c858			# Wait
00143f7c: 34040078 ori r4,r0,0x0078       
0x05: Used once during a lightning strike. Use unknown.
00143f80: 34020005 ori r2,r0,0x0005       
00143f84: 16420004 bne r18,r2,0x00143f98 
00143f88: 34020008 ori r2,r0,0x0008       
00143f8c: 34080001 ori r8,r0,0x0001       
00143f90: 3c018017 lui r1,0x8017         
00143f94: ac2896f8 sw r8,-0x6908(r1)                   # Save 0x00000001 to 0x801696F8
0x08: Unknown
00143f98: 16420005 bne r18,r2,0x00143fb0 
00143f9c: 34020009 ori r2,r0,0x0009       
00143fa0: 3c018004 lui r1,0x8004         
00143fa4: ac2059cc sw r0,0x59cc(r1)                    # Zero out 0x800459CC
00143fa8: 3c018004 lui r1,0x8004         
00143fac: ac2059d8 sw r0,0x59d8(r1)                    # Zero out 0x800459D8
0x09: Sets Var 0x53 to 0x01, muting the text sound.
00143fb0: 16420005 bne r18,r2,0x00143fc8 
00143fb4: 3402000a ori r2,r0,0x000a       
00143fb8: 34040053 ori r4,r0,0x0053                    # Var 0x53
00143fbc: 0c04ed91 jal 0x0013b644			# Set Script Variable
00143fc0: 34050001 ori r5,r0,0x0001                    # Value of 1
0x0A: Sets Var 0x53 to 0x00, unmuting the text sound.
00143fc4: 3402000a ori r2,r0,0x000a      
00143fc8: 16420005 bne r18,r2,0x00143fe0 
00143fcc: 3402000b ori r2,r0,0x000b       
00143fd0: 34040053 ori r4,r0,0x0053                    # Var 0x53
00143fd4: 0c04ed91 jal 0x0013b644			# Set Script Variable
00143fd8: 00002821 addu r5,r0,r0                       # Value of 0
0x0B: Destroys Murond Death City's entrance (very specific requirements needed)
00143fdc: 3402000b ori r2,r0,0x000b        
00143fe0: 1642000f bne r18,r2,0x00144020 
00143fe4: 3402000c ori r2,r0,0x000c       
00143fe8: 0c050cfa jal 0x001433e8			# Add 1 to 0x8016605C if set to 1
00143fec: 00000000 nop                   
00143ff0: 3c028016 lui r2,0x8016         
00143ff4: 8442605c lh r2,0x605c(r2)       
00143ff8: 00000000 nop                   
00143ffc: 10400008 beq r2,r0,0x00144020                # Check next CallFunction if already 0
00144000: 3402000c ori r2,r0,0x000c       
00144004: 0c0532a0 jal 0x0014ca80			# Switch To Next Thread
00144008: 00000000 nop                   
0014400c: 3c028016 lui r2,0x8016         
00144010: 8442605c lh r2,0x605c(r2)       
00144014: 00000000 nop                   
00144018: 1440fffa bne r2,r0,0x00144004                # Loop back if not 0 yet
0x0C: Changes the currently playing track to 0x13: Ultema, the Perfect Body
0014401c: 3402000c ori r2,r0,0x000c       
00144020: 1642000c bne r18,r2,0x00144054 
00144024: 3402000d ori r2,r0,0x000d       
00144028: 34040013 ori r4,r0,0x0013       
0014402c: 34020013 ori r2,r0,0x0013       
00144030: 3c018016 lui r1,0x8016         
00144034: a4205fd8 sh r0,0x5fd8(r1)                    # Zero out Current Track
00144038: 3c018016 lui r1,0x8016         
0014403c: a4225fd4 sh r2,0x5fd4(r1)                    # Set Track 1 to 0x13
00144040: 3c018016 lui r1,0x8016         
00144044: a4205fd6 sh r0,0x5fd6(r1)                    # Zero out Track 2
00144048: 0c04f49e jal 0x0013d278			# 0013d278 - 0013d31c
0014404c: 00002821 addu r5,r0,r0         
0x0D: Set ENTD Unit 9's coordinates to those of ENTD Unit 8 (Altima -> Altima 2 transformation)
00144050: 3402000d ori r2,r0,0x000d       
00144054: 16420023 bne r18,r2,0x001440e4 
00144058: 3402000e ori r2,r0,0x000e       
0014405c: 0c0602bf jal 0x00180afc			# Get Unit's Data Pointer
00144060: 34040007 ori r4,r0,0x0007                    # ENTD Unit 8
00144064: 00408821 addu r17,r2,r0                      # r17 = ENTD Unit 8's Data Pointer
00144068: 0c0602bf jal 0x00180afc			# Get Unit's Data Pointer
0014406c: 34040008 ori r4,r0,0x0008                    # ENTD Unit 9
00144070: 00403021 addu r6,r2,r0                       # r6 = ENTD Unit 9's Data Pointer
00144074: 92220047 lbu r2,0x0047(r17)                  # Unit 8's X
00144078: 34040008 ori r4,r0,0x0008                    # ENTD Unit 9
0014407c: a0c20047 sb r2,0x0047(r6)                    # Save Unit 8's X to unit 9
00144080: 92220048 lbu r2,0x0048(r17)                  # Unit 8's Y
00144084: 34050001 ori r5,r0,0x0001                    # r5 = 1 (ENTD Unit 2)
00144088: a0c20048 sb r2,0x0048(r6)                    # Save to Unit 9's Y
0014408c: 96230048 lhu r3,0x0048(r17)                  # Load ENTD Unit 8's Y and facing/elevation
00144090: 94c20048 lhu r2,0x0048(r6)                   # Load ENTD Unit 9's Y and facing/elevation
00144094: 30638000 andi r3,r3,0x8000                   # AND out all but Unit 8's elevation
00144098: 30427fff andi r2,r2,0x7fff                   # AND out unit 9's elevation
0014409c: 00431025 or r2,r2,r3                         # Merge the results
001440a0: 0c023417 jal 0x0008d05c			# 0008d05c - 0008d100
001440a4: a4c20048 sh r2,0x0048(r6)                    # Save to Unit 9's Y and facing/elevation
001440a8: 34080001 ori r8,r0,0x0001       
001440ac: 3c018016 lui r1,0x8016         
001440b0: a428604e sh r8,0x604e(r1)       
001440b4: 0c0532a0 jal 0x0014ca80			# Switch To Next Thread
001440b8: 00000000 nop                   
001440bc: 3c028016 lui r2,0x8016         
001440c0: 9442604e lhu r2,0x604e(r2)     
001440c4: 00000000 nop                   
001440c8: 1440fffa bne r2,r0,0x001440b4   
001440cc: 00000000 nop                   
001440d0: 0c0532a0 jal 0x0014ca80			# Switch To Next Thread
001440d4: 00000000 nop                   
001440d8: 0c0532a0 jal 0x0014ca80			# Switch To Next Thread
001440dc: 00000000 nop                   
0x0E: Used when Bethla Sluice opens up, to remove units that were washed away
001440e0: 3402000e ori r2,r0,0x000e       
001440e4: 1642002d bne r18,r2,0x0014419c 
001440e8: 34020011 ori r2,r0,0x0011       
001440ec: 00008021 addu r16,r0,r0         
001440f0: 0c0232ed jal 0x0008cbb4			# Does Misc Unit Exist With ID
001440f4: 02002021 addu r4,r16,r0         
001440f8: 10400024 beq r2,r0,0x0014418c                # Branch if no misc unit data exists for this ID
001440fc: 00000000 nop                   
00144100: 0c023374 jal 0x0008cdd0			# Get Battle Unit Index By Unit Misc ID
00144104: 02002021 addu r4,r16,r0         
00144108: 00409021 addu r18,r2,r0         
0014410c: 2402ffff addiu r2,r0,0xffff     
00144110: 1242001e beq r18,r2,0x0014418c               # Branch if no battle unit with that misc ID exists
00144114: 00000000 nop                   
00144118: 0c0602bf jal 0x00180afc			# Get Unit's Data Pointer
0014411c: 02402021 addu r4,r18,r0         
00144120: 00408821 addu r17,r2,r0         
00144124: 92220047 lbu r2,0x0047(r17)                  # Load unit's X
00144128: 00000000 nop                   
0014412c: 2c420004 sltiu r2,r2,0x0004    
00144130: 10400008 beq r2,r0,0x00144154                # Branch if their X is 4 or higher 
00144134: 00000000 nop                   
00144138: 92220048 lbu r2,0x0048(r17)                  # Load unit's Y
0014413c: 00000000 nop                   
00144140: 2c42000b sltiu r2,r2,0x000b  
00144144: 10400003 beq r2,r0,0x00144154                # Branch if their Y is 11 or higher (off the map??)
00144148: 00000000 nop                   
0014414c: 0c023463 jal 0x0008d18c			# Reset Misc Unit Graphic Trigger
00144150: 02002021 addu r4,r16,r0         
00144154: 92220047 lbu r2,0x0047(r17)                  # Load unit's X
00144158: 00000000 nop                   
0014415c: 2442fffc addiu r2,r2,0xfffc                  # X - 4
00144160: 2c420003 sltiu r2,r2,0x0003                  # Check for X values of 4-6
00144164: 10400009 beq r2,r0,0x0014418c                # Branch if unit's X wasn't 4-6
00144168: 00000000 nop                   
0014416c: 92220048 lbu r2,0x0048(r17)                  # Load unit's Y
00144170: 00000000 nop                   
00144174: 2442fffe addiu r2,r2,0xfffe                  # Y - 2
00144178: 2c420006 sltiu r2,r2,0x0006                  # Check for Y values of 2-7
0014417c: 10400003 beq r2,r0,0x0014418c   
00144180: 00000000 nop                   
00144184: 0c023463 jal 0x0008d18c			# Reset Misc Unit Graphic Trigger         
00144188: 02002021 addu r4,r16,r0         
0014418c: 26100001 addiu r16,r16,0x0001   
00144190: 2a020015 slti r2,r16,0x0015     
00144194: 1440ffd6 bne r2,r0,0x001440f0                # Loop back until all units have been checked
0x11: Set ENTD Unit 8's coordinates to those of ENTD Unit 2 (Dycedarg transforms into Adramelk)
00144198: 34020011 ori r2,r0,0x0011       
0014419c: 16420028 bne r18,r2,0x00144240 
001441a0: 2642fff1 addiu r2,r18,0xfff1   
001441a4: 0c0602bf jal 0x00180afc			# Get Unit's Data Pointer
001441a8: 34040001 ori r4,r0,0x0001       
001441ac: 00408821 addu r17,r2,r0         
001441b0: 0c0602bf jal 0x00180afc			# Get Unit's Data Pointer
001441b4: 34040007 ori r4,r0,0x0007       
001441b8: 00403021 addu r6,r2,r0         
001441bc: 92230047 lbu r3,0x0047(r17)     
001441c0: 34040007 ori r4,r0,0x0007       
001441c4: a0c30047 sb r3,0x0047(r6)       
001441c8: 92220048 lbu r2,0x0048(r17)     
001441cc: 34050001 ori r5,r0,0x0001       
001441d0: a0c20048 sb r2,0x0048(r6)       
001441d4: 96230048 lhu r3,0x0048(r17)     
001441d8: 94c20048 lhu r2,0x0048(r6)     
001441dc: 30638000 andi r3,r3,0x8000     
001441e0: 30427fff andi r2,r2,0x7fff     
001441e4: 00431025 or r2,r2,r3           
001441e8: a4c20048 sh r2,0x0048(r6)       
001441ec: 96230048 lhu r3,0x0048(r17)     
001441f0: 3042f0ff andi r2,r2,0xf0ff     
001441f4: 30630f00 andi r3,r3,0x0f00     
001441f8: 00431025 or r2,r2,r3           
001441fc: 0c023417 jal 0x0008d05c			# 0008d05c - 0008d100
00144200: a4c20048 sh r2,0x0048(r6)       
00144204: 34080001 ori r8,r0,0x0001       
00144208: 3c018016 lui r1,0x8016         
0014420c: a428604e sh r8,0x604e(r1)       
00144210: 0c0532a0 jal 0x0014ca80			# Switch To Next Thread
00144214: 00000000 nop                   
00144218: 3c028016 lui r2,0x8016         
0014421c: 9442604e lhu r2,0x604e(r2)     
00144220: 00000000 nop                   
00144224: 1440fffa bne r2,r0,0x00144210   
00144228: 00000000 nop                   
0014422c: 0c0532a0 jal 0x0014ca80			# Switch To Next Thread
00144230: 00000000 nop                   
00144234: 0c0532a0 jal 0x0014ca80			# Switch To Next Thread
00144238: 00000000 nop                   
0x0F and 0x10: Moves ENTD Unit 4 to Unit 2 coordinates and Unit 5 to 3 (Celia and Lede's transformations)
0014423c: 2642fff1 addiu r2,r18,0xfff1   
00144240: 2c420002 sltiu r2,r2,0x0002     
00144244: 10400004 beq r2,r0,0x00144258   
00144248: 34020012 ori r2,r0,0x0012       
0014424c: 0c04d0b3 jal 0x001342cc			# 001342cc - 001343b8
00144250: 02402021 addu r4,r18,r0         
0x12: Used in Zalera death to remove the Float effect when he takes the stone EVTCHR
00144254: 34020012 ori r2,r0,0x0012       
00144258: 16420732 bne r18,r2,0x00145f24 
0014425c: 00000000 nop                   
00144260: 0c04cc56 jal 0x00133158			# Get misc ID]
00144264: 3404003e ori r4,r0,0x003e                    # 3E - Zalera
00144268: 00021400 sll r2,r2,0x10         
0014426c: 00028403 sra r16,r2,0x10       
00144270: 340807d0 ori r8,r0,0x07d0       
00144274: 1208072b beq r16,r8,0x00145f24 
00144278: 00000000 nop                   
0014427c: 0c023374 jal 0x0008cdd0			# Get Battle Unit Index By Unit Misc ID
00144280: 02002021 addu r4,r16,r0         
00144284: 00402021 addu r4,r2,r0         
00144288: 08051589 j 0x00145624                        # Jumps to the Zalera specific code for {44} Draw, but to remove statuses instead of apply them
0014428c: 00002821 addu r5,r0,r0         

{99} BlueRemoveUnit

00144290: 16820006 bne r20,r2,0x001442ac 
00144294: 340200db ori r2,r0,0x00db       
00144298: 00132400 sll r4,r19,0x10        
0014429c: 0c051f66 jal 0x00147d98			# Event Instruction 0x99: BlueRemoveUnit
001442a0: 00042403 sra r4,r4,0x10         
001442a4: 080517c9 j 0x00145f24           GOTO END
001442a8: 00000000 nop                   

{DB} EventEnd & {E3} EventEnd2

001442ac: 12820003 beq r20,r2,0x001442bc               Branch if EventEnd
001442b0: 340200e3 ori r2,r0,0x00e3 
001442b4: 16820077 bne r20,r2,0x00144494               Branch to next check if neither EventEnd nor EventEnd2
001442b8: 340200da ori r2,r0,0x00da       
001442bc: 0c051829 jal 0x001460a4			# 001460a4 - 001460e0
001442c0: 00000000 nop                   
001442c4: 0c0532a0 jal 0x0014ca80			# Switch To Next Thread
001442c8: 00000000 nop                   
001442cc: 0c05272f jal 0x00149cbc			# Get Thread Running Task
001442d0: 34040008 ori r4,r0,0x0008       
001442d4: 1440fffb bne r2,r0,0x001442c4   
001442d8: 00000000 nop                   
001442dc: 0c0532a0 jal 0x0014ca80			# Switch To Next Thread
001442e0: 00000000 nop                   
001442e4: 0c0111b2 jal 0x000446c8			# Check File Still Loading
001442e8: 00000000 nop                   
001442ec: 1440fffb bne r2,r0,0x001442dc   
001442f0: 00000000 nop                   
001442f4: 0c0532a0 jal 0x0014ca80			# Switch To Next Thread
001442f8: 00000000 nop                   
001442fc: 0c04b721 jal 0x0012dc84			# Check If Tutorial Event Slot
00144300: 00000000 nop                   
00144304: 1040000c beq r2,r0,0x00144338                # Branch if not tutorial event
00144308: 00000000 nop                   
0014430c: 0c04b70c jal 0x0012dc30			# Tutorial thread switching for EventEnd
00144310: 00000000 nop                   
00144314: 340401fc ori r4,r0,0x01fc                    # Var 0x1FC - Brave Story Event?
00144318: 3c028017 lui r2,0x8017         
0014431c: 8c42d99c lw r2,-0x2664(r2)     
00144320: 3c018004 lui r1,0x8004         
00144324: ac2273ac sw r2,0x73ac(r1)       
00144328: 0c04ed91 jal 0x0013b644			# Set Script Variable
0014432c: 00002821 addu r5,r0,r0                       # Set Var 0x1FC to 0
00144330: 0c0230e8 jal 0x0008c3a0			# 0008c3a0 - 0008c3e0
00144334: 34040020 ori r4,r0,0x0020       
00144338: 3c028016 lui r2,0x8016         
0014433c: 94425ff6 lhu r2,0x5ff6(r2)     
00144340: 00000000 nop                   
00144344: 14400008 bne r2,r0,0x00144368   
00144348: 00000000 nop                   
0014434c: 34100002 ori r16,r0,0x0002     
00144350: 0c053274 jal 0x0014c9d0			# Wait For Thread
00144354: 02002021 addu r4,r16,r0         
00144358: 26100001 addiu r16,r16,0x0001   
0014435c: 2a02000e slti r2,r16,0x000e     
00144360: 1440fffb bne r2,r0,0x00144350   
00144364: 00000000 nop                   
00144368: 0c04ed64 jal 0x0013b590			# Get Script Variable
0014436c: 34040027 ori r4,r0,0x0027                    # Var 0x27, Current Event
00144370: 00409021 addu r18,r2,r0         
00144374: 340201ad ori r2,r0,0x01ad       
00144378: 12420006 beq r18,r2,0x00144394               # Branch if event 0x1AD (429 Delita's Betrayal)
0014437c: 00000000 nop                   
00144380: 340201d1 ori r2,r0,0x01d1                    # Branch if event 0x1D1 (465 Goland Coal City Options Given)
00144384: 12420004 beq r18,r2,0x00144398 
00144388: 340401fd ori r4,r0,0x01fd       
0014438c: 0c023654 jal 0x0008d950			# 0008d950 - 0008d994
00144390: 00000000 nop                   
00144394: 340401fd ori r4,r0,0x01fd                    # Var 0x1FD (Battle has not yet begun)
00144398: 0c04ed91 jal 0x0013b644			# Set Script Variable
0014439c: 00002821 addu r5,r0,r0                       # Prevent the battle from beginning
001443a0: 00121040 sll r2,r18,0x01       
001443a4: 3c018005 lui r1,0x8005         
001443a8: 00220821 addu r1,r1,r2         
001443ac: 9422e5d0 lhu r2,-0x1a30(r1)     
001443b0: 3c038016 lui r3,0x8016         
001443b4: 94635ff6 lhu r3,0x5ff6(r3)     
001443b8: 3042f300 andi r2,r2,0xf300     
001443bc: 14600010 bne r3,r0,0x00144400   
001443c0: 00021203 sra r2,r2,0x08         
001443c4: 1440000e bne r2,r0,0x00144400   
001443c8: 2642fe70 addiu r2,r18,0xfe70   
001443cc: 2c42001a sltiu r2,r2,0x001a     
001443d0: 1440000b bne r2,r0,0x00144400   
001443d4: 00000000 nop                   
001443d8: 12400009 beq r18,r0,0x00144400 
001443dc: 340200ff ori r2,r0,0x00ff       
001443e0: 3c018015 lui r1,0x8015         
001443e4: ac22d304 sw r2,-0x2cfc(r1)     
001443e8: 0c05096c jal 0x001425b0			# Process Scenario Conditionals
001443ec: 00000000 nop                   
001443f0: 0c0517de jal 0x00145f78			# Load Next Event
001443f4: 00000000 nop                   
001443f8: 1440fe38 bne r2,r0,0x00143cdc   
001443fc: 00000000 nop                   
00144400: 0c023079 jal 0x0008c1e4			# 0008c1e4 - 0008c264
00144404: 00008021 addu r16,r0,r0         
00144408: 00002021 addu r4,r0,r0         
0014440c: 0c052336 jal 0x00148cd8			# Process Unit Staged Status Data
00144410: 34050001 ori r5,r0,0x0001       
00144414: 0c0232ed jal 0x0008cbb4			# Does Misc Unit Exist With ID
00144418: 02002021 addu r4,r16,r0         
0014441c: 10400011 beq r2,r0,0x00144464   
00144420: 00000000 nop                   
00144424: 0c023374 jal 0x0008cdd0			# Get Battle Unit Index By Unit Misc ID
00144428: 02002021 addu r4,r16,r0         
0014442c: 00409021 addu r18,r2,r0         
00144430: 0640000c bltz r18,0x00144464   
00144434: 00000000 nop                   
00144438: 0c0602bf jal 0x00180afc			# Get Unit's Data Pointer
0014443c: 02402021 addu r4,r18,r0         
00144440: 00408821 addu r17,r2,r0         
00144444: 0c022fc7 jal 0x0008bf1c			# 0x8bf1c
00144448: 02002021 addu r4,r16,r0         
0014444c: 3042000f andi r2,r2,0x000f     
00144450: 96230048 lhu r3,0x0048(r17)     
00144454: 00021200 sll r2,r2,0x08         
00144458: 3063f0ff andi r3,r3,0xf0ff     
0014445c: 00621825 or r3,r3,r2           
00144460: a6230048 sh r3,0x0048(r17)     
00144464: 26100001 addiu r16,r16,0x0001   
00144468: 2a020015 slti r2,r16,0x0015     
0014446c: 1440ffe9 bne r2,r0,0x00144414   
00144470: 00000000 nop                   
00144474: 0c04b771 jal 0x0012ddc4			# 0012ddc4 - 0012dde4
00144478: 00000000 nop                   
0014447c: 0c04b77a jal 0x0012dde8			# Battle Camera Initialize
00144480: 00000000 nop                   
00144484: 0c053256 jal 0x0014c958			# Stop Current Thread
00144488: 00000000 nop                   
0014448c: 080517c9 j 0x00145f24           GOTO END
00144490: 00000000 nop                   

{DA} non-op

00144494: 128206a3 beq r20,r2,0x00145f24 
00144498: 340200d0 ori r2,r0,0x00d0       

{D0} JumpForwardIfZero

(B) Block Start
0014449c: 1682000b bne r20,r2,0x001444cc 
001444a0: 340200d1 ori r2,r0,0x00d1       
001444a4: 3c028016 lui r2,0x8016         
001444a8: 8c425f9c lw r2,0x5f9c(r2)       
001444ac: 00000000 nop                   
001444b0: 8c420000 lw r2,0x0000(r2)       
001444b4: 00000000 nop                   
001444b8: 1440069a bne r2,r0,0x00145f24   
001444bc: 27c40002 addiu r4,r30,0x0002   
001444c0: 340500d2 ori r5,r0,0x00d2       Block End = D2
001444c4: 08051141 j 0x00144504           
001444c8: 340600d4 ori r6,r0,0x00d4        

{D1} JumpForward

001444cc: 16820004 bne r20,r2,0x001444e0 
001444d0: 340200d2 ori r2,r0,0x00d2       
001444d4: 27c40002 addiu r4,r30,0x0002   
001444d8: 08051140 j 0x00144500           GOTO (AAA)
001444dc: 340500d2 ori r5,r0,0x00d2       

{D2} ForwardTarget non-op

001444e0: 12820690 beq r20,r2,0x00145f24
001444e4: 340200d4 ori r2,r0,0x00d4       

{D4} | GOTO (past the) END

001444e8: 12820694 beq r20,r2,0x00145f3c
001444ec: 340200d3 ori r2,r0,0x00d3       

{D3} JumpBack

(C) Block Start
001444f0: 16820008 bne r20,r2,0x00144514 
001444f4: 340200d5 ori r2,r0,0x00d5       
001444f8: 03c02021 addu r4,r30,r0        
001444fc: 340500d5 ori r5,r0,0x00d5       Block End = D5
00144500: 2406ffff addiu r6,r0,0xffff     (AAA)
00144504: 0c05275b jal 0x00149d6c			# Event Jump
00144508: 02403821 addu r7,r18,r0         
0014450c: 08050f43 j 0x00143d0c           
00144510: 0040f021 addu r30,r2,r0         

{D5} BackTarget non-op

00144514: 12820683 beq r20,r2,0x00145f24 
00144518: 340200d8 ori r2,r0,0x00d8       

{D8} non-op

0014451c: 12820681 beq r20,r2,0x00145f24 
00144520: 340200d9 ori r2,r0,0x00d9       

{D9} non-op

00144524: 1282067f beq r20,r2,0x00145f24 
00144528: 340200dc ori r2,r0,0x00dc       

{DC} unknown (Store 0x000D to 0x80165FB0)

0014452c: 16820006 bne r20,r2,0x00144548 
00144530: 34020010 ori r2,r0,0x0010       
00144534: 3402000d ori r2,r0,0x000d      
00144538: 3c018016 lui r1,0x8016         
0014453c: a4225fb0 sh r2,0x5fb0(r1)       # Store 0x000D to 0x80165FB0
00144540: 080517c9 j 0x00145f24           GOTO END
00144544: 00000000 nop                   

{10} DisplayMessage

00144548: 1682004c bne r20,r2,0x0014467c 
0014454c: 34020051 ori r2,r0,0x0051       
00144550: 0c0526fb jal 0x00149bec			# Get Next Available Thread ID
00144554: 02402021 addu r4,r18,r0         
00144558: 00409021 addu r18,r2,r0         
0014455c: 3c058013 lui r5,0x8013         
00144560: 24a508c0 addiu r5,r5,0x08c0     
00144564: 0c053228 jal 0x0014c8a0			# Initialize Thread
00144568: 02402021 addu r4,r18,r0         
0014456c: 03c02021 addu r4,r30,r0         
00144570: 02a02821 addu r5,r21,r0         
00144574: 00128280 sll r16,r18,0x0a       
00144578: 3c068017 lui r6,0x8017         
0014457c: 24c698d4 addiu r6,r6,0x98d4     
00144580: 0c04bd38 jal 0x0012f4e0			# 0012f4e0 - 0012f658
00144584: 02063021 addu r6,r16,r6         
00144588: 00171200 sll r2,r23,0x08       
0014458c: 00561021 addu r2,r2,r22         
00144590: 3c048017 lui r4,0x8017         
00144594: 8c843ca4 lw r4,0x3ca4(r4)       
00144598: 2442ffff addiu r2,r2,0xffff     
0014459c: 3c018017 lui r1,0x8017         
001445a0: 00300821 addu r1,r1,r16         
001445a4: ac35986c sw r21,-0x6794(r1)     
001445a8: 3c018017 lui r1,0x8017         
001445ac: 00300821 addu r1,r1,r16         
001445b0: ac229870 sw r2,-0x6790(r1)     
001445b4: 009e2021 addu r4,r4,r30         
001445b8: 90970006 lbu r23,0x0006(r4)     
001445bc: 90960005 lbu r22,0x0005(r4)     
001445c0: 00171200 sll r2,r23,0x08       
001445c4: 00561021 addu r2,r2,r22         
001445c8: 3c018017 lui r1,0x8017         
001445cc: 00300821 addu r1,r1,r16         
001445d0: ac229874 sw r2,-0x678c(r1)     
001445d4: 90820007 lbu r2,0x0007(r4)     
001445d8: 3c018017 lui r1,0x8017         
001445dc: 00300821 addu r1,r1,r16         
001445e0: ac229878 sw r2,-0x6788(r1)     
001445e4: 0c05181e jal 0x00146078			# Load Halfword | Load event command bytes
001445e8: 24840008 addiu r4,r4,0x0008     
001445ec: 00021400 sll r2,r2,0x10         
001445f0: 3c048017 lui r4,0x8017         
001445f4: 8c843ca4 lw r4,0x3ca4(r4)       
001445f8: 00021403 sra r2,r2,0x10         
001445fc: 3c018017 lui r1,0x8017         
00144600: 00300821 addu r1,r1,r16         
00144604: ac2298c4 sw r2,-0x673c(r1)     
00144608: 03c42021 addu r4,r30,r4         
0014460c: 0c05181e jal 0x00146078			# Load Halfword | Load event command bytes
00144610: 2484000a addiu r4,r4,0x000a     
00144614: 00021400 sll r2,r2,0x10         
00144618: 3c048017 lui r4,0x8017         
0014461c: 8c843ca4 lw r4,0x3ca4(r4)       
00144620: 00021403 sra r2,r2,0x10         
00144624: 3c018017 lui r1,0x8017         
00144628: 00300821 addu r1,r1,r16         
0014462c: ac2298c8 sw r2,-0x6738(r1)     
00144630: 03c42021 addu r4,r30,r4         
00144634: 0c05181e jal 0x00146078			# Load Halfword | Load event command bytes
00144638: 2484000c addiu r4,r4,0x000c     
0014463c: 00021400 sll r2,r2,0x10         
00144640: 3c038017 lui r3,0x8017         
00144644: 8c633ca4 lw r3,0x3ca4(r3)       
00144648: 00021403 sra r2,r2,0x10         
0014464c: 3c018017 lui r1,0x8017         
00144650: 00300821 addu r1,r1,r16         
00144654: ac2298cc sw r2,-0x6734(r1)     
00144658: 007e1821 addu r3,r3,r30         
0014465c: 9062000e lbu r2,0x000e(r3)     
00144660: 3c018017 lui r1,0x8017         
00144664: 00300821 addu r1,r1,r16         
00144668: ac2298d0 sw r2,-0x6730(r1)     
0014466c: 0c0532a0 jal 0x0014ca80			# Switch To Next Thread
00144670: 00000000 nop                   
00144674: 080517c9 j 0x00145f24           GOTO END
00144678: 00000000 nop                   

{51} ChangeDialog

0014467c: 1682003c bne r20,r2,0x00144770 
00144680: 34020050 ori r2,r0,0x0050       
00144684: 00008021 addu r16,r0,r0        
00144688: 00008821 addu r17,r0,r0         
0014468c: 3c018017 lui r1,0x8017         
00144690: 00310821 addu r1,r1,r17         
00144694: 8c22e450 lw r2,-0x1bb0(r1)     
00144698: 3c018017 lui r1,0x8017         
0014469c: 00310821 addu r1,r1,r17         
001446a0: 8c35e440 lw r21,-0x1bc0(r1)     
001446a4: 1452002c bne r2,r18,0x00144758 
001446a8: 00000000 nop                   
001446ac: 0c053325 jal 0x0014cc94			# Check Thread Running Status
001446b0: 02a02021 addu r4,r21,r0         
001446b4: 34080001 ori r8,r0,0x0001       
001446b8: 14480027 bne r2,r8,0x00144758   
001446bc: 00159a80 sll r19,r21,0x0a       
001446c0: 3c018017 lui r1,0x8017         
001446c4: 00330821 addu r1,r1,r19         
001446c8: 8c2398b8 lw r3,-0x6748(r1)     
001446cc: 34020033 ori r2,r0,0x0033       
001446d0: 14620021 bne r3,r2,0x00144758   
001446d4: 00000000 nop                   
001446d8: 3c048017 lui r4,0x8017         
001446dc: 8c843ca4 lw r4,0x3ca4(r4)       
001446e0: 00000000 nop                   
001446e4: 03c42021 addu r4,r30,r4         
001446e8: 0c05181e jal 0x00146078			# Load Halfword | Load event command bytes
001446ec: 24840002 addiu r4,r4,0x0002     
001446f0: 00021400 sll r2,r2,0x10         
001446f4: 00029403 sra r18,r2,0x10       
001446f8: 3243ffff andi r3,r18,0xffff     
001446fc: 3402ffff ori r2,r0,0xffff       
00144700: 10620002 beq r3,r2,0x0014470c   
00144704: 00000000 nop                   
00144708: 2652ffff addiu r18,r18,0xffff   
0014470c: 3c048017 lui r4,0x8017         
00144710: 8c843ca4 lw r4,0x3ca4(r4)       
00144714: 3c018017 lui r1,0x8017         
00144718: 00330821 addu r1,r1,r19         
0014471c: ac329870 sw r18,-0x6790(r1)     
00144720: 03c42021 addu r4,r30,r4         
00144724: 0c05181e jal 0x00146078			# Load Halfword | Load event command bytes
00144728: 24840004 addiu r4,r4,0x0004     
0014472c: 00021400 sll r2,r2,0x10         
00144730: 00021403 sra r2,r2,0x10         
00144734: 34080001 ori r8,r0,0x0001       
00144738: 3c018017 lui r1,0x8017         
0014473c: 00330821 addu r1,r1,r19         
00144740: ac229878 sw r2,-0x6788(r1)     
00144744: 3c018017 lui r1,0x8017         
00144748: 00330821 addu r1,r1,r19         
0014474c: ac2898b8 sw r8,-0x6748(r1)     
00144750: 080517c9 j 0x00145f24           GOTO END
00144754: 00000000 nop                   
00144758: 26100002 addiu r16,r16,0x0002   
0014475c: 2a020006 slti r2,r16,0x0006     
00144760: 1440ffca bne r2,r0,0x0014468c   
00144764: 26310230 addiu r17,r17,0x0230   
00144768: 080517c9 j 0x00145f24           GOTO END
0014476c: 00000000 nop                   

{50} PortraitCol

00144770: 16820005 bne r20,r2,0x00144788 
00144774: 34020054 ori r2,r0,0x0054       
00144778: 0c04f22a jal 0x0013c8a8			# PortraitCol Event Instruction
0014477c: 02402021 addu r4,r18,r0         
00144780: 080517c9 j 0x00145f24           GOTO END
00144784: 00000000 nop                   

{54} Use3DObject

00144788: 1682000c bne r20,r2,0x001447bc 
0014478c: 34020056 ori r2,r0,0x0056       
00144790: 34080001 ori r8,r0,0x0001      
00144794: 3c018016 lui r1,0x8016         
00144798: a4285fe2 sh r8,0x5fe2(r1)       
0014479c: 3c018017 lui r1,0x8017         
001447a0: a4323c94 sh r18,0x3c94(r1)     
001447a4: 3c018017 lui r1,0x8017         
001447a8: a4353c96 sh r21,0x3c96(r1)     
001447ac: 0c0532a0 jal 0x0014ca80			# Switch To Next Thread
001447b0: 00000000 nop                   
001447b4: 080517c9 j 0x00145f24           GOTO END
001447b8: 00000000 nop                   

{56} Wait3DObject

001447bc: 1682000d bne r20,r2,0x001447f4 
001447c0: 34020055 ori r2,r0,0x0055       
001447c4: 34080001 ori r8,r0,0x0001      
001447c8: 3c018016 lui r1,0x8016         
001447cc: a428606e sh r8,0x606e(r1)       
001447d0: 0c0532a0 jal 0x0014ca80			# Switch To Next Thread
001447d4: 00000000 nop                   
001447d8: 3c028016 lui r2,0x8016         
001447dc: 9442606e lhu r2,0x606e(r2)     
001447e0: 00000000 nop                   
001447e4: 104005cf beq r2,r0,0x00145f24   
001447e8: 00000000 nop                   
001447ec: 080511f4 j 0x001447d0           
001447f0: 00000000 nop                   

{55} UseFieldObject

001447f4: 1682000c bne r20,r2,0x00144828 
001447f8: 34020057 ori r2,r0,0x0057       
001447fc: 34080001 ori r8,r0,0x0001      
00144800: 3c018016 lui r1,0x8016         
00144804: a4285fe4 sh r8,0x5fe4(r1)       
00144808: 3c018017 lui r1,0x8017         
0014480c: a4324058 sh r18,0x4058(r1)     
00144810: 3c018017 lui r1,0x8017         
00144814: a435405a sh r21,0x405a(r1)     
00144818: 0c0532a0 jal 0x0014ca80			# Switch To Next Thread
0014481c: 00000000 nop                   
00144820: 080517c9 j 0x00145f24           GOTO END
00144824: 00000000 nop                   

{57} WaitFieldObject

00144828: 1682000d bne r20,r2,0x00144860 
0014482c: 34020068 ori r2,r0,0x0068       
00144830: 34080001 ori r8,r0,0x0001      
00144834: 3c018016 lui r1,0x8016         
00144838: a4286070 sh r8,0x6070(r1)       
0014483c: 0c0532a0 jal 0x0014ca80			# Switch To Next Thread
00144840: 00000000 nop                   
00144844: 3c028016 lui r2,0x8016         
00144848: 94426070 lhu r2,0x6070(r2)     
0014484c: 00000000 nop                   
00144850: 104005b4 beq r2,r0,0x00145f24   
00144854: 00000000 nop                   
00144858: 0805120f j 0x0014483c           
0014485c: 00000000 nop                   

{68} MirrorSprite

00144860: 16820005 bne r20,r2,0x00144878 
00144864: 34020097 ori r2,r0,0x0097       
00144868: 0c04f997 jal 0x0013e65c			# 0013e65c - 0013e6c0
0014486c: 02202021 addu r4,r17,r0         
00144870: 080517c9 j 0x00145f24           GOTO END
00144874: 00000000 nop                   

{97} ResetPalette

00144878: 16820005 bne r20,r2,0x00144890 
0014487c: 34020071 ori r2,r0,0x0071       
00144880: 0c04f9b1 jal 0x0013e6c4			# 0013e6c4 - 0013e704
00144884: 02202021 addu r4,r17,r0         
00144888: 080517c9 j 0x00145f24           GOTO END
0014488c: 00000000 nop                   

{71} unknown, something with misc ID

00144890: 1682000c bne r20,r2,0x001448c4 
00144894: 34020011 ori r2,r0,0x0011       
00144898: 00132400 sll r4,r19,0x10       
0014489c: 0c04cc56 jal 0x00133158			# Get misc ID]
001448a0: 00042403 sra r4,r4,0x10         
001448a4: 00409021 addu r18,r2,r0         
001448a8: 340807d0 ori r8,r0,0x07d0       
001448ac: 1248059d beq r18,r8,0x00145f24 
001448b0: 00000000 nop                   
001448b4: 0c01e9ee jal 0x0007a7b8			# 0007a7b8 - 0007a83c
001448b8: 02402021 addu r4,r18,r0         
001448bc: 080517c9 j 0x00145f24           GOTO END
001448c0: 00000000 nop                   

{11} UnitAnim

001448c4: 16820005 bne r20,r2,0x001448dc 
001448c8: 34020080 ori r2,r0,0x0080       
001448cc: 0c0524e6 jal 0x00149398                      # Unit Anim
001448d0: 02202021 addu r4,r17,r0         
001448d4: 080517c9 j 0x00145f24           GOTO END
001448d8: 00000000 nop                   

{80} March

001448dc: 16820005 bne r20,r2,0x001448f4 
001448e0: 34020081 ori r2,r0,0x0081       
001448e4: 0c052524 jal 0x00149490			# 00149490 - 00149528
001448e8: 02202021 addu r4,r17,r0         
001448ec: 080517c9 j 0x00145f24           GOTO END
001448f0: 00000000 nop                   

{81} unknown

001448f4: 16820005 bne r20,r2,0x0014490c 
001448f8: 34020012 ori r2,r0,0x0012       
001448fc: 0c05254b jal 0x0014952c			# 0014952c - 001495dc
00144900: 02202021 addu r4,r17,r0         
00144904: 080517c9 j 0x00145f24           GOTO END
00144908: 00000000 nop                   

{12} unknown, something with Misc ID

0014490c: 1682000c bne r20,r2,0x00144940 
00144910: 34020013 ori r2,r0,0x0013       
00144914: 00132400 sll r4,r19,0x10       
00144918: 0c04cc56 jal 0x00133158			# Get misc ID]
0014491c: 00042403 sra r4,r4,0x10         
00144920: 00409021 addu r18,r2,r0         
00144924: 340807d0 ori r8,r0,0x07d0       
00144928: 1248057e beq r18,r8,0x00145f24 
0014492c: 00000000 nop                   
00144930: 0c052936 jal 0x0014a4d8			# 0014a4d8 - 0014a518
00144934: 02402021 addu r4,r18,r0         
00144938: 080517c9 j 0x00145f24           GOTO END
0014493c: 00000000 nop                   

{13} ChangeMapBeta

00144940: 16820005 bne r20,r2,0x00144958 
00144944: 3402004c ori r2,r0,0x004c       
00144948: 3c018017 lui r1,0x8017         
0014494c: a4334054 sh r19,0x4054(r1)     
00144950: 0805125a j 0x00144968           
00144954: 00000000 nop             

{4C} ChangeMap

00144958: 16820009 bne r20,r2,0x00144980 
0014495c: 3402004f ori r2,r0,0x004f       
00144960: 3c018017 lui r1,0x8017         
00144964: a433405c sh r19,0x405c(r1)     
00144968: 0c053216 jal 0x0014c858			# Wait
0014496c: 34040002 ori r4,r0,0x0002       
00144970: 0c04fc30 jal 0x0013f0c0			# 0013f0c0 - 0013f164
00144974: 00000000 nop                   
00144978: 080517c9 j 0x00145f24           GOTO END
0014497c: 00000000 nop                   

{4F} SetDaytime

00144980: 16820005 bne r20,r2,0x00144998 
00144984: 3402003c ori r2,r0,0x003c       
00144988: 3c018017 lui r1,0x8017         
0014498c: a4323f64 sh r18,0x3f64(r1)     
00144990: 0805126a j 0x001449a8           
00144994: 00000000 nop                  

{3C} Weather

00144998: 16820009 bne r20,r2,0x001449c0 
0014499c: 34020027 ori r2,r0,0x0027       
001449a0: 3c018017 lui r1,0x8017         
001449a4: a4333f68 sh r19,0x3f68(r1)     
001449a8: 0c053216 jal 0x0014c858			# Wait
001449ac: 34040002 ori r4,r0,0x0002       
001449b0: 0c051829 jal 0x001460a4			# 001460a4 - 001460e0
001449b4: 00000000 nop                   
001449b8: 080517c9 j 0x00145f24           GOTO END
001449bc: 00000000 nop                   

{27} ReloadMapState

001449c0: 1682000d bne r20,r2,0x001449f8 
001449c4: 34020096 ori r2,r0,0x0096       
001449c8: 34080001 ori r8,r0,0x0001      
001449cc: 3c018016 lui r1,0x8016         
001449d0: a4285fde sh r8,0x5fde(r1)       
001449d4: 0c0532a0 jal 0x0014ca80			# Switch To Next Thread
001449d8: 00000000 nop                   
001449dc: 3c028016 lui r2,0x8016         
001449e0: 94425fde lhu r2,0x5fde(r2)     
001449e4: 00000000 nop                   
001449e8: 1040054e beq r2,r0,0x00145f24   
001449ec: 00000000 nop                   
001449f0: 08051275 j 0x001449d4           
001449f4: 00000000 nop                   

{96} AppendMapState

001449f8: 1682000d bne r20,r2,0x00144a30
001449fc: 34020016 ori r2,r0,0x0016    
00144a00: 34080001 ori r8,r0,0x0001      
00144a04: 3c018016 lui r1,0x8016          
00144a08: a4285fe0 sh r8,0x5fe0(r1)       
00144a0c: 0c0532a0 jal 0x0014ca80			# Switch To Next Thread
00144a10: 00000000 nop                    
00144a14: 3c028016 lui r2,0x8016          
00144a18: 94425fe0 lhu r2,0x5fe0(r2)      
00144a1c: 00000000 nop                    
00144a20: 10400540 beq r2,r0,0x 00145f24   
00144a24: 00000000 nop                    
00144a28: 08051283 j 0x 00144a0c           
00144a2c: 00000000 nop                    

{16} Pause

00144a30: 16820005 bne r20,r2,0x 00144a48  
00144a34: 34020026 ori r2,r0,0x0026       
00144a38: 0c04cbe7 jal 0x00132f9c                      # Pause Event Instruction
00144a3c: 00000000 nop                    
00144a40: 080517c9 j 0x 00145f24           GOTO END
00144a44: 00000000 nop                    

{26} unknown, something with offsets around 0x80169C6C

00144a48: 1682001a bne r20,r2,0x 00144ab4  
00144a4c: 34020037 ori r2,r0,0x0037       
00144a50: 34100001 ori r16,r0,0x0001     
00144a54: 34050002 ori r5,r0,0x0002       
00144a58: 00131400 sll r2,r19,0x10        
00144a5c: 00022403 sra r4,r2,0x10         
00144a60: 3c038017 lui r3,0x8017          
00144a64: 24639c6c addiu r3,r3,0x9c6c     
00144a68: 8c620048 lw r2,0x0048(r3)       
00144a6c: 00000000 nop                    
00144a70: 1040000b beq r2,r0,0x 00144aa0   
00144a74: 26100001 addiu r16,r16,0x0001   
00144a78: 8c62004c lw r2,0x004c(r3)       
00144a7c: 00000000 nop                    
00144a80: 14450008 bne r2,r5,0x 00144aa4   
00144a84: 2a020010 slti r2,r16,0x0010     
00144a88: 8c620004 lw r2,0x0004(r3)       
00144a8c: 00000000 nop                    
00144a90: 14440004 bne r2,r4,0x 00144aa4   
00144a94: 2a020010 slti r2,r16,0x0010     
00144a98: 34080001 ori r8,r0,0x0001       
00144a9c: ac68004c sw r8,0x004c(r3)       
00144aa0: 2a020010 slti r2,r16,0x0010     
00144aa4: 1440fff0 bne r2,r0,0x 00144a68   
00144aa8: 24630400 addiu r3,r3,0x0400     
00144aac: 080517c9 j 0x 00145f24           GOTO END
00144ab0: 00000000 nop                    

{37} unknown

00144ab4: 16820005 bne r20,r2,0x 00144acc  
00144ab8: 34020017 ori r2,r0,0x0017       
00144abc: 0c0526ce jal 0x00149b38                      # Event Instruction 0x37
00144ac0: 02202021 addu r4,r17,r0         
00144ac4: 080517c9 j 0x 00145f24           GOTO END
00144ac8: 00000000 nop                    

{17} non-op

00144acc: 12820515 beq r20,r2,0x 00145f24 
00144ad0: 34020018 ori r2,r0,0x0018       

{18} Effect

00144ad4: 1682001e bne r20,r2,0x 00144b50  
00144ad8: 3402008a ori r2,r0,0x008a       
00144adc: 3c028017 lui r2,0x8017         
00144ae0: 8c423ca4 lw r2,0x3ca4(r2)       
00144ae4: 3c018017 lui r1,0x8017          
00144ae8: a4333cb4 sh r19,0x3cb4(r1)      
00144aec: 005e1021 addu r2,r2,r30         
00144af0: 90440003 lbu r4,0x0003(r2)      
00144af4: 0c04cc56 jal 0x00133158                      # Get misc ID
00144af8: 00000000 nop                    
00144afc: 3c038017 lui r3,0x8017          
00144b00: 8c633ca4 lw r3,0x3ca4(r3)       
00144b04: 3c018016 lui r1,0x8016          
00144b08: a4225ff8 sh r2,0x5ff8(r1)       
00144b0c: 007e1821 addu r3,r3,r30         
00144b10: 90620004 lbu r2,0x0004(r3)      
00144b14: 3c018016 lui r1,0x8016          
00144b18: a4225ffc sh r2,0x5ffc(r1)       
00144b1c: 90620005 lbu r2,0x0005(r3)      
00144b20: 3404001f ori r4,r0,0x001f                    # Var 0x1F: Camera Rotation
00144b24: 3c018016 lui r1,0x8016          
00144b28: a4225ffe sh r2,0x5ffe(r1)       
00144b2c: 90620006 lbu r2,0x0006(r3)      
00144b30: 3c018016 lui r1,0x8016          
00144b34: a4226000 sh r2,0x6000(r1)
00144b38: 0c04ed91 jal 0x0013b644                      # Set Script Variable
00144b3c: 00002821 addu r5,r0,r0                       # Value of 0
00144b40: 0c053216 jal 0x0014c858                      # Wait
00144b44: 34040002 ori r4,r0,0x0002       
00144b48: 080517c9 j 0x 00145f24           GOTO END
00144b4c: 00000000 nop                    

{8A} EffectStart

00144b50: 1682000d bne r20,r2,0x 00144b88  
00144b54: 3402008b ori r2,r0,0x008b       
00144b58: 3c108009 lui r16,0x8009        
00144b5c: 2610dda8 addiu r16,r16,0xdda8   
00144b60: 0c0532a0 jal 0x0014ca80                      # Switch To Next Thread
00144b64: 00000000 nop                    
00144b68: 3c018017 lui r1,0x8017          
00144b6c: ac303ca8 sw r16,0x3ca8(r1)      
00144b70: 0c0533ad jal 0x0014ceb4                      # Call Inner Subroutine
00144b74: 00000000 nop                    
00144b78: 104004ea beq r2,r0,0x 00145f24   
00144b7c: 00000000 nop                    
00144b80: 080512d8 j 0x 00144b60           
00144b84: 00000000 nop                    

{8B} EffectEnd

00144b88: 16820009 bne r20,r2,0x 00144bb0  
00144b8c: 3402001f ori r2,r0,0x001f
00144b90: 0c0526fb jal 0x00149bec                      # Get Next Available Thread ID    
00144b94: 34040010 ori r4,r0,0x0010       
00144b98: 3c058014 lui r5,0x8014          
00144b9c: 24a5e8d4 addiu r5,r5,0xe8d4     
00144ba0: 0c053228 jal 0x0014c8a0                      # Initialize Thread
00144ba4: 00402021 addu r4,r2,r0          
00144ba8: 080517c9 j 0x 00145f24           GOTO END
00144bac: 00000000 nop                    

{1F} Focus

00144bb0: 1682000b bne r20,r2,0x 00144be0  
00144bb4: 34020038 ori r2,r0,0x0038       
00144bb8: 3c028016 lui r2,0x8016         
00144bbc: 8c425f9c lw r2,0x5f9c(r2)       
00144bc0: 00000000 nop                    
00144bc4: 8c440078 lw r4,0x0078(r2)       
00144bc8: 0c051cb7 jal 0x001472dc                      # 001472dc - 00147314
00144bcc: 00000000 nop                    
00144bd0: 0c051d61 jal 0x00147584                      # Focus Event Instruction
00144bd4: 02202021 addu r4,r17,r0         
00144bd8: 080517c9 j 0x 00145f24           GOTO END
00144bdc: 00000000 nop                    

{38} FocusSpeed

00144be0: 16820009 bne r20,r2,0x 00144c08  
00144be4: 34020073 ori r2,r0,0x0073       
00144be8: 3c068016 lui r6,0x8016         
00144bec: 8cc65f9c lw r6,0x5f9c(r6)       
00144bf0: 02202021 addu r4,r17,r0         
00144bf4: 24c50068 addiu r5,r6,0x0068     
00144bf8: 0c051de0 jal 0x00147780                      # Focus Speed Event Instruction
00144bfc: 24c60074 addiu r6,r6,0x0074     
00144c00: 080517c9 j 0x 00145f24           GOTO END
00144c04: 00000000 nop                    

{73} unknown, uses a jal shared by CameraFusion

00144c08: 16820008 bne r20,r2,0x 00144c2c  
00144c0c: 34020019 ori r2,r0,0x0019       
00144c10: 3c058016 lui r5,0x8016          
00144c14: 8ca55f9c lw r5,0x5f9c(r5)       
00144c18: 02202021 addu r4,r17,r0         
00144c1c: 0c051d29 jal 0x001474a4                      # Event Instruction 0x73
00144c20: 24a50068 addiu r5,r5,0x0068     
00144c24: 080517c9 j 0x 00145f24           GOTO END
00144c28: 00000000 nop                    

{19} Camera

00144c2c: 16820008 bne r20,r2,0x 00144c50  
00144c30: 3402001d ori r2,r0,0x001d       
00144c34: 0c0526fb jal 0x00149bec                      # Get Next Available Thread ID
00144c38: 34040010 ori r4,r0,0x0010       
00144c3c: 00409021 addu r18,r2,r0         
00144c40: 3c058014 lui r5,0x8014          
00144c44: 24a56110 addiu r5,r5,0x6110     
00144c48: 08051413 j 0x 0014504c                       # GOTO part of MapLight code
00144c4c: 02402021 addu r4,r18,r0         

{1D} CameraFusionStart

00144c50: 1682000f bne r20,r2,0x 00144c90  
00144c54: 3402001e ori r2,r0,0x001e       
00144c58: 0c0526fb jal 0x00149bec                      # Get Next Available Thread ID
00144c5c: 34040010 ori r4,r0,0x0010       
00144c60: 00409021 addu r18,r2,r0         
00144c64: 3c058014 lui r5,0x8014          
00144c68: 24a5db9c addiu r5,r5,0xdb9c     
00144c6c: 0c053228 jal 0x0014c8a0                      # Initialize Thread
00144c70: 02402021 addu r4,r18,r0         
00144c74: 00121280 sll r2,r18,0x0a        
00144c78: 3c018017 lui r1,0x8017          
00144c7c: 00220821 addu r1,r1,r2          
00144c80: ac31986c sw r17,-0x6794(r1)     
00144c84: 03c02021 addu r4,r30,r0         
00144c88: 08051651 j 0x 00145944                       # GOTO code in AddUnitStart
00144c8c: 3405001e ori r5,r0,0x001e       Block End = 1E

{1E} CameraFusionEnd - non-op

00144c90: 128204a4 beq r20,r2,0x 00145f24 
00144c94: 34020063 ori r2,r0,0x0063       

{63} CameraSpeedCurve

00144c98: 16820005 bne r20,r2,0x 00144cb0  
00144c9c: 34020074 ori r2,r0,0x0074       
00144ca0: 3c018016 lui r1,0x8016         
00144ca4: ac326054 sw r18,0x6054(r1)      
00144ca8: 080517c9 j 0x 00145f24           GOTO END
00144cac: 00000000 nop                    

{74} non-op but with extra steps

00144cb0: 16820005 bne r20,r2,0x 00144cc8  
00144cb4: 34020028 ori r2,r0,0x0028       
00144cb8: 0c0526f9 jal 0x00149be4                    # Empty routine at 0x149be4
00144cbc: 02202021 addu r4,r17,r0         
00144cc0: 080517c9 j 0x 00145f24           GOTO END
00144cc4: 00000000 nop                    

{28} WalkTo

00144cc8: 16820009 bne r20,r2,0x 00144cf0  
00144ccc: 34020070 ori r2,r0,0x0070       
00144cd0: 3c028014 lui r2,0x8014         
00144cd4: 2442e5c0 addiu r2,r2,0xe5c0     
00144cd8: 3c018017 lui r1,0x8017          
00144cdc: ac223ca8 sw r2,0x3ca8(r1)       
00144ce0: 0c0533ad jal 0x0014ceb4                    # Call Inner Subroutine
00144ce4: 02202021 addu r4,r17,r0         
00144ce8: 080517c9 j 0x 00145f24           GOTO END
00144cec: 00000000 nop                    

{70} Jump

00144cf0: 16820005 bne r20,r2,0x 00144d08  
00144cf4: 34020029 ori r2,r0,0x0029       
00144cf8: 0c04f9c2 jal 0x0013e708                    # Jump Event Instruction
00144cfc: 02202021 addu r4,r17,r0         
00144d00: 080517c9 j 0x 00145f24           GOTO END
00144d04: 00000000 nop                    

{29} WaitWalk

00144d08: 16820006 bne r20,r2,0x 00144d24  
00144d0c: 34020079 ori r2,r0,0x0079       
00144d10: 00132400 sll r4,r19,0x10       
00144d14: 0c04f9f4 jal 0x0013e7d0                    # WaitWalk Event Instruction
00144d18: 00042403 sra r4,r4,0x10         
00144d1c: 080517c9 j 0x 00145f24           GOTO END
00144d20: 00000000 nop                    

{79} WalkToAnim

00144d24: 16820017 bne r20,r2,0x 00144d84  
00144d28: 34020039 ori r2,r0,0x0039       
00144d2c: 00132400 sll r4,r19,0x10       
00144d30: 0c04cc56 jal 0x00133158                    # Get misc ID
00144d34: 00042403 sra r4,r4,0x10         
00144d38: 00409021 addu r18,r2,r0         
00144d3c: 340807d0 ori r8,r0,0x07d0       
00144d40: 12480478 beq r18,r8,0x 00145f24  
00144d44: 00000000 nop                    
00144d48: 3c048017 lui r4,0x8017          
00144d4c: 8c843ca4 lw r4,0x3ca4(r4)       
00144d50: 00000000 nop                    
00144d54: 03c42021 addu r4,r30,r4         
00144d58: 0c05181e jal 0x00146078                    # Load Halfword
00144d5c: 24840003 addiu r4,r4,0x0003     
00144d60: 00121840 sll r3,r18,0x01        
00144d64: 3c018017 lui r1,0x8017          
00144d68: 00230821 addu r1,r1,r3          
00144d6c: a422da6c sh r2,-0x2594(r1)      
00144d70: 3c018017 lui r1,0x8017          
00144d74: 00230821 addu r1,r1,r3          
00144d78: a420da98 sh r0,-0x2568(r1)      
00144d7c: 080517c9 j 0x 00145f24           GOTO END
00144d80: 00000000 nop                    

{39} unknown

00144d84: 16820009 bne r20,r2,0x 00144dac  
00144d88: 3402003a ori r2,r0,0x003a       
00144d8c: 0c0532a0 jal 0x0014ca80                    # Switch To Next Thread
00144d90: 00000000 nop                    
00144d94: 0c051801 jal 0x00146004                    # Event Instruction 0x39
00144d98: 2404ffff addiu r4,r0,0xffff     
00144d9c: 10400461 beq r2,r0,0x 00145f24   
00144da0: 00000000 nop                    
00144da4: 08051363 j 0x 00144d8c           
00144da8: 00000000 nop                    

{3A} unknown, runs Check File Still Loading routine and waits for it to finish

00144dac: 16820009 bne r20,r2,0x 00144dd4  
00144db0: 3402002d ori r2,r0,0x002d       
00144db4: 0c0532a0 jal 0x0014ca80                    # Switch To Next Thread     
00144db8: 00000000 nop                    
00144dbc: 0c0111b2 jal 0x000446c8                    # [[Check File Still Loading]
00144dc0: 00000000 nop                    
00144dc4: 10400457 beq r2,r0,0x 00145f24   
00144dc8: 00000000 nop                    
00144dcc: 0805136d j 0x 00144db4           
00144dd0: 00000000 nop                    

{2D} RotateUnit

00144dd4: 16820005 bne r20,r2,0x 00144dec  
00144dd8: 3402002c ori r2,r0,0x002c       
00144ddc: 0c0520a1 jal 0x00148284                    # RotateUnit Event Instruction
00144de0: 02202021 addu r4,r17,r0         
00144de4: 080517c9 j 0x 00145f24           GOTO END
00144de8: 00000000 nop                    

{2C} FaceUnit2

00144dec: 16820006 bne r20,r2,0x 00144e08  
00144df0: 34020053 ori r2,r0,0x0053       
00144df4: 02202021 addu r4,r17,r0        
00144df8: 0c052021 jal 0x00148084                    # FaceUnit and FaceUnit2 Event Instruction
00144dfc: 00002821 addu r5,r0,r0          
00144e00: 080517c9 j 0x 00145f24           GOTO END
00144e04: 00000000 nop                    

{53} FaceUnit

00144e08: 16820006 bne r20,r2,0x 00144e24  
00144e0c: 34020069 ori r2,r0,0x0069       
00144e10: 02202021 addu r4,r17,r0        
00144e14: 0c052021 jal 0x00148084                    # FaceUnit and FaceUnit2 Event Instruction     
00144e18: 34050001 ori r5,r0,0x0001       
00144e1c: 080517c9 j 0x 00145f24           GOTO END
00144e20: 00000000 nop                    

{69} FaceTile

00144e24: 16820005 bne r20,r2,0x 00144e3c  
00144e28: 34020064 ori r2,r0,0x0064       
00144e2c: 0c0525e3 jal 0x0014978c                    # FaceTile Event Instruction
00144e30: 02202021 addu r4,r17,r0         
00144e34: 080517c9 j 0x 00145f24           GOTO END
00144e38: 00000000 nop                    

{64} WaitRotateUnit

00144e3c: 16820006 bne r20,r2,0x 00144e58  
00144e40: 34020065 ori r2,r0,0x0065       
00144e44: 00132400 sll r4,r19,0x10       
00144e48: 0c05263f jal 0x001498fc                    # WaitRotateUnit and WaitRotateAll Event Instruction
00144e4c: 00042403 sra r4,r4,0x10         
00144e50: 080517c9 j 0x 00145f24           GOTO END
00144e54: 00000000 nop                    

{65} WaitRotateAll

00144e58: 16820005 bne r20,r2,0x 00144e70  
00144e5c: 3402002a ori r2,r0,0x002a       
00144e60: 0c05263f jal 0x001498fc                    # WaitRotateUnit and WaitRotateAll Event Instruction
00144e64: 2404ffff addiu r4,r0,0xffff     
00144e68: 080517c9 j 0x 00145f24           GOTO END
00144e6c: 00000000 nop                    

{2A} BlockStart

00144e70: 1682000f bne r20,r2,0x 00144eb0  
00144e74: 3402002b ori r2,r0,0x002b       
00144e78: 0c0526fb jal 0x00149bec                    # Get Next Available Thread ID
00144e7c: 34040010 ori r4,r0,0x0010       
00144e80: 00409021 addu r18,r2,r0         
00144e84: 3c058014 lui r5,0x8014          
00144e88: 24a5e904 addiu r5,r5,0xe904     
00144e8c: 0c053228 jal 0x0014c8a0                    # Initialize Thread
00144e90: 02402021 addu r4,r18,r0         
00144e94: 00121280 sll r2,r18,0x0a        
00144e98: 3c018017 lui r1,0x8017          
00144e9c: 00220821 addu r1,r1,r2          
00144ea0: ac31986c sw r17,-0x6794(r1)     
00144ea4: 03c02021 addu r4,r30,r0         
00144ea8: 08051651 j 0x 00145944           
00144eac: 3405002b ori r5,r0,0x002b

{2B} BlockEnd non-op

00144eb0: 1282041c beq r20,r2,0x 00145f24 
00144eb4: 34020023 ori r2,r0,0x0023       

{23} non-op

00144eb8: 1282041a beq r20,r2,0x 00145f24 
00144ebc: 34020024 ori r2,r0,0x0024       

{24} non-op

00144ec0: 12820418 beq r20,r2,0x 00145f24 
00144ec4: 34020042 ori r2,r0,0x0042       

{42} EarthquakeEnd

00144ec8: 16820009 bne r20,r2,0x 00144ef0  
00144ecc: 34020025 ori r2,r0,0x0025       
00144ed0: 0c053216 jal 0x0014c858                   # Wait
00144ed4: 34040001 ori r4,r0,0x0001       
00144ed8: 0c05272f jal 0x00149cbc                   # Get Thread Running Task
00144edc: 3404000d ori r4,r0,0x000d       
00144ee0: 0c053250 jal 0x0014c940                   # Mark Thread As Stopped
00144ee4: 00402021 addu r4,r2,r0          
00144ee8: 080517c9 j 0x 00145f24           GOTO END
00144eec: 00000000 nop                    

{25} unknown, saves some data to 0x80166072 and 0x80166074

00144ef0: 1682000c bne r20,r2,0x 00144f24  
00144ef4: 3402001a ori r2,r0,0x001a       
00144ef8: 3c048017 lui r4,0x8017         
00144efc: 8c843ca4 lw r4,0x3ca4(r4)       
00144f00: 3c018016 lui r1,0x8016          
00144f04: a4336072 sh r19,0x6072(r1)      
00144f08: 03c42021 addu r4,r30,r4         
00144f0c: 0c05181e jal 0x00146078                   # Load Halfword
00144f10: 24840003 addiu r4,r4,0x0003     
00144f14: 3c018016 lui r1,0x8016          
00144f18: a4226074 sh r2,0x6074(r1)       
00144f1c: 080517c9 j 0x 00145f24           GOTO END
00144f20: 00000000 nop                    

{1A} MapDarkness

00144f24: 16820008 bne r20,r2,0x 00144f48  
00144f28: 3402003e ori r2,r0,0x003e       
00144f2c: 0c0526fb jal 0x00149bec                   # Get Next Available Thread ID
00144f30: 34040010 ori r4,r0,0x0010       
00144f34: 00409021 addu r18,r2,r0         
00144f38: 3c058014 lui r5,0x8014          
00144f3c: 24a566b4 addiu r5,r5,0x66b4     
00144f40: 08051413 j 0x 0014504c           
00144f44: 02402021 addu r4,r18,r0         

{3E} ColorScreen

00144f48: 16820008 bne r20,r2,0x 00144f6c  
00144f4c: 34020041 ori r2,r0,0x0041       
00144f50: 0c0526fb jal 0x00149bec                   # Get Next Available Thread ID 
00144f54: 34040010 ori r4,r0,0x0010       
00144f58: 00409021 addu r18,r2,r0         
00144f5c: 3c058014 lui r5,0x8014          
00144f60: 24a567dc addiu r5,r5,0x67dc     
00144f64: 08051413 j 0x 0014504c           
00144f68: 02402021 addu r4,r18,r0         

{41} EarthquakeStart

00144f6c: 16820008 bne r20,r2,0x 00144f90  
00144f70: 3410003b ori r16,r0,0x003b      
00144f74: 0c0526fb jal 0x00149bec                   # Get Next Available Thread ID
00144f78: 34040010 ori r4,r0,0x0010       
00144f7c: 00409021 addu r18,r2,r0         
00144f80: 3c058014 lui r5,0x8014          
00144f84: 24a5672c addiu r5,r5,0x672c     
00144f88: 08051413 j 0x 0014504c           
00144f8c: 02402021 addu r4,r18,r0         

{3B} SpriteMove & {6E} SpriteMoveBeta

00144f90: 12900003 beq r20,r16,0x 00144fa0
00144f94: 3402006e ori r2,r0,0x006e       
00144f98: 1682001d bne r20,r2,0x 00145010  
00144f9c: 3402006f ori r2,r0,0x006f       
00144fa0: 0c052712 jal 0x00149c48                   # 00149c48 - 00149cb8
00144fa4: 34040010 ori r4,r0,0x0010       
00144fa8: 16900005 bne r20,r16,0x 00144fc0 
00144fac: 00409021 addu r18,r2,r0         
00144fb0: 3c058014 lui r5,0x8014          
00144fb4: 24a56ee4 addiu r5,r5,0x6ee4     
00144fb8: 080513f3 j 0x 00144fcc           
00144fbc: 02402021 addu r4,r18,r0         
00144fc0: 02402021 addu r4,r18,r0         
00144fc4: 3c058014 lui r5,0x8014          
00144fc8: 24a56f20 addiu r5,r5,0x6f20     
00144fcc: 0c053228 jal 0x0014c8a0                   # Initialize Thread 
00144fd0: 00128280 sll r16,r18,0x0a       
00144fd4: 00132400 sll r4,r19,0x10        
00144fd8: 3402000b ori r2,r0,0x000b       
00144fdc: 3c018017 lui r1,0x8017          
00144fe0: 00300821 addu r1,r1,r16         
00144fe4: ac31986c sw r17,-0x6794(r1)     
00144fe8: 3c018017 lui r1,0x8017          
00144fec: 00300821 addu r1,r1,r16         
00144ff0: ac2298b8 sw r2,-0x6748(r1)      
00144ff4: 0c04cc56 jal 0x00133158                   # Get misc ID
00144ff8: 00042403 sra r4,r4,0x10         
00144ffc: 3c018017 lui r1,0x8017          
00145000: 00300821 addu r1,r1,r16         
00145004: ac2298bc sw r2,-0x6744(r1)      
00145008: 080517c9 j 0x 00145f24           GOTO END
0014500c: 00000000 nop                    

{6F} WaitSpriteMove

00145010: 16820006 bne r20,r2,0x 0014502c  
00145014: 3402001b ori r2,r0,0x001b       
00145018: 00132400 sll r4,r19,0x10       
0014501c: 0c051bd7 jal 0x00146f5c                   # WaitSpriteMove Event Instruction
00145020: 00042403 sra r4,r4,0x10         
00145024: 080517c9 j 0x 00145f24           GOTO END
00145028: 00000000 nop                    

{1B} MapLight

0014502c: 1682000f bne r20,r2,0x 0014506c  
00145030: 3402002e ori r2,r0,0x002e       
00145034: 0c0526fb jal 0x00149bec                   # Get Next Available Thread ID
00145038: 34040010 ori r4,r0,0x0010       
0014503c: 00409021 addu r18,r2,r0         
00145040: 02402021 addu r4,r18,r0         
00145044: 3c058014 lui r5,0x8014          
00145048: 24a5703c addiu r5,r5,0x703c     
0014504c: 0c053228 jal 0x0014c8a0                   # Initialize Thread 
00145050: 00000000 nop                    
00145054: 00121280 sll r2,r18,0x0a        
00145058: 3c018017 lui r1,0x8017          
0014505c: 00220821 addu r1,r1,r2          
00145060: ac31986c sw r17,-0x6794(r1)     
00145064: 080517c9 j 0x 00145f24           GOTO END
00145068: 00000000 nop                    

{2E} Background

0014506c: 16820019 bne r20,r2,0x 001450d4  
00145070: 34020031 ori r2,r0,0x0031       
00145074: 3c108017 lui r16,0x8017        
00145078: 2610e418 addiu r16,r16,0xe418   
0014507c: 02002021 addu r4,r16,r0         
00145080: 02202821 addu r5,r17,r0         
00145084: 0c052fd5 jal 0x0014bf54                   # Copy Bytes (0x14bf54)
00145088: 34060003 ori r6,r0,0x0003       
0014508c: 26040004 addiu r4,r16,0x0004    
00145090: 26250003 addiu r5,r17,0x0003    
00145094: 0c052fd5 jal 0x0014bf54                   # Copy Bytes (0x14bf54)
00145098: 34060003 ori r6,r0,0x0003       
0014509c: 92220007 lbu r2,0x0007(r17)     
001450a0: 00000000 nop                    
001450a4: 14400006 bne r2,r0,0x 001450c0   
001450a8: 00000000 nop                    
001450ac: 92240006 lbu r4,0x0006(r17)     
001450b0: 0c02407e jal 0x000901f8                   # 000901f8 - 00090254
001450b4: 02002821 addu r5,r16,r0         
001450b8: 080517c9 j 0x 00145f24           GOTO END
001450bc: 00000000 nop                    
001450c0: 92240006 lbu r4,0x0006(r17)     
001450c4: 0c024d7d jal 0x000935f4                   # 000935f4 - 00093610
001450c8: 02002821 addu r5,r16,r0         
001450cc: 080517c9 j 0x 00145f24           GOTO END
001450d0: 00000000 nop                    

{31} ColorBGBeta

001450d4: 1682000a bne r20,r2,0x 00145100  
001450d8: 34020032 ori r2,r0,0x0032       
001450dc: 82220003 lb r2,0x0003(r17)     
001450e0: 92240000 lbu r4,0x0000(r17)     
001450e4: 92250004 lbu r5,0x0004(r17)     
001450e8: 82260001 lb r6,0x0001(r17)      
001450ec: 82270002 lb r7,0x0002(r17)      
001450f0: 0c024d27 jal 0x0009349c                   # Color BG Beta
001450f4: afa20010 sw r2,0x0010(r29)      
001450f8: 080517c9 j 0x 00145f24           GOTO END
001450fc: 00000000 nop                    

{32} ColorUnit

00145100: 16820005 bne r20,r2,0x 00145118  
00145104: 3402006c ori r2,r0,0x006c       
00145108: 0c052578 jal 0x001495e0                   # Color Unit Event Instruction
0014510c: 02202021 addu r4,r17,r0          
00145110: 080517c9 j 0x 00145f24           GOTO END
00145114: 00000000 nop                      

{6C} unknown

00145118: 16820006 bne r20,r2,0x 00145134
0014511c: 3402006d ori r2,r0,0x006d       
00145120: 3264ffff andi r4,r19,0xffff    
00145124: 0c0525a3 jal 0x0014968c                  # Event Instruction 0x6C and 0x6D
00145128: 00002821 addu r5,r0,r0          
0014512c: 080517c9 j 0x 00145f24           GOTO END
00145130: 00000000 nop                    

{6D} unknown

00145134: 16820006 bne r20,r2,0x 00145150  
00145138: 34020033 ori r2,r0,0x0033       
0014513c: 3264ffff andi r4,r19,0xffff    
00145140: 0c0525a3 jal 0x0014968c                  # Event Instruction 0x6C and 0x6D 
00145144: 34050001 ori r5,r0,0x0001       
00145148: 080517c9 j 0x 00145f24           GOTO END
0014514c: 00000000 nop                    

{33} ColorField

00145150: 1682000a bne r20,r2,0x 0014517c  
00145154: 34020066 ori r2,r0,0x0066       
00145158: 82220003 lb r2,0x0003(r17)     
0014515c: 92240000 lbu r4,0x0000(r17)     
00145160: 92250004 lbu r5,0x0004(r17)     
00145164: 82260001 lb r6,0x0001(r17)      
00145168: 82270002 lb r7,0x0002(r17)      
0014516c: 0c024c5c jal 0x00093170                  # Color Field
00145170: afa20010 sw r2,0x0010(r29)      
00145174: 080517c9 j 0x 00145f24           GOTO END
00145178: 00000000 nop                    

{66} unknown

0014517c: 16820007 bne r20,r2,0x 0014519c  
00145180: 3402003f ori r2,r0,0x003f       
00145184: 00002021 addu r4,r0,r0         
00145188: 00002821 addu r5,r0,r0          
0014518c: 0c023d8f jal 0x0008f63c                  # Event Instruction 0x66
00145190: 34060001 ori r6,r0,0x0001       
00145194: 080517c9 j 0x 00145f24           GOTO END
00145198: 00000000 nop                    

{3F} unknown

0014519c: 1682000a bne r20,r2,0x 001451c8  
001451a0: 34020040 ori r2,r0,0x0040       
001451a4: 92250000 lbu r5,0x0000(r17)    
001451a8: 92260001 lbu r6,0x0001(r17)     
001451ac: 92270002 lbu r7,0x0002(r17)     
001451b0: 92220003 lbu r2,0x0003(r17)     
001451b4: 3404000b ori r4,r0,0x000b       
001451b8: 0c061053 jal 0x0018414c                 # deals with map coordinates 3  
001451bc: afa20010 sw r2,0x0010(r29)      
001451c0: 080517c9 j 0x 00145f24           GOTO END
001451c4: 00000000 nop                    

{40} unknown, something to do with tile data

001451c8: 1682001f bne r20,r2,0x 00145248  
001451cc: 3402001c ori r2,r0,0x001c       
001451d0: 92240000 lbu r4,0x0000(r17)    
001451d4: 92250001 lbu r5,0x0001(r17)     
001451d8: 92260002 lbu r6,0x0002(r17)     
001451dc: 0c060fed jal 0x00183fb4                 # Get Tile Data Pointer 
001451e0: 00000000 nop                    
001451e4: 00402021 addu r4,r2,r0          
001451e8: 90820000 lbu r2,0x0000(r4)      
001451ec: 00000000 nop                    
001451f0: 3042003f andi r2,r2,0x003f      
001451f4: 2442fffd addiu r2,r2,0xfffd     
001451f8: 2c420002 sltiu r2,r2,0x0002     
001451fc: 14400006 bne r2,r0,0x 00145218   
00145200: 00000000 nop                    
00145204: 90820000 lbu r2,0x0000(r4)      
00145208: 00000000 nop                    
0014520c: 304200c0 andi r2,r2,0x00c0      
00145210: 34420015 ori r2,r2,0x0015       
00145214: a0820000 sb r2,0x0000(r4)       
00145218: 92220003 lbu r2,0x0003(r17)     
0014521c: 00000000 nop                    
00145220: a0820002 sb r2,0x0002(r4)       
00145224: 92230004 lbu r3,0x0004(r17)     
00145228: 90820006 lbu r2,0x0006(r4)      
0014522c: 30630001 andi r3,r3,0x0001      
00145230: 00031840 sll r3,r3,0x01         
00145234: 304200fd andi r2,r2,0x00fd      
00145238: 00431025 or r2,r2,r3            
0014523c: 304200fe andi r2,r2,0x00fe      
00145240: 080517c9 j 0x 00145f24           GOTO END
00145244: a0820006 sb r2,0x0006(r4)       

{1C} EventSpeed

00145248: 16820005 bne r20,r2,0x 00145260  
0014524c: 34020076 ori r2,r0,0x0076       
00145250: 0c04f680 jal 0x0013da00                # Set Event Speed
00145254: 02402021 addu r4,r18,r0         
00145258: 080517c9 j 0x 00145f24           GOTO END
0014525c: 00000000 nop                    

{76} DarkScreen

00145260: 1682000e bne r20,r2,0x 0014529c  
00145264: 34020077 ori r2,r0,0x0077       
00145268: 3c018016 lui r1,0x8016         
0014526c: ac206044 sw r0,0x6044(r1)       
00145270: 0c0526fb jal 0x00149bec                # Get Next Available Thread ID
00145274: 34040010 ori r4,r0,0x0010       
00145278: 00409021 addu r18,r2,r0         
0014527c: 3c058014 lui r5,0x8014          
00145280: 24a5bd94 addiu r5,r5,0xbd94     
00145284: 0c053228 jal 0x0014c8a0                # Initialize Thread
00145288: 02402021 addu r4,r18,r0         
0014528c: 02402021 addu r4,r18,r0         
00145290: 00002821 addu r5,r0,r0          
00145294: 080517c3 j 0x 00145f0c           
00145298: 02203021 addu r6,r17,r0         

{77} RemoveDarkScreen

0014529c: 1682000c bne r20,r2,0x 001452d0  
001452a0: 34020078 ori r2,r0,0x0078       
001452a4: 0c05272f jal 0x00149cbc                # Get Thread Running Task
001452a8: 34040037 ori r4,r0,0x0037       
001452ac: 00409021 addu r18,r2,r0         
001452b0: 1240031c beq r18,r0,0x 00145f24  
001452b4: 00121a80 sll r3,r18,0x0a        
001452b8: 34020036 ori r2,r0,0x0036       
001452bc: 3c018017 lui r1,0x8017          
001452c0: 00230821 addu r1,r1,r3          
001452c4: ac2298b8 sw r2,-0x6748(r1)      
001452c8: 080517c9 j 0x 00145f24           GOTO END
001452cc: 00000000 nop                    

{78} DisplayConditions

001452d0: 16820014 bne r20,r2,0x 00145324  
001452d4: 3402007d ori r2,r0,0x007d       
001452d8: 0c0526fb jal 0x00149bec                # Get Next Available Thread ID
001452dc: 34040010 ori r4,r0,0x0010       
001452e0: 0040b021 addu r22,r2,r0         
001452e4: 34020004 ori r2,r0,0x0004       
001452e8: 16c20006 bne r22,r2,0x 00145304  
001452ec: 34020007 ori r2,r0,0x0007       
001452f0: 16420004 bne r18,r2,0x 00145304  
001452f4: 00000000 nop                    
001452f8: 0c053274 jal 0x0014c9d0                # Wait For Thread
001452fc: 34040002 ori r4,r0,0x0002       
00145300: 34160002 ori r22,r0,0x0002      
00145304: 3c058014 lui r5,0x8014          
00145308: 24a5bd6c addiu r5,r5,0xbd6c     
0014530c: 0c053228 jal 0x0014c8a0                # Initialize Thread
00145310: 02c02021 addu r4,r22,r0         
00145314: 02c02021 addu r4,r22,r0         
00145318: 02402821 addu r5,r18,r0         
0014531c: 080517c3 j 0x 00145f0c           GOTO (near) END
00145320: 02a03021 addu r6,r21,r0         

{7D} ShowGraphic

00145324: 1682000b bne r20,r2,0x 00145354  
00145328: 34020021 ori r2,r0,0x0021       
0014532c: 0c0526fb jal 0x00149bec                # Get Next Available Thread ID
00145330: 34040010 ori r4,r0,0x0010       
00145334: 0040b021 addu r22,r2,r0         
00145338: 3c058014 lui r5,0x8014          
0014533c: 24a5c710 addiu r5,r5,0xc710     
00145340: 0c053228 jal 0x0014c8a0                # Initialize Thread
00145344: 02c02021 addu r4,r22,r0         
00145348: 02c02021 addu r4,r22,r0         
0014534c: 080517c2 j 0x 00145f08           
00145350: 02402821 addu r5,r18,r0         

{21} SoundEffect

00145354: 16820007 bne r20,r2,0x 00145374  
00145358: 3402006b ori r2,r0,0x006b       
0014535c: 00131400 sll r2,r19,0x10       
00145360: 00021403 sra r2,r2,0x10         
00145364: 3c018016 lui r1,0x8016          
00145368: ac225fb4 sw r2,0x5fb4(r1)       
0014536c: 080517c9 j 0x 00145f24           GOTO END
00145370: 00000000 nop                    

{6B} BGSound

00145374: 16820008 bne r20,r2,0x 00145398  
00145378: 3402006a ori r2,r0,0x006a       
0014537c: 0c0526fb jal 0x00149bec                # Get Next Available Thread ID
00145380: 34040010 ori r4,r0,0x0010       
00145384: 00409021 addu r18,r2,r0         
00145388: 3c058015 lui r5,0x8015          
0014538c: 24a599ac addiu r5,r5,0x99ac     
00145390: 080517be j 0x 00145ef8           
00145394: 02402021 addu r4,r18,r0         

{6A} EditBGSound

00145398: 16820008 bne r20,r2,0x 001453bc  
0014539c: 34020022 ori r2,r0,0x0022       
001453a0: 0c0526fb jal 0x00149bec                # Get Next Available Thread ID
001453a4: 34040010 ori r4,r0,0x0010       
001453a8: 00409021 addu r18,r2,r0         
001453ac: 3c058015 lui r5,0x8015          
001453b0: 24a59a54 addiu r5,r5,0x9a54     
001453b4: 080517be j 0x 00145ef8           
001453b8: 02402021 addu r4,r18,r0         

{22} SwitchTrack

001453bc: 1682000b bne r20,r2,0x 001453ec  
001453c0: 34020060 ori r2,r0,0x0060       
001453c4: 3c018016 lui r1,0x8016         
001453c8: a4325fc8 sh r18,0x5fc8(r1)      
001453cc: 3c018017 lui r1,0x8017          
001453d0: a4353f54 sh r21,0x3f54(r1)      
001453d4: 3c018017 lui r1,0x8017          
001453d8: a4363f56 sh r22,0x3f56(r1)      
001453dc: 0c0532a0 jal 0x0014ca80                # Switch To Next Thread
001453e0: 00000000 nop                    
001453e4: 080517c9 j 0x 00145f24           GOTO END
001453e8: 00000000 nop                    

{60} FadeSound

001453ec: 16820009 bne r20,r2,0x 00145414  
001453f0: 3402005e ori r2,r0,0x005e       
001453f4: 26420010 addiu r2,r18,0x0010   
001453f8: 00551004 sllv r2,r21,r2         
001453fc: 3c018016 lui r1,0x8016          
00145400: ac225fc0 sw r2,0x5fc0(r1)       
00145404: 0c0532a0 jal 0x0014ca80                # Switch To Next Thread
00145408: 00000000 nop                    
0014540c: 080517c9 j 0x 00145f24           GOTO END
00145410: 00000000 nop                    

{5E} EndTrack

00145414: 16820007 bne r20,r2,0x 00145434  
00145418: 34020058 ori r2,r0,0x0058       
0014541c: 3c018016 lui r1,0x8016         
00145420: a4325fca sh r18,0x5fca(r1)      
00145424: 0c0532a0 jal 0x0014ca80                # Switch To Next Thread
00145428: 00000000 nop                    
0014542c: 080517c9 j 0x 00145f24           GOTO END
00145430: 00000000 nop                    

{58} LoadEVTCHR

00145434: 16820018 bne r20,r2,0x 00145498  
00145438: 3402005b ori r2,r0,0x005b       
0014543c: 0c0526fb jal 0x00149bec                # Get Next Available Thread ID
00145440: 34040010 ori r4,r0,0x0010       
00145444: 0040a821 addu r21,r2,r0                # r21 = counter (returned from jal)
00145448: 3c058014 lui r5,0x8014          
0014544c: 24a5c7c4 addiu r5,r5,0xc7c4            # r5 = 0x8013c7c4
00145450: 0c053228 jal 0x0014c8a0                # Initialize Thread store a bunch of addresses
00145454: 02a02021 addu r4,r21,r0                # r4 = counter
00145458: 3c048017 lui r4,0x8017          
0014545c: 8c843ca4 lw r4,0x3ca4(r4)              # load address (0x4a6bc)
00145460: 00000000 nop                    
00145464: 03c42021 addu r4,r30,r4                # address + (0x58)
00145468: 0c05181e jal 0x00146078                # Load Halfword load Command data (returns r2 = [2nd EVTCHR byte*256] + 3rd EVTCHR byte
0014546c: 24840002 addiu r4,r4,0x0002     
00145470: 02a02021 addu r4,r21,r0                # r4 = counter
00145474: 02402821 addu r5,r18,r0         
00145478: 00021400 sll r2,r2,0x10         
0014547c: 00023403 sra r6,r2,0x10                # r6 = 2nd EVTCHR byte
00145480: 0c05328e jal 0x0014ca38                # Store Thread Function Parameters Store EVTCHR command data
00145484: 00003821 addu r7,r0,r0          
00145488: 0c0532a0 jal 0x0014ca80                # Switch to Next Thread
0014548c: 00000000 nop                    
00145490: 080517c9 j 0x 00145f24           GOTO END
00145494: 00000000 nop                    

{5B} LoadEVTCHRClear

00145498: 16820007 bne r20,r2,0x 001454b8  
0014549c: 34020059 ori r2,r0,0x0059       
001454a0: 3c018017 lui r1,0x8017         
001454a4: ac323ca0 sw r18,0x3ca0(r1)      
001454a8: 0c0532a0 jal 0x0014ca80                # Switch to Next Thread
001454ac: 00000000 nop                    
001454b0: 080517c9 j 0x 00145f24           GOTO END
001454b4: 00000000 nop                    

{59} SaveEVTCHR

001454b8: 16820007 bne r20,r2,0x 001454d8  
001454bc: 3402005a ori r2,r0,0x005a       
001454c0: 3c018017 lui r1,0x8017         
001454c4: ac323f4c sw r18,0x3f4c(r1)      
001454c8: 0c0532a0 jal 0x0014ca80                # Switch to Next Thread
001454cc: 00000000 nop                    
001454d0: 080517c9 j 0x 00145f24           GOTO END
001454d4: 00000000 nop                    

{5A} SaveEVTCHRClear

001454d8: 16820007 bne r20,r2,0x 001454f8  
001454dc: 3402005c ori r2,r0,0x005c       
001454e0: 3c018017 lui r1,0x8017         
001454e4: ac323f50 sw r18,0x3f50(r1)      
001454e8: 0c0532a0 jal 0x0014ca80                # Switch to Next Thread
001454ec: 00000000 nop                    
001454f0: 080517c9 j 0x 00145f24           GOTO END
001454f4: 00000000 nop                    

{5C} unknown

001454f8: 1682000c bne r20,r2,0x 0014552c  
001454fc: 3402005d ori r2,r0,0x005d       
00145500: 00132400 sll r4,r19,0x10        
00145504: 0c04cc56 jal 0x00133158                # Get misc ID
00145508: 00042403 sra r4,r4,0x10         
0014550c: 00021200 sll r2,r2,0x08         
00145510: 00561025 or r2,r2,r22           
00145514: 3c018017 lui r1,0x8017          
00145518: ac223cac sw r2,0x3cac(r1)       
0014551c: 0c0532a0 jal 0x0014ca80                # Switch to Next Thread
00145520: 00000000 nop                    
00145524: 080517c9 j 0x 00145f24           GOTO END
00145528: 00000000 nop                    

{5D} unknown

0014552c: 16820007 bne r20,r2,0x 0014554c  
00145530: 340200e0 ori r2,r0,0x00e0       
00145534: 3c018017 lui r1,0x8017         
00145538: ac323f48 sw r18,0x3f48(r1)      
0014553c: 0c0532a0 jal 0x0014ca80                # Switch to Next Thread
00145540: 00000000 nop                    
00145544: 080517c9 j 0x 00145f24           GOTO END
00145548: 00000000 nop                    

{E0} non-op

0014554c: 12820275 beq r20,r2,0x 00145f24 
00145550: 3402003d ori r2,r0,0x003d       

{3D} RemoveUnit

00145554: 1682001e bne r20,r2,0x 001455d0  
00145558: 34020044 ori r2,r0,0x0044       
0014555c: 00132400 sll r4,r19,0x10       
00145560: 0c04cc56 jal 0x00133158                # Get misc ID
00145564: 00042403 sra r4,r4,0x10         
00145568: 00021400 sll r2,r2,0x10         
0014556c: 00022403 sra r4,r2,0x10         
00145570: 340807d0 ori r8,r0,0x07d0       
00145574: 1088026b beq r4,r8,0x 00145f24   
00145578: 00808021 addu r16,r4,r0         
0014557c: 0c051801 jal 0x00146004                # 00146004 - 00146074  
00145580: 02002021 addu r4,r16,r0         
00145584: 10400005 beq r2,r0,0x 0014559c   
00145588: 340807d0 ori r8,r0,0x07d0       
0014558c: 0c0532a0 jal 0x0014ca80                # Switch To Next Thread
00145590: 00000000 nop                    
00145594: 0805155f j 0x 0014557c           
00145598: 00000000 nop                    
0014559c: 12080261 beq r16,r8,0x 00145f24  
001455a0: 00000000 nop                    
001455a4: 0c023374 jal 0x0008cdd0                # Get Battle Unit Index By Unit Misc ID
001455a8: 02002021 addu r4,r16,r0         
001455ac: 00409021 addu r18,r2,r0         
001455b0: 0c02348a jal 0x0008d228                # 0008d228 - 0008d268
001455b4: 02002021 addu r4,r16,r0         
001455b8: 0640025a bltz r18,0x 00145f24    
001455bc: 00000000 nop                    
001455c0: 0c05ff60 jal 0x0017fd80                # Set unit cannot exist(but can), return r2 = 0
001455c4: 02402021 addu r4,r18,r0         
001455c8: 080517c9 j 0x 00145f24           GOTO END
001455cc: 00000000 nop                    

{44} Draw

001455d0: 1682001e bne r20,r2,0x 0014564c  
001455d4: 34020046 ori r2,r0,0x0046       
001455d8: 00132400 sll r4,r19,0x10       
001455dc: 0c04cc56 jal 0x00133158                # Get misc ID
001455e0: 00042403 sra r4,r4,0x10         
001455e4: 00021400 sll r2,r2,0x10         
001455e8: 00028403 sra r16,r2,0x10        
001455ec: 340807d0 ori r8,r0,0x07d0       
001455f0: 1208024c beq r16,r8,0x 00145f24  
001455f4: 00000000 nop                    
001455f8: 0c02344e jal 0x0008d138                # store mimicking misc data, existence/entd checks
001455fc: 02002021 addu r4,r16,r0           
00145600: 0c04ed64 jal 0x0013b590                # Get Script Variable
00145604: 34040027 ori r4,r0,0x0027              # Var 0x27: Current Event
00145608: 3403018c ori r3,r0,0x018c              # 0x018C - Zalera event
0014560c: 14430245 bne r2,r3,0x 00145f24         # Branch to END if not Zalera event
00145610: 00000000 nop                    
00145614: 0c023374 jal 0x0008cdd0                # Get Battle Unit Index By Unit Misc ID
00145618: 02002021 addu r4,r16,r0         
0014561c: 00402021 addu r4,r2,r0                 # r4 = Battle unit index
00145620: 34050001 ori r5,r0,0x0001              # r5 = 1 (apply statuses)
00145624: 0c052122 jal 0x00148488                # Zalera Special Status Flag Enabling when Drawing units
00145628: 00000000 nop                    
0014562c: 3c028009 lui r2,0x8009          
00145630: 2442bde4 addiu r2,r2,0xbde4     
00145634: 3c018017 lui r1,0x8017          
00145638: ac223ca8 sw r2,0x3ca8(r1)       
0014563c: 0c0533ad jal 0x0014ceb4                # Call Inner Subroutine
00145640: 02002021 addu r4,r16,r0         
00145644: 080517c9 j 0x 00145f24           GOTO END
00145648: 00000000 nop                    

{46} Erase

0014564c: 16820015 bne r20,r2,0x 001456a4  
00145650: 34020047 ori r2,r0,0x0047       
00145654: 00132400 sll r4,r19,0x10       
00145658: 0c04cc56 jal 0x00133158                # Get misc ID         
0014565c: 00042403 sra r4,r4,0x10         
00145660: 00021400 sll r2,r2,0x10         
00145664: 00022403 sra r4,r2,0x10         
00145668: 340807d0 ori r8,r0,0x07d0       
0014566c: 1088022d beq r4,r8,0x 00145f24   
00145670: 00000000 nop                    
00145674: 0c023463 jal 0x0008d18c                # Reset Misc Unit Graphic Trigger
00145678: 00000000 nop                    
0014567c: 080517c9 j 0x 00145f24           GOTO END
00145680: 00000000 nop                    
00145684: 92220000 lbu r2,0x0000(r17)     
00145688: 00000000 nop                    
0014568c: 00021040 sll r2,r2,0x01         
00145690: 3c018016 lui r1,0x8016          
00145694: 00220821 addu r1,r1,r2          
00145698: a4305fe8 sh r16,0x5fe8(r1)      
0014569c: 080515bc j 0x 001456f0           
001456a0: 34020015 ori r2,r0,0x0015       

{47} AddGhostUnit

001456a4: 16820027 bne r20,r2,0x 00145744  
001456a8: 34020075 ori r2,r0,0x0075       
001456ac: 3c028017 lui r2,0x8017         
001456b0: 8c423ca4 lw r2,0x3ca4(r2)       
001456b4: 34100003 ori r16,r0,0x0003      
001456b8: 03c21021 addu r2,r30,r2         
001456bc: 24510003 addiu r17,r2,0x0003    
001456c0: 2610ffff addiu r16,r16,0xffff   
001456c4: 0601ffff bgez r16,0x 001456c4    
001456c8: 2610ffff addiu r16,r16,0xffff   
001456cc: 00008021 addu r16,r0,r0         
001456d0: 0c0232ed jal 0x0008cbb4                # Does Misc Unit Exist With ID
001456d4: 02002021 addu r4,r16,r0         
001456d8: 1040ffea beq r2,r0,0x 00145684   
001456dc: 00000000 nop                    
001456e0: 26100001 addiu r16,r16,0x0001   
001456e4: 2a020015 slti r2,r16,0x0015     
001456e8: 1440fff9 bne r2,r0,0x 001456d0   
001456ec: 34020015 ori r2,r0,0x0015       
001456f0: 1202f986 beq r16,r2,0x00143d0c  
001456f4: 00131400 sll r2,r19,0x10        
001456f8: 92240001 lbu r4,0x0001(r17)     
001456fc: 92250002 lbu r5,0x0002(r17)     
00145700: 92260003 lbu r6,0x0003(r17)     
00145704: 92270004 lbu r7,0x0004(r17)     
00145708: 00021403 sra r2,r2,0x10         
0014570c: afa20010 sw r2,0x0010(r29)      
00145710: 92220000 lbu r2,0x0000(r17)     
00145714: 00000000 nop                    
00145718: 00021040 sll r2,r2,0x01         
0014571c: 3c018016 lui r1,0x8016          
00145720: 00220821 addu r1,r1,r2          
00145724: 84225fe8 lh r2,0x5fe8(r1)       
00145728: 00000000 nop                    
0014572c: afa20014 sw r2,0x0014(r29)      
00145730: 92220005 lbu r2,0x0005(r17)     
00145734: 0c0233de jal 0x0008cf78                # 0008cf78 - 0008d058
00145738: afa20018 sw r2,0x0018(r29)      
0014573c: 080515f6 j 0x 001457d8           
00145740: 34080001 ori r8,r0,0x0001       

{75} non-op

00145744: 128201f7 beq r20,r2,0x 00145f24 
00145748: 34020045 ori r2,r0,0x0045       

{45} AddUnit

0014574c: 16820036 bne r20,r2,0x 00145828  
00145750: 3402005f ori r2,r0,0x005f
00145754: 0c050ef4 jal 0x00143bd0                # 00143bd0 - 00143bd4 jr r31   
00145758: 00000000 nop                    
0014575c: 00132400 sll r4,r19,0x10        
00145760: 00042403 sra r4,r4,0x10         
00145764: 0c060324 jal 0x00180c90                # Find Unit Data Pointer For ENTD Unit ID
00145768: 27a50020 addiu r5,r29,0x0020    
0014576c: 00408821 addu r17,r2,r0         
00145770: 8fa30020 lw r3,0x0020(r29)      
00145774: 2402fffe addiu r2,r0,0xfffe     
00145778: 10620003 beq r3,r2,0x 00145788   
0014577c: 00008021 addu r16,r0,r0         
00145780: 046001e8 bltz r3,0x 00145f24     
00145784: 00000000 nop                    
00145788: 0c0602bf jal 0x00180afc                # Get Unit's Data Pointer
0014578c: 02002021 addu r4,r16,r0         
00145790: 10510005 beq r2,r17,0x 001457a8  
00145794: 00000000 nop                    
00145798: 26100001 addiu r16,r16,0x0001   
0014579c: 2a020015 slti r2,r16,0x0015     
001457a0: 1440fff9 bne r2,r0,0x 00145788   
001457a4: 00000000 nop                    
001457a8: 0c023388 jal 0x0008ce20                # Get Unit Misc ID By Unit Index
001457ac: 02002021 addu r4,r16,r0         
001457b0: 00409021 addu r18,r2,r0         
001457b4: 2402ffff addiu r2,r0,0xffff     
001457b8: 1642000b bne r18,r2,0x 001457e8  
001457bc: 00000000 nop                    
001457c0: 0c052160 jal 0x00148580                # Update Unit Status And Staged Status Data
001457c4: 02002021 addu r4,r16,r0         
001457c8: 02002021 addu r4,r16,r0         
001457cc: 0c023417 jal 0x0008d05c                # 0008d05c - 0008d100
001457d0: 02c02821 addu r5,r22,r0         
001457d4: 34080001 ori r8,r0,0x0001       
001457d8: 3c018016 lui r1,0x8016          
001457dc: a428604e sh r8,0x604e(r1)       
001457e0: 080517c9 j 0x 00145f24           GOTO END
001457e4: 00000000 nop                    
001457e8: 16c00003 bne r22,r0,0x 001457f8  
001457ec: 00000000 nop                    
001457f0: 0c02344e jal 0x0008d138                # store mimicking misc data, existence/entd checks
001457f4: 02402021 addu r4,r18,r0         
001457f8: 0c052160 jal 0x00148580                # Update Unit Status And Staged Status Data
001457fc: 02002021 addu r4,r16,r0         
00145800: 104001c8 beq r2,r0,0x 00145f24   
00145804: 00000000 nop                    
00145808: 3c028009 lui r2,0x8009          
0014580c: 2442bde4 addiu r2,r2,0xbde4     
00145810: 3c018017 lui r1,0x8017          
00145814: ac223ca8 sw r2,0x3ca8(r1)       
00145818: 0c0533ad jal 0x0014ceb4                # Call Inner Subroutine
0014581c: 02402021 addu r4,r18,r0         
00145820: 080517c9 j 0x 00145f24           GOTO END
00145824: 00000000 nop                    

{5F} WarpUnit

00145828: 16820005 bne r20,r2,0x 00145840  
0014582c: 34020061 ori r2,r0,0x0061       
00145830: 0c051f98 jal 0x00147e60                # Warp Unit
00145834: 02202021 addu r4,r17,r0         
00145838: 080517c9 j 0x 00145f24           GOTO END
0014583c: 00000000 nop                    

{61} non-op

00145840: 128201b8 beq r20,r2,0x 00145f24 
00145844: 34020062 ori r2,r0,0x0062       

{62} unknown, saves some values to the unit's X, Y, and elevation/facing

00145848: 1682001a bne r20,r2,0x 001458b4  
0014584c: 34020048 ori r2,r0,0x0048       
00145850: 0c0602bf jal 0x00180afc                # Get Unit's Data Pointer
00145854: 02402021 addu r4,r18,r0         
00145858: 3c048017 lui r4,0x8017          
0014585c: 8c843ca4 lw r4,0x3ca4(r4)              # Load a pointer from 0x80173CA4
00145860: 00000000 nop                    
00145864: 03c42021 addu r4,r30,r4         
00145868: 90830003 lbu r3,0x0003(r4)      
0014586c: 00408821 addu r17,r2,r0         
00145870: a2230047 sb r3,0x0047(r17)             # Save some value to the unit's X coodrinate
00145874: 90820004 lbu r2,0x0004(r4)      
00145878: 00000000 nop                    
0014587c: a2220048 sb r2,0x0048(r17)             # Save some value to the unit's Y coordinate
00145880: 90820005 lbu r2,0x0005(r4)      
00145884: 96230048 lhu r3,0x0048(r17)     
00145888: 000213c0 sll r2,r2,0x0f         
0014588c: 30637fff andi r3,r3,0x7fff      
00145890: 00621825 or r3,r3,r2            
00145894: a6230048 sh r3,0x0048(r17)             # Save some value to the unit's Y coordinate/elevation/facing
00145898: 90820006 lbu r2,0x0006(r4)      
0014589c: 3063f0ff andi r3,r3,0xf0ff      
001458a0: 3042000f andi r2,r2,0x000f      
001458a4: 00021200 sll r2,r2,0x08         
001458a8: 00621825 or r3,r3,r2            
001458ac: 080517c9 j 0x 00145f24           GOTO END
001458b0: a6230048 sh r3,0x0048(r17)             # Save some value to the unit's Y coordinate/elevation/facing     

{48} WaitAddUnit

001458b4: 1682000a bne r20,r2,0x 001458e0  
001458b8: 3402004b ori r2,r0,0x004b       
001458bc: 0c0532a0 jal 0x0014ca80                # Switch To Next Thread
001458c0: 00000000 nop                    
001458c4: 3c028016 lui r2,0x8016          
001458c8: 9442604e lhu r2,0x604e(r2)      
001458cc: 00000000 nop                    
001458d0: 10400194 beq r2,r0,0x 00145f24   
001458d4: 00000000 nop                    
001458d8: 0805162f j 0x 001458bc           
001458dc: 00000000 nop                    

{4B} WaitAddUnitEnd

001458e0: 16820009 bne r20,r2,0x 00145908  
001458e4: 34020049 ori r2,r0,0x0049       
001458e8: 0c0532a0 jal 0x0014ca80                # Switch To Next Thread
001458ec: 00000000 nop                    
001458f0: 0c05272f jal 0x00149cbc                # Get Thread Running Task
001458f4: 3404000e ori r4,r0,0x000e       
001458f8: 1040018a beq r2,r0,0x 00145f24   
001458fc: 00000000 nop                    
00145900: 0805163a j 0x 001458e8           
00145904: 00000000 nop                    

{49} AddUnitStart

00145908: 16820012 bne r20,r2,0x 00145954  
0014590c: 3402004a ori r2,r0,0x004a       
00145910: 0c0526fb jal 0x00149bec                # Get Next Available Thread ID
00145914: 34040010 ori r4,r0,0x0010       
00145918: 00409021 addu r18,r2,r0         
0014591c: 3c058014 lui r5,0x8014          
00145920: 24a5edd8 addiu r5,r5,0xedd8     
00145924: 0c053228 jal 0x0014c8a0                # Initialize Thread
00145928: 02402021 addu r4,r18,r0         
0014592c: 00121280 sll r2,r18,0x0a        
00145930: 3c018017 lui r1,0x8017          
00145934: 00220821 addu r1,r1,r2          
00145938: ac31986c sw r17,-0x6794(r1)     
0014593c: 03c02021 addu r4,r30,r0         
00145940: 3405004a ori r5,r0,0x004a       Block End = 4A
00145944: 0c0527af jal 0x00149ebc                # Find Event Instruction Byte Offset
00145948: 00000000 nop                    
0014594c: 080517c9 j 0x 00145f24           GOTO END
00145950: 0040f021 addu r30,r2,r0         

{4A} AddUnitEnd

00145954: 12820173 beq r20,r2,0x 00145f24 
00145958: 340200e5 ori r2,r0,0x00e5       

{E5} WaitForInstruction

0014595c: 1682001a bne r20,r2,0x 001459c8  
00145960: 340200f0 ori r2,r0,0x00f0       
00145964: 00151200 sll r2,r21,0x08       
00145968: 0052b021 addu r22,r2,r18        
0014596c: 3c118017 lui r17,0x8017         
00145970: 2631986c addiu r17,r17,0x986c   
00145974: 0c0532a0 jal 0x0014ca80                # Switch To Next Thread
00145978: 34100001 ori r16,r0,0x0001      
0014597c: 00101280 sll r2,r16,0x0a        
00145980: 00511821 addu r3,r2,r17         
00145984: 8c620048 lw r2,0x0048(r3)       
00145988: 00000000 nop                    
0014598c: 10400005 beq r2,r0,0x 001459a4   
00145990: 00000000 nop                    
00145994: 8c62004c lw r2,0x004c(r3)       
00145998: 00000000 nop                    
0014599c: 10560006 beq r2,r22,0x 001459b8  
001459a0: 34020010 ori r2,r0,0x0010       
001459a4: 26100001 addiu r16,r16,0x0001   
001459a8: 2a020010 slti r2,r16,0x0010     
001459ac: 1440fff4 bne r2,r0,0x 00145980   
001459b0: 00101280 sll r2,r16,0x0a        
001459b4: 34020010 ori r2,r0,0x0010       
001459b8: 1202015a beq r16,r2,0x 00145f24  
001459bc: 00000000 nop                    
001459c0: 0805165d j 0x 00145974           
001459c4: 00000000 nop                    

{F0} unknown

001459c8: 16820005 bne r20,r2,0x 001459e0  
001459cc: 340200f1 ori r2,r0,0x00f1       
001459d0: 0c0532a0 jal 0x0014ca80                # Switch To Next Thread
001459d4: 00000000 nop                    
001459d8: 080517c9 j 0x 00145f24           GOTO END
001459dc: 00000000 nop                    

{F1} Wait

001459e0: 16820016 bne r20,r2,0x 00145a3c  
001459e4: 3402007b ori r2,r0,0x007b       
001459e8: 0c04b721 jal 0x0012dc84                # Check If Tutorial Event Slot
001459ec: 00000000 nop                    
001459f0: 1040000d beq r2,r0,0x 00145a28         # Branch if not
001459f4: 00131400 sll r2,r19,0x10        
001459f8: 00028403 sra r16,r2,0x10        
001459fc: 2a020003 slti r2,r16,0x0003     
00145a00: 1440000a bne r2,r0,0x 00145a2c   
00145a04: 00132400 sll r4,r19,0x10        
00145a08: 0c0237b6 jal 0x0008ded8                # 0008ded8 - 0008dee4
00145a0c: 00000000 nop                    
00145a10: 0202001a div r16,r2             
00145a14: 00002012 mflo r4                
00145a18: 0c053216 jal 0x0014c858                # Wait
00145a1c: 00000000 nop                    
00145a20: 080517c9 j 0x 00145f24           GOTO END
00145a24: 00000000 nop                    
00145a28: 00132400 sll r4,r19,0x10        
00145a2c: 0c053216 jal 0x0014c858                # Wait
00145a30: 00042403 sra r4,r4,0x10         
00145a34: 080517c9 j 0x 00145f24           GOTO END
00145a38: 00000000 nop                    

{7B} unknown

00145a3c: 1682000d bne r20,r2,0x 00145a74  
00145a40: 3402007c ori r2,r0,0x007c       
00145a44: 00131400 sll r2,r19,0x10       
00145a48: 00028403 sra r16,r2,0x10        
00145a4c: 0c0532a0 jal 0x0014ca80                # Switch To Next Thread
00145a50: 00000000 nop                    
00145a54: 3c028017 lui r2,0x8017          
00145a58: 8c42d9b4 lw r2,-0x264c(r2)      
00145a5c: 00000000 nop                    
00145a60: 02021024 and r2,r16,r2          
00145a64: 1040fff9 beq r2,r0,0x 00145a4c   
00145a68: 00000000 nop                    
00145a6c: 080517c9 j 0x 00145f24           GOTO END
00145a70: 00000000 nop                    

{7C} unknown - turns off all music, maybe?

00145a74: 16820005 bne r20,r2,0x 00145a8c  
00145a78: 3402004e ori r2,r0,0x004e       
00145a7c: 0c011033 jal 0x000440cc          # 000440cc - 000440f0     
00145a80: 00000000 nop                    
00145a84: 080517c9 j 0x 00145f24           GOTO END
00145a88: 00000000 nop                    

{4E} AddUnit

00145a8c: 16820013 bne r20,r2,0x 00145adc  
00145a90: 34020072 ori r2,r0,0x0072       
00145a94: 00132400 sll r4,r19,0x10       
00145a98: 0c04cc56 jal 0x00133158          # Get misc ID
00145a9c: 00042403 sra r4,r4,0x10         
00145aa0: 00021400 sll r2,r2,0x10         
00145aa4: 00022403 sra r4,r2,0x10         
00145aa8: 340807d0 ori r8,r0,0x07d0       
00145aac: 1088011d beq r4,r8,0x 00145f24   
00145ab0: 00000000 nop                    
00145ab4: 12c00005 beq r22,r0,0x 00145acc  
00145ab8: 00000000 nop                    
00145abc: 0c0230a9 jal 0x0008c2a4          # 0008c2a4 - 0008c2d8
00145ac0: 00000000 nop                    
00145ac4: 080517c9 j 0x 00145f24           GOTO END
00145ac8: 00000000 nop                    
00145acc: 0c02309a jal 0x0008c268          # 0008c268 - 0008c2a0
00145ad0: 00000000 nop                    
00145ad4: 080517c9 j 0x 00145f24           GOTO END
00145ad8: 00000000 nop                    

{72} unknown

00145adc: 16820005 bne r20,r2,0x 00145af4  
00145ae0: 3402007e ori r2,r0,0x007e       
00145ae4: 0c04f961 jal 0x0013e584          # Event Instruction 0x72
00145ae8: 00000000 nop                    
00145aec: 080517c9 j 0x 00145f24           GOTO END
00145af0: 00000000 nop                    

{7E} WaitValue

00145af4: 16820005 bne r20,r2,0x 00145b0c  
00145af8: 3402007f ori r2,r0,0x007f       
00145afc: 0c0528fe jal 0x0014a3f8          # Wait Value Event Instruction
00145b00: 02202021 addu r4,r17,r0         
00145b04: 080517c9 j 0x 00145f24           GOTO END
00145b08: 00000000 nop                    

{7F} EVTCHRPalette

00145b0c: 1682000d bne r20,r2,0x 00145b44  
00145b10: 34020082 ori r2,r0,0x0082       
00145b14: 00132400 sll r4,r19,0x10        
00145b18: 0c04cc56 jal 0x00133158          # Get misc ID
00145b1c: 00042403 sra r4,r4,0x10         
00145b20: 00021400 sll r2,r2,0x10         
00145b24: 00022403 sra r4,r2,0x10         
00145b28: 340807d0 ori r8,r0,0x07d0       
00145b2c: 108800fd beq r4,r8,0x 00145f24   
00145b30: 02c02821 addu r5,r22,r0         
00145b34: 0c0236b0 jal 0x0008dac0          # 0008dac0 - 0008db50
00145b38: 02e03021 addu r6,r23,r0         
00145b3c: 080517c9 j 0x 00145f24           GOTO END
00145b40: 00000000 nop                    

{82} unknown

00145b44: 16820005 bne r20,r2,0x 00145b5c  
00145b48: 34020083 ori r2,r0,0x0083       
00145b4c: 0c04fa07 jal 0x0013e81c          # Event Instruction 0x82
00145b50: 00000000 nop                    
00145b54: 080517c9 j 0x 00145f24           GOTO END
00145b58: 00000000 nop                    

{83} ChangeStats

00145b5c: 16820005 bne r20,r2,0x 00145b74  
00145b60: 34020084 ori r2,r0,0x0084       
00145b64: 0c052476 jal 0x001491d8          # ChangeStats Event Instruction
00145b68: 02202021 addu r4,r17,r0         
00145b6c: 080517c9 j 0x 00145f24           GOTO END
00145b70: 00000000 nop                    

{84} PlayTune

00145b74: 16820005 bne r20,r2,0x 00145b8c  
00145b78: 34020085 ori r2,r0,0x0085       
00145b7c: 0c010f48 jal 0x00043d20          # Play Tune
00145b80: 02402021 addu r4,r18,r0         
00145b84: 080517c9 j 0x 00145f24           GOTO END
00145b88: 00000000 nop                    

{85} UnlockDate

00145b8c: 16820014 bne r20,r2,0x 00145be0  
00145b90: 34020086 ori r2,r0,0x0086       
00145b94: 0c04ed64 jal 0x0013b590          # Get Script Variable
00145b98: 340401fc ori r4,r0,0x01fc        # Var 0x1FC, Brave Story Event?
00145b9c: 144000e1 bne r2,r0,0x 00145f24   # Branch to END if so
00145ba0: 00000000 nop                    
00145ba4: 124000df beq r18,r0,0x 00145f24  # Branch to END if Parameter 1 is empty
00145ba8: 00000000 nop                    
00145bac: 0c04ed64 jal 0x0013b590          # Get Script Variable
00145bb0: 3404002e ori r4,r0,0x002e        # Var 0x2E: Month
00145bb4: 3404002f ori r4,r0,0x002f        # Var 0x2F: Day
00145bb8: 0c04ed64 jal 0x0013b590          # Get Script Variable
00145bbc: 00408021 addu r16,r2,r0          # r16 = Month
00145bc0: 3c048005 lui r4,0x8005          
00145bc4: 24847cec addiu r4,r4,0x7cec     
00145bc8: 2645ffff addiu r5,r18,0xffff    
00145bcc: 02003021 addu r6,r16,r0         
00145bd0: 0c04f6b9 jal 0x0013dae4          # UnlockDate Event Instruction
00145bd4: 00403821 addu r7,r2,r0          
00145bd8: 080517c9 j 0x 00145f24           GOTO END
00145bdc: 00000000 nop                    

{86} TempWeapon

00145be0: 1682000d bne r20,r2,0x 00145c18  
00145be4: 34020087 ori r2,r0,0x0087       
00145be8: 00132400 sll r4,r19,0x10       
00145bec: 0c04cc56 jal 0x00133158          # Get misc ID
00145bf0: 00042403 sra r4,r4,0x10         
00145bf4: 00021400 sll r2,r2,0x10         
00145bf8: 00022c03 sra r5,r2,0x10         
00145bfc: 340807d0 ori r8,r0,0x07d0       
00145c00: 10a800c8 beq r5,r8,0x 00145f24   
00145c04: 00000000 nop                    
00145c08: 0c0233cf jal 0x0008cf3c          # 0008cf3c - 0008cf74
00145c0c: 02c02021 addu r4,r22,r0         
00145c10: 080517c9 j 0x 00145f24           GOTO END
00145c14: 00000000 nop                    

{87} Arrow

00145c18: 16820026 bne r20,r2,0x 00145cb4  
00145c1c: 34020089 ori r2,r0,0x0089       
00145c20: 00132400 sll r4,r19,0x10       
00145c24: 0c04cc56 jal 0x00133158          # Get misc ID
00145c28: 00042403 sra r4,r4,0x10         
00145c2c: 00021400 sll r2,r2,0x10         
00145c30: 00022403 sra r4,r2,0x10         
00145c34: 340807d0 ori r8,r0,0x07d0       
00145c38: 108800ba beq r4,r8,0x 00145f24   
00145c3c: 00000000 nop                    
00145c40: 0c023374 jal 0x0008cdd0          # Get Battle Unit Index By Unit Misc ID
00145c44: 00000000 nop                    
00145c48: 3c048017 lui r4,0x8017          
00145c4c: 8c843ca4 lw r4,0x3ca4(r4)       
00145c50: 00409021 addu r18,r2,r0         
00145c54: 03c42021 addu r4,r30,r4         
00145c58: 0c05181e jal 0x00146078          # Load Halfword
00145c5c: 24840003 addiu r4,r4,0x0003     
00145c60: 00021400 sll r2,r2,0x10         
00145c64: 0c04cc56 jal 0x00133158          # Get misc ID
00145c68: 00022403 sra r4,r2,0x10         
00145c6c: 00021400 sll r2,r2,0x10         
00145c70: 00022403 sra r4,r2,0x10         
00145c74: 340807d0 ori r8,r0,0x07d0       
00145c78: 108800aa beq r4,r8,0x 00145f24   
00145c7c: 00000000 nop                    
00145c80: 0c023374 jal 0x0008cdd0          # Get Battle Unit Index By Unit Misc ID
00145c84: 00000000 nop                    
00145c88: 3c03801b lui r3,0x801b          
00145c8c: 24630a90 addiu r3,r3,0x0a90     
00145c90: 3c018017 lui r1,0x8017          
00145c94: ac233ca8 sw r3,0x3ca8(r1)       
00145c98: 00402021 addu r4,r2,r0          
00145c9c: 3c058017 lui r5,0x8017          
00145ca0: 24a5e40c addiu r5,r5,0xe40c     
00145ca4: 0c0533ad jal 0x0014ceb4          # Call Inner Subroutine
00145ca8: 02403021 addu r6,r18,r0         
00145cac: 080517c9 j 0x 00145f24           GOTO END
00145cb0: 00000000 nop                    

{89} MapFreeze

00145cb4: 16820005 bne r20,r2,0x 00145ccc  
00145cb8: 34020088 ori r2,r0,0x0088       
00145cbc: 0c024c46 jal 0x00093118          # Map Freeze
00145cc0: 00000000 nop                    
00145cc4: 080517c9 j 0x 00145f24           GOTO END
00145cc8: 00000000 nop                    

{88} MapUnfreeze

00145ccc: 16820005 bne r20,r2,0x 00145ce4  
00145cd0: 3402008c ori r2,r0,0x008c       
00145cd4: 0c024c51 jal 0x00093144          # Map Unfreeze
00145cd8: 00000000 nop                    
00145cdc: 080517c9 j 0x 00145f24           GOTO END
00145ce0: 00000000 nop                    

{8C} UnitAnimRotate

00145ce4: 16820005 bne r20,r2,0x 00145cfc  
00145ce8: 3402008e ori r2,r0,0x008e       
00145cec: 0c051feb jal 0x00147fac          # UnitAnimRotate Event Instruction
00145cf0: 02202021 addu r4,r17,r0         
00145cf4: 080517c9 j 0x 00145f24           GOTO END
00145cf8: 00000000 nop                    

{8E} WaitGraphicPrint

00145cfc: 16820012 bne r20,r2,0x 00145d48  
00145d00: 3402008f ori r2,r0,0x008f       
00145d04: 0c0532a0 jal 0x0014ca80          # Switch To Next Thread
00145d08: 00000000 nop                    
00145d0c: 0c0532a0 jal 0x0014ca80          # Switch To Next Thread         
00145d10: 00000000 nop                    
00145d14: 0c05272f jal 0x00149cbc          # Get Thread Running Task
00145d18: 3404003d ori r4,r0,0x003d       
00145d1c: 00409021 addu r18,r2,r0         
00145d20: 12400080 beq r18,r0,0x 00145f24  
00145d24: 00121280 sll r2,r18,0x0a        
00145d28: 3c018017 lui r1,0x8017          
00145d2c: 00220821 addu r1,r1,r2          
00145d30: 8c229878 lw r2,-0x6788(r1)      
00145d34: 00000000 nop                    
00145d38: 1040fff4 beq r2,r0,0x 00145d0c   
00145d3c: 00000000 nop                    
00145d40: 080517c9 j 0x 00145f24           GOTO END
00145d44: 00000000 nop                    

{8F} unknown, saves Parameter 1 value to 0x80166028

00145d48: 16820005 bne r20,r2,0x 00145d60  
00145d4c: 34020090 ori r2,r0,0x0090       
00145d50: 3c018016 lui r1,0x8016         
00145d54: ac326028 sw r18,0x6028(r1)      
00145d58: 080517c9 j 0x 00145f24           GOTO END
00145d5c: 00000000 nop                    

{90} unknown, checks cursor X against Parameter 1 and Cursor Y against Parameter 2

00145d60: 16820029 bne r20,r2,0x 00145e08  
00145d64: 34020091 ori r2,r0,0x0091       
00145d68: 3c028009 lui r2,0x8009         
00145d6c: 8c4261b4 lw r2,0x61b4(r2)        # Cursor X coordinate 
00145d70: 00000000 nop                    
00145d74: 1452000e bne r2,r18,0x 00145db0  
00145d78: 00000000 nop                    
00145d7c: 3c028009 lui r2,0x8009          
00145d80: 8c4261bc lw r2,0x61bc(r2)        # Cursor Y coordinate
00145d84: 00000000 nop                    
00145d88: 14550009 bne r2,r21,0x 00145db0  
00145d8c: 00000000 nop                    
00145d90: 3c038017 lui r3,0x8017          
00145d94: 8c63d9b4 lw r3,-0x264c(r3)      
00145d98: 00000000 nop                    
00145d9c: 30620020 andi r2,r3,0x0020      
00145da0: 10400003 beq r2,r0,0x 00145db0   
00145da4: 3062f000 andi r2,r3,0xf000      
00145da8: 1040005e beq r2,r0,0x 00145f24   
00145dac: 00000000 nop                    
00145db0: 0c0532a0 jal 0x0014ca80          # Switch To Next Thread
00145db4: 00000000 nop                    
00145db8: 3c028009 lui r2,0x8009          
00145dbc: 8c4261b4 lw r2,0x61b4(r2)        # Cursor X coordinate 
00145dc0: 00000000 nop                    
00145dc4: 1452fffa bne r2,r18,0x 00145db0  
00145dc8: 00000000 nop                    
00145dcc: 3c028009 lui r2,0x8009          
00145dd0: 8c4261bc lw r2,0x61bc(r2)        # Cursor Y coordinate
00145dd4: 00000000 nop                    
00145dd8: 1455fff5 bne r2,r21,0x 00145db0  
00145ddc: 00000000 nop                    
00145de0: 3c038017 lui r3,0x8017          
00145de4: 8c63d9b4 lw r3,-0x264c(r3)      
00145de8: 00000000 nop                    
00145dec: 30620020 andi r2,r3,0x0020      
00145df0: 1040ffef beq r2,r0,0x 00145db0   
00145df4: 3062f000 andi r2,r3,0xf000      
00145df8: 1040004a beq r2,r0,0x 00145f24   
00145dfc: 00000000 nop                    
00145e00: 0805176c j 0x 00145db0           
00145e04: 00000000 nop                    

{91} ShowMapTitle

00145e08: 16820018 bne r20,r2,0x 00145e6c  
00145e0c: 34020093 ori r2,r0,0x0093       
00145e10: 0c0526fb jal 0x00149bec          # Get Next Available Thread ID
00145e14: 34040010 ori r4,r0,0x0010       
00145e18: 0040b821 addu r23,r2,r0         
00145e1c: 0c04ef05 jal 0x0013bc14          # Load File (0x13bc14)
00145e20: 3404000d ori r4,r0,0x000d       
00145e24: 0c0727b0 jal 0x001c9ec0          # ATTACK.OUT 001c9ec0 - 001c9f88
00145e28: 00000000 nop                    
00145e2c: 3c05801d lui r5,0x801d          
00145e30: 24a59d68 addiu r5,r5,0x9d68     
00145e34: 0c053228 jal 0x0014c8a0          # Initialize Thread
00145e38: 02e02021 addu r4,r23,r0         
00145e3c: 02e02021 addu r4,r23,r0         
00145e40: 00122e00 sll r5,r18,0x18        
00145e44: 00052e03 sra r5,r5,0x18         
00145e48: 00153600 sll r6,r21,0x18        
00145e4c: 00063603 sra r6,r6,0x18         
00145e50: 00163e00 sll r7,r22,0x18
00145e54: 0c05328e jal 0x0014ca38          # Store Thread Function Parameters         
00145e58: 00073e03 sra r7,r7,0x18         
00145e5c: 0c053274 jal 0x0014c9d0          # Wait For Thread
00145e60: 02e02021 addu r4,r23,r0         
00145e64: 080517c9 j 0x 00145f24           GOTO END
00145e68: 00000000 nop                    

{93} - advances the date upon returning to the world map

00145e6c: 1682000a bne r20,r2,0x 00145e98  
00145e70: 34020094 ori r2,r0,0x0094       
00145e74: 0c04ed64 jal 0x0013b590          # Get Script Variable
00145e78: 340401fc ori r4,r0,0x01fc        # Var 0x1FC: Brave Story Event?
00145e7c: 14400029 bne r2,r0,0x 00145f24   # Branch to END if so
00145e80: 34040054 ori r4,r0,0x0054        # Var 0x54: value to advance date by
00145e84: 00132c00 sll r5,r19,0x10        
00145e88: 0c04ed91 jal 0x0013b644          # Set Script Variable
00145e8c: 00052c03 sra r5,r5,0x10         
00145e90: 080517c9 j 0x 00145f24           GOTO END
00145e94: 00000000 nop                    

{94} TeleportOut

00145e98: 16820007 bne r20,r2,0x 00145eb8  
00145e9c: 34020098 ori r2,r0,0x0098       
00145ea0: 00132400 sll r4,r19,0x10       
00145ea4: 00042403 sra r4,r4,0x10         
00145ea8: 0c051ef4 jal 0x00147bd0          # TeleportOut Event Instruction
00145eac: 34050001 ori r5,r0,0x0001       
00145eb0: 080517c9 j 0x 00145f24           GOTO END
00145eb4: 00000000 nop                    

{98} TeleportIn

00145eb8: 16820007 bne r20,r2,0x 00145ed8  
00145ebc: 34020092 ori r2,r0,0x0092       
00145ec0: 00132400 sll r4,r19,0x10       
00145ec4: 00042403 sra r4,r4,0x10         
00145ec8: 0c051f2a jal 0x00147ca8          # TeleportIn Event Instruction
00145ecc: 34050001 ori r5,r0,0x0001       
00145ed0: 080517c9 j 0x 00145f24           GOTO END
00145ed4: 00000000 nop                    

{92} InflictStatus

00145ed8: 16820010 bne r20,r2,0x 00145f1c  
00145edc: 34020095 ori r2,r0,0x0095       
00145ee0: 0c0526fb jal 0x00149bec          # Get Next Available Thread ID
00145ee4: 34040010 ori r4,r0,0x0010       
00145ee8: 00409021 addu r18,r2,r0         
00145eec: 02402021 addu r4,r18,r0         
00145ef0: 3c058015 lui r5,0x8015          
00145ef4: 24a58e88 addiu r5,r5,0x8e88     
00145ef8: 0c053228 jal 0x0014c8a0          # Initialize Thread
00145efc: 00000000 nop                    
00145f00: 02402021 addu r4,r18,r0         
00145f04: 02202821 addu r5,r17,r0         
00145f08: 00003021 addu r6,r0,r0          
00145f0c: 0c05328e jal 0x0014ca38          # Store Thread Function Parameters
00145f10: 00003821 addu r7,r0,r0          
00145f14: 080517c9 j 0x 00145f24           GOTO END
00145f18: 00000000 nop                    

{95} | GOTO (past the) END

00145f1c: 16820007 bne r20,r2,0x 00145f3c  
00145f20: 00000000 nop                    
END
00145f24: 3c018015 lui r1,0x8015         
00145f28: 00340821 addu r1,r1,r20         
00145f2c: 9023d170 lbu r3,-0x2e90(r1)     
00145f30: 27c20001 addiu r2,r30,0x0001    
00145f34: 08050f43 j 0x00143d0c           
00145f38: 0043f021 addu r30,r2,r3         
00145f3c: 0c053256 jal 0x0014c958          # Stop Current Thread
00145f40: 00000000 nop                    
00145f44: 8fbf004c lw r31,0x004c(r29)     
00145f48: 8fbe0048 lw r30,0x0048(r29)     
00145f4c: 8fb70044 lw r23,0x0044(r29)     
00145f50: 8fb60040 lw r22,0x0040(r29)     
00145f54: 8fb5003c lw r21,0x003c(r29)     
00145f58: 8fb40038 lw r20,0x0038(r29)     
00145f5c: 8fb30034 lw r19,0x0034(r29)     
00145f60: 8fb20030 lw r18,0x0030(r29)     
00145f64: 8fb1002c lw r17,0x002c(r29)     
00145f68: 8fb00028 lw r16,0x0028(r29)     
00145f6c: 27bd0050 addiu r29,r29,0x0050   
00145f70: 03e00008 jr r31
00145f74: nop


Return Locations

00143b90:
00143bb8:

Old Links

00143bd8 - 001449f8: Event Instruction Main Routine 1
001449fc - 00145750: Event Instruction Main Routine 2
*00145268 - 00145298: Event Instruction 0x76: DarkScreen
*001452d8 - 00145320: Event Instruction 0x78: DisplayConditions
*001455d8 - 00145648: Event Instruction 0x44: Draw
00145754 - 00145f70: Event Instruction Main Routine 3
*00145964 - 001459c4: Event Instruction 0xe5: WaitForInstruction
*001459e8 - 00145a34: Event Instruction 0xf1: Wait
*00145e10 - 00145e68: Event Instruction 0x91: ShowMapTitle