I DO NOT TAKE CREDIT FOR THESE ALL CREDIT GO'S TOEMON 450
these are great templates and they can really help you start to code once you get the hang of mips
demon450s site http://demongen.org/

----------------------------------------------------TEMPLATES---------------------------------------------------------

One Code Regular

-hook
-lui t0 $first half of address REAL
-lui t1 $first half of value
-addiu t1 t1 $second half of value
-sw t1 $second half of address(t0)
-jr ra

Two Code Regular

-hook
-lui t0 $first half of address 1 REAL
-lui t1 $first half of value 1
-addiu t1 t1 $second half of value 1
-sw t1 $second half of address 1(t0)
-lui t2 $first half of address 2 REAL
-lui t3 $first half of value 2
-addiu t3 t3 $second half of value 2
-sw t3 $second half of address 2(t2)
-jr ra

Three Code Regular

-hook
-lui t0 $first half of address 1 REAL
-lui t1 $first half of value 1
-addiu t1 t1 $second half of value 1
-sw t1 $second half of address 1(t0)
-lui t2 $first half of address 2 REAL
-lui t3 $first half of value 2
-addiu t3 t3 $second half of value 2
-sw t3 $second half of address 2(t2)
-lui t4 $first half of address 3 REAL
-lui t5 $first half of value 3
-addiu t5 t5 $second half of value 3
-sw t5 $second half of address 3(t4)
-jr ra

One Level DMA One Offset

-Hook
-lui t0 $first half of pointer
-lw t0 $second half of pointer(t0)
-beq t0 zero $jr ra
-lui t1 $first half of value
-ori t1 t1 $second half of value
-sw t1 $offset(t0)
-jr ra

One Level DMA Two Offsets

-Hook
-lui t0 $first half of pointer
-lw t0 $second half of pointer(t0)
-beq t0 zero $jr ra
-lui t1 $first half of value 1
-ori t1 t1 $second half of value 1
-sw t1 $offset 1(t0)
-lui t2 $first half of value 2
-ori t2 t2 $second half of value 2
-sw t2 $offset 2(t0)
-jr ra

One Level DMA Three Offsets

-Hook
-lui t0 $first half of pointer
-lw t0 $second half of pointer(t0)
-beq t0 zero $jr ra
-lui t1 $first half of value 1
-ori t1 t1 $second half of value 1
-sw t1 $offset 1(t0)
-lui t2 $first half of value 2
-ori t2 t1 $second half of value 2
-sw t2 $offset 2(t0)
-lui t3 $first half of value 3
-ori t3 t3 $second half of value 3
-sw t3 $offset 3(t0)
-jr ra

One Level DMA One Offset Activate Joker

-Hook
-lui t0 $first half of controller
-lw t0 $second half of controller(t0)
-lui t1 $first half of pointer
-lw t1 $second half of pointer(t1)
-addiu t2 zero $button value
-bne t0 t2 $jr ra
-lui t3 $first half of value
-ori t3 t3 $second half of value
-sw t3 $offset(t1)
-jr ra

One Level DMA One Offset Hold Joker

-Hook
-lui t0 $first half of controller
-lw t0 $second half of controller(t0)
-lui t1 $first half of pointer
-lw t1 $second half of pointer(t1)
-addiu t2 zero $button value
-lui t3 $first half of value off
-ori t3 t3 $second half of value off
-sw t3 $offset(t1)
-bne t0 t2 $jr ra
-lui t4 $first half of value on
-ori t4 t4 $second half of value on
-sw t4 $offset(t1)
-jr ra

Two Levels DMA One Offset

-Hook
-lui t0 $first half of pointer
-lw t0 $second half of pointer(t0)
-lw t1 $offset of first level(t0)
-lui t2 $first half of value
-ori t2 t2 $second half of value
-sw t2 $offset of second level(t1)
-jr ra

Two Levels DMA Two Offsets

-Hook
-lui t0 $first half of pointer
-lw t0 $second half of pointer(t0)
-lw t1 $offset of first level(t0)
-lui t2 $first half of value 1
-ori t2 t2 $second half of value 1
-sw t2 $offset 1 of second level(t1)
-lui t3 $first half of value 2
-ori t3 t3 $second half of value 2
-sw t3 $offset 2 of second level(t1)
-jr ra

Auto Increase

-hook
-lui t0 $first half of code address REAL
-lw t1 $second half of address(t0)
-addiu t2 zero $inc value
-add t3 t1 t2
-sw t3 $second half of address(t0)
-jr ra

Auto Decrease

-hook
-lui t0 $first half of code address REAL
-lw t1 $second half of address(t0)
-addiu t2 zero $dec value
-sub t3 t1 t2
-sw t3 $second half of address(t0)
-jr ra

Increase Joker

-hook
-lui t0 $first half of controller REAL
-lw t0 $second half controller(t0)
-lui t1 $first half code address REAL
-addiu t2 zero $button value
-bne t0 t2 $jr ra
-nop
-lw t3 $second half of code address(t1)
-addiu t4 zero $inc value
-add t5 t3 t4
-sw t5 $second half code address(t1)
-jr ra

Decrease Joker

-hook
-lui t0 $first half of controller REAL
-lw t0 $second half controller(t0)
-lui t1 $first half code address REAL
-addiu t2 zero $button value
-bne t0 t2 $jr ra
-nop
-lw t3 $second half of code address(t1)
-addiu t4 zero $dec value
-sub t5 t3 t4
-sw t5 $second half code address(t1)
-jr ra

Increase/Decrease Joker

-Hook
-lui t0 $First half of controller REAL
-lw t0 $second half of controller(t0)
-lui t1 $first half of code address REAL
-ori t2 zero $inc button value
-ori t3 zero $dec button value
-bne t0 t2 $next bne
-lw t4 $second half of code address REAL(t1)
-ori t5 zero $increase amount
-add t6 t4 t5
-sw t6 $second half of code address(t1)
-bne t0 t3 $jr ra
-lw t7 $second half of code address(t1)
-ori t8 zero $decrease amount
-sub t9 t7 t8
-sw t9 $second half of code address(t1)
-jr ra

Activate Template

-Hook
-lui t0 $first half of controller REAL
-lw t0 $second half of controller(t0)
-lui t1 $first half of code in REAL
-addiu t2 zero $button value
-bne t0 t2 $jr ra
-lui t3 $first half of value for code
-addiu t3 t3 $second half of value of code
-sw t3 $second half of code(t1)
-jr ra

Two Codes One Button Activate

-Hook
-lui t0 $first half of controller REAL
-lw t0 $second half of controller(t0)
-lui t1 $first half of code 1 in REAL
-lui t2 $first half of code 2 in REAL
-addiu t3 zero $button value
-bne t0 t3 $jr ra
-lui t4 $first half of value for code one
-addiu t4 t4 $second half of value of code 1
-sw t4 $second half of code 1(t1)
-lui t5 $first half of value for code 2
-addiu t5 t5 $second half of value of code 2
-sw t5 $second half of code 2(t2)
-jr ra

Three Codes One Button Activate

-Hook
-lui t0 $first half of controller REAL
-lw t0 $second half of controller(t0)
-lui t1 $first half of code 1 in REAL
-lui t2 $first half of code 2 in REAL
-lui t3 $first half of code 3 in REAL
-addiu t4 zero $button value
-bne t0 t4 $jr ra
-lui t5 $first half of value for code one
-addiu t5 t5 $second half of value of code 1
-sw t5 $second half of code 1(t1)
-lui t6 $first half of value for code 2
-addiu t6 t6 $second half of value of code 2
-sw t6 $second half of code 2(t2)
-lui t7 $first half of value for code 3
-addiu t7 t7 $second half of value of code 3
-sw t7 $second half of code 3(t3)
-jr ra

One Code Hold One Button

-Hook
-lui t0 $first half of controller REAL
-lw t0 $second half of controller(t0)
-lui t1 $first half of code in REAL
-addiu t2 zero $button value
-lui t3 $first half of value on for code
-addiu t3 t3 $second half of value on of code
-sw t3 $second half of code(t1)
-bne t0 t2 $jr ra
-lui t4 $first half of value off for code
-addiu t4 t4 $second half of value off of code
-sw t4 $second half of code(t1)
-jr ra

Two Code One Button Hold

-Hook
-lui t0 $first half of controller REAL
-lw t0 $second half of controller(t0)
-lui t1 $first half of code 1 in REAL
-lui t2 $first half of code 2 in REAL
-addiu t3 zero $button value 1
-lui t4 $first half of value off for code 1
-addiu t4 t4 $second half of value off of code 1
-sw t4 $second half of code 1(t1)
-lui t5 $first half of value off for code 2
-addiu t5 t5 $second half of value off of code 2
-sw t5 $second half of code 2(t2)
-bne t0 t3 $jr ra
-lui t6 $first half of value on for code 1
-addiu t6 t6 $second half of value on of code 1
-sw t6 $second half of code 1(t1)
-lui t7 $first half of value on for code 2
-addiu t7 t7 $second half of value on of code 2
-sw t7 $second half of code 2(t2)
-jr ra

Teleport To Crosshairs

-hook
-lui t0 $first half of controller REAL
-lw t0 $second half of controller(t0)
-addiu t1 $button value
-lui t2 $first half crosshair coord REAL
-lui t3 $first half player coord REAL
-bne t0 t1 $jr ra
-lw t4 $second half crosshair coord X(t2)
-lw t5 $second half crosshair coord Y(t2)
-lw t6 $second half crosshair coord Z(t2)
-sw t4 $second half player coord X(t3)
-sw t5 $second half player coord X(t3)
-sw t6 $second half player coord X(t3)
-jr ra

One Point Mark And Recall

-hook
-lui t0 $first half of controller REAL
-lw t0 $second half of controller(t0)
-addiu t1 $Mark Button Value
-addiu t2 $Recall Button Value
-lui t3 $first half nop address REAL
-lui t4 $first half player coord REAL
-bne t0 t1 $next bne
-lw t5 $second half nop address(t3)
-lw t6 $second half nop address(t3)
-lw t7 $second half nop address(t3)
-sw t5 $second half player coord X(t4)
-sw t6 $second half player coord X(t4)
-sw t7 $second half player coord X(t4)
-bne t0 t2 $jr ra
-lw t5 $second half player coord X(t4)
-lw t6 $second half player coord Y(t4)
-lw t7 $second half player coord Z(t4)
-sw t5 $second half nop address(t3)
-sw t6 $second half nop address(t3)
-sw t7 $second half nop address(t3)
-jr ra

Two Point Mark And Recall

-hook
-lui t0 $first half of controller REAL
-lw t0 $second half of controller(t0)
-addiu t1 $Mark Button Value 1
-addiu t2 $Recall Button Value 1
-addiu t3 $Mark Button Value 2
-addiu t4 $Recall Button Value 2
-lui t5 $first half nop address REAL
-lui t6 $first half player coord REAL
-bne t0 t1 $next bne
-lw t7 $second half nop address(t5)
-lw t8 $second half nop address(t5)
-lw t9 $second half nop address(t5)
-sw t7 $second half player coord X(t6)
-sw t8 $second half player coord X(t6)
-sw t9 $second half player coord X(t6)
-bne t0 t2 $next bne
-lw t7 $second half player coord X(t6)
-lw t8 $second half player coord Y(t6)
-lw t9 $second half player coord Z(t6)
-sw t7 $second half nop address(t5)
-sw t8 $second half nop address(t5)
-sw t9 $second half nop address(t5)
-bne t0 t3 $next bne
-lw t7 $second half nop address(t5)
-lw t8 $second half nop address(t5)
-lw t9 $second half nop address(t5)
-sw t7 $second half player coord X(t6)
-sw t8 $second half player coord X(t6)
-sw t9 $second half player coord X(t6)
-bne t0 t4 $jr ra
-lw t7 $second half player coord X(t6)
-lw t8 $second half player coord Y(t6)
-lw t9 $second half player coord Z(t6)
-sw t7 $second half nop address(t5)
-sw t8 $second half nop address(t5)
-sw t9 $second half nop address(t5)
-jr ra