Super Mario 74




One of the first major hacks ever released! Later versions are co-authored with sm64pie, Galaxtic, LinCrash, and FrostyZako with the most recent version.
Extra Files:
How to play.txt
For info on how to
get the ROM to run,
check out my tutorial (takes 1 minute):
https://www.youtube.com/watch?v=HUzVTZi5ws8
actselectghosthack2.txt
.org 0x7d5540
!writeacts:
addiu sp, sp, $ffe0
sw ra, $1c (SP)
lui t8, $801c
ori at, r0, $0006
sb at, $9aa1 (T8)
lbu t1, $9aa2 (T8)
bne t1, at, !dontset100csstar
nop
LUI A0, 0x8033
LUI A1, 0x8034
LH A1, 0xBAC6 (A1)
LH A0, 0xDDF4 (A0)
ADDIU A1, A1, 0xFFFF
JAL 0x8027A1C8
ADDIU A0, A0, 0xFFFF
andi v0, v0, $0040
beq v0, r0, !dontset100csstar
nop
ori at, r0, $0007
sb at, $9aa2 (T8)
lbu t1, $9aa3 (T8)
addiu t2, r0, $6
bne t1, t2, !dontset100csstar
nop
sb at, $9aa3 (T8)
!dontset100csstar:
lui a0, $1300
jal $277f50
ori a0, a0, $302C
lui t8, $801c
lbu t0, $9aa2 (T8)
lui t2, $8033
lhu t2, $ddf8 (T2)
lui t3, $8037
add t3, t3, t2
lbu t3, $5500 (T3)
slt at, t0, t3
addiu a3, r0, $0
bne at, r0, !dontasndfiuasbifbsaihfiuhusdbgfiubdsiugbiu
nop
lui t1, $8017
lw at, $002c (T1)
bne at, r0, !dontasndfiuasbifbsaihfiuhusdbgfiubdsiugbiu
nop
beq t0, t3, !dontasndfiuasbifbsaihfiuhusdbgfiubdsiugbiu
nop
addiu a3, r0, $1
sub t4, t0, t3
sll t4, t4, $6
//turn t4 into position offset
mtc1 t4, f4
cvt.s.w f4, f4
or t0, t3, r0
addiu t4, t3, $ffff
lui t1, $801b
sb t4, $81a0 (T1)
sb t4, $81a4 (T1)
lui t1, $8017
lui at, $2400
sw at, $002c (T1)
!dontasndfiuasbifbsaihfiuhusdbgfiubdsiugbiu:
addiu t1, t0, $ffff
sb t1, $9aa1 (T8)
sb t0, $9aa2 (T8)
sb t0, $9aa3 (T8)
beq a3, r0, !dontdeanifuasuifnuiasbnfasuif
nop
lui t0, $8034
addiu t0, t0, $d488
!loop23:
lh t1, $0074 (T0)
beq t1, r0, !endofthisloop23
nop
lw t2, $020c (T0)
bne t2, v0, !endofthisloop23
nop
lw t2, $0014 (T0)
lui t3, $8033
lw t3, $ddc4 (T3)
lw t3, $01e8 (T3)
sh r0, $0074 (T0)
bne t3, t2, !endofthisloop23
nop
addiu at, r0, $0101
sh at, $0074 (T0)
lwc1 f2, $00a0 (T0)
add.s f2, f2, f4
swc1 f2, $00a0 (T0)
!endofthisloop23:
lui t1, $8036
ori t1, t1, $0e88
addiu t0, t0, $260
bne t0, t1, !loop23
nop
!dontdeanifuasuifnuiasbnfasuif:
lui a2, $8037
ori a2, a2, $5fc0
addiu a0, r0, $0010
JAL 0x802d62d8
addiu a1, r0, $0009
lui t0, $8037
lhu t1, $5ffc (T0)
lui a0, $8034
lhu a0, $afa0 (A0)
andi a0, a0, $0300
sh a0, $5ffc (T0)
beq t1, a0, !dontchangeselectionaa
nop
beq a0, r0, !dontchangeselectionaa
nop
srl a0, a0, $7
addiu a0, a0, $fffd
lbu t2, $5ffe (T0)
add t2, t2, a0
addiu at, r0, $ffff
bne t2, at, !notzero
nop
addiu t2, r0, $2
!notzero:
addiu at, r0, $0003
bne t2, at, !notzero22
nop
addiu t2, r0, $0
!notzero22:
sb t2, $5ffe (T0)
!dontchangeselectionaa:
lui t0, $8037
lbu t1, $5ffe (T0)
sll t1, t1, $4
lui a2, $8037
ori a2, a2, $5e90
add a2, a2, t1
addiu a0, r0, $0050
JAL 0x802d62d8
addiu a1, r0, $0009
lw ra, $1c (SP)
jr ra
addiu sp, sp, $0020
bonuslevelsinactselect.txt
//time 10m
.org 0x97830
!levelselect1:
addiu at, r0, $17
.org 0x97848
!levelselect2:
addiu t3, r0, $0017
.org 0x978f8
!writelevelname:
slti at, t6, $0017
//here you put in the level names for other stars too and you need to change a0 on the 277f50 afterwards
.org 0x9777c
!levelselect3:
addiu at, r0, $0018
.org 0x977a4
!levelselect4:
addiu t4, r0, $0017
.org 0x977b8
!geteepbyte:
addiu at, r0, $0017
.org 0x97770
!maxlevelsincrease:
addiu a3, r0, $0018
enableactsghostraceacts.txt
.org 0x2278e0
!hookacts:
jal $371700
.org 0x7d1700
!doactstrings:
addiu sp, sp, $ffe8
sw ra, $14 (SP)
slti at, t9, $0001
bne at, r0, !errorhandling
nop
slti at, t9, $0010
bne at, r0, !noerrorhandling
nop
!errorhandling:
sll t6, t6, $3
lui a0, $0037
ori a0, a0, $1680
beq r0, r0, !no100cs
add a0, a0, t6
!noerrorhandling:
addiu at, r0, $6
bne at, t6, !no100cs
nop
lui a0, $0037
ori a0, a0, $16f0
!no100cs:
jal $277f50
nop
lw ra, $14 (SP)
jr ra
addiu sp, sp, $0018
ghostrace pipehack.txt
.org 0x9098
!pipe:
jal $373400
.org 0x7d3400
!pipeact:
addiu sp, sp, $ffe8
sw ra, $14 (SP)
lui a0, $1300
jal $277f50
ori a0, a0, $07a0
LW T3, 0x0048 (SP)
lw t5, $020c (T3)
bne t5, v0, !skippipe
nop
lui t2, $8033
lhu t2, $ddf8 (T2)
addiu at, r0, $0011
beq t2, at, !okpipe
nop
addiu at, r0, $0013
beq t2, at, !okpipe
nop
addiu at, r0, $0015
bne t2, at, !skippipe
nop
!okpipe:
addiu t2, r0, $2
lui t4, $8034
sh t2, $bac8 (T4)
!skippipe:
lw ra, $14 (SP)
addiu ra, ra, $000c
jr ra
addiu sp, sp, $0018