Refresh 14

This commit is contained in:
n64
2021-07-12 23:17:54 -04:00
parent ecd3d152fb
commit f9982e0ef5
251 changed files with 7496 additions and 5757 deletions

View File

@@ -1,21 +1,21 @@
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
// assembler directives
.set noat // allow manual use of $at
.set noreorder // don't insert nops after branches
.set gp=64
.include "macros.inc"
#include "macros.inc"
# 0xA0000000-0xBFFFFFFF: KSEG1 direct map non-cache mirror of 0x00000000
# 0xA4000000-0xA4000FFF: RSP DMEM
// 0xA0000000-0xBFFFFFFF: KSEG1 direct map non-cache mirror of 0x00000000
// 0xA4000000-0xA4000FFF: RSP DMEM
# 0xA4000000-0xA400003F: ROM header
// 0xA4000000-0xA400003F: ROM header
.section .text, "ax"
# 0xA4000040-0xA4000B6F: IPL3
// 0xA4000040-0xA4000B6F: IPL3
# IPL3 entry point jumped to from IPL2
glabel ipl3_entry # 0xA4000040
// IPL3 entry point jumped to from IPL2
glabel ipl3_entry // 0xA4000040
mtc0 $zero, $13
mtc0 $zero, $9
mtc0 $zero, $11
@@ -797,7 +797,7 @@ func_A4000AD0:
nop
nop
# 0xA4000B70-0xA4000FFF: IPL3 Font
// 0xA4000B70-0xA4000FFF: IPL3 Font
glabel ipl3_font
.incbin "textures/ipl3_raw/ipl3_font_00.ia1"
.incbin "textures/ipl3_raw/ipl3_font_01.ia1"

View File

@@ -1,61 +1,17 @@
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
// assembler directives
.set noat // allow manual use of $at
.set noreorder // don't insert nops after branches
.set gp=64
.include "macros.inc"
#include "macros.inc"
.section .text, "ax"
# This file is handwritten.
// This file is handwritten.
glabel decompress
.if VERSION_SH == 1
lw $a3, 8($a0)
lw $t9, 0xc($a0)
lw $t8, 4($a0)
add $a3, $a3, $a0
add $t9, $t9, $a0
move $a2, $zero
addi $a0, $a0, 0x10
add $t8, $t8, $a1
.L802772C0:
bnel $a2, $zero, .L802772D8
slt $t1, $t0, $zero
lw $t0, ($a0)
li $a2, 32
addi $a0, $a0, 4
slt $t1, $t0, $zero
.L802772D8:
beql $t1, $zero, .L802772F8
lhu $t2, ($a3)
lb $t2, ($t9)
addi $t9, $t9, 1
addi $a1, $a1, 1
b .L80277324
sb $t2, -1($a1)
lhu $t2, ($a3)
.L802772F8:
addi $a3, $a3, 2
srl $t3, $t2, 0xc
andi $t2, $t2, 0xfff
sub $t1, $a1, $t2
addi $t3, $t3, 3
.L8027730C:
lb $t2, -1($t1)
addi $t3, $t3, -1
addi $t1, $t1, 1
addi $a1, $a1, 1
bnez $t3, .L8027730C
sb $t2, -1($a1)
.L80277324:
sll $t0, $t0, 1
bne $a1, $t8, .L802772C0
addi $a2, $a2, -1
jr $ra
nop
.elseif VERSION_EU == 1
#if defined(VERSION_EU) || defined(VERSION_SH)
lw $a3, 8($a0)
lw $t9, 0xc($a0)
lw $t8, 4($a0)
@@ -99,7 +55,7 @@ glabel decompress
addi $a2, $a2, -1
jr $ra
nop
.else
#else
lw $t8, 4($a0)
lw $a3, 8($a0)
lw $t9, 0xc($a0)
@@ -146,4 +102,4 @@ glabel decompress
nop
jr $ra
nop
.endif
#endif

View File

@@ -1,29 +1,29 @@
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
// assembler directives
.set noat // allow manual use of $at
.set noreorder // don't insert nops after branches
.set gp=64
.include "macros.inc"
#include "macros.inc"
.section .text, "ax"
glabel entry_point
lui $t0, %hi(_mainSegmentNoloadStart) # $t0, 0x8034
lui $t1, %lo(_mainSegmentNoloadSizeHi) # lui $t1, 2
addiu $t0, %lo(_mainSegmentNoloadStart) # addiu $t0, $t0, -0x6df0
ori $t1, %lo(_mainSegmentNoloadSizeLo) # ori $t1, $t1, 0xcee0
lui $t0, %hi(_mainSegmentNoloadStart) // $t0, 0x8034
lui $t1, %lo(_mainSegmentNoloadSizeHi) // lui $t1, 2
addiu $t0, %lo(_mainSegmentNoloadStart) // addiu $t0, $t0, -0x6df0
ori $t1, %lo(_mainSegmentNoloadSizeLo) // ori $t1, $t1, 0xcee0
.L80246010:
addi $t1, $t1, -8
sw $zero, ($t0)
sw $zero, 4($t0)
bnez $t1, .L80246010
addi $t0, $t0, 8
lui $t2, %hi(main_func) # $t2, 0x8024
lui $sp, %hi(gIdleThreadStack) # $sp, 0x8020
addiu $t2, %lo(main_func) # addiu $t2, $t2, 0x6dc4
lui $t2, %hi(main_func) // $t2, 0x8024
lui $sp, %hi(gIdleThreadStack) // $sp, 0x8020
addiu $t2, %lo(main_func) // addiu $t2, $t2, 0x6dc4
jr $t2
addiu $sp, %lo(gIdleThreadStack) # addiu $sp, $sp, 0xa00
addiu $sp, %lo(gIdleThreadStack) // addiu $sp, $sp, 0xa00
nop
nop
nop

View File

@@ -8,38 +8,39 @@
.word entry_point /* Entrypoint */
/* Revision */
.if VERSION_SH == 1
#ifdef VERSION_SH
.word 0x00001448
.elseif VERSION_EU == 1
#elif defined(VERSION_EU)
.word 0x00001446
.else /* NTSC-U and NTSC-J 1.0 */
#else /* NTSC-U and NTSC-J 1.0 */
.word 0x00001444
.endif
#endif
.word 0x4EAA3D0E /* Checksum 1 */
.word 0x74757C24 /* Checksum 2 */
.word 0x00000000 /* Unknown */
.word 0x00000000 /* Unknown */
.if VERSION_SH == 1
#ifdef VERSION_SH
.ascii "SUPERMARIO64 " /* Internal ROM name */
.else
#else
.ascii "SUPER MARIO 64 " /* Internal ROM name */
.endif
#endif
.word 0x00000000 /* Unknown */
.word 0x0000004E /* Cartridge */
.ascii "SM" /* Cartridge ID */
/* Region */
.if VERSION_US == 1
.ascii "E" /* NTSC-U (North America) */
.elseif (VERSION_JP == 1 || VERSION_SH == 1)
.ascii "J" /* NTSC-J (Japan) */
.else
#ifdef VERSION_EU
.ascii "P" /* PAL (Europe) */
.endif
#elif defined(VERSION_US)
.ascii "E" /* NTSC-U (North America) */
#else
.ascii "J" /* NTSC-J (Japan) */
#endif
.if VERSION_SH == 1
#ifdef VERSION_SH
.byte 0x03 /* Version (Shindou) */
.else
#else
.byte 0x00 /* Version */
.endif
#endif