Disassemble rzip functions

This commit is contained in:
Ryan Dwyer 2021-10-06 17:44:09 +10:00
parent d425d4f11c
commit ee8afafc31
19 changed files with 1768 additions and 1641 deletions

View File

@ -28,7 +28,7 @@
build/ROMID/lib/ultra/io/pfsresizefile.o (section); \
build/ROMID/lib/ultra/io/pfsinitpak.o (section); \
build/ROMID/lib/lib_070d0.o (section); \
build/ROMID/lib/lib_074f0.o (section); \
build/ROMID/lib/rzip.o (section); \
build/ROMID/lib/audiomgr.o (section); \
build/ROMID/lib/lib_09660.o (section); \
build/ROMID/lib/lib_09a80.o (section); \

View File

@ -27,7 +27,7 @@
build/ROMID/lib/ultra/io/pfsresizefile.o (section); \
build/ROMID/lib/ultra/io/pfsinitpak.o (section); \
build/ROMID/lib/lib_070d0.o (section); \
build/ROMID/lib/lib_074f0.o (section); \
build/ROMID/lib/rzip.o (section); \
build/ROMID/lib/audiomgr.o (section); \
build/ROMID/lib/lib_09660.o (section); \
build/ROMID/lib/lib_09a80.o (section); \

View File

@ -27,7 +27,7 @@
build/ROMID/lib/ultra/io/pfsresizefile.o (section); \
build/ROMID/lib/ultra/io/pfsinitpak.o (section); \
build/ROMID/lib/lib_070d0.o (section); \
build/ROMID/lib/lib_074f0.o (section); \
build/ROMID/lib/rzip.o (section); \
build/ROMID/lib/audiomgr.o (section); \
build/ROMID/lib/lib_09660.o (section); \
build/ROMID/lib/lib_09a80.o (section); \

View File

@ -28,7 +28,7 @@
#include "game/game_173a00.h"
#include "game/wallhit.h"
#include "bss.h"
#include "lib/lib_074f0.h"
#include "lib/rzip.h"
#include "lib/lib_09a80.h"
#include "lib/dma.h"
#include "lib/main.h"

View File

@ -3,7 +3,7 @@
#include "game/file.h"
#include "game/stubs/game_175f50.h"
#include "bss.h"
#include "lib/lib_074f0.h"
#include "lib/rzip.h"
#include "lib/dma.h"
#include "lib/memory.h"
#include "lib/rng.h"

View File

@ -3,7 +3,7 @@
#include "game/game_0b3350.h"
#include "game/texdecompress.h"
#include "bss.h"
#include "lib/lib_074f0.h"
#include "lib/rzip.h"
#include "lib/dma.h"
#include "lib/main.h"
#include "lib/memory.h"

View File

@ -3,7 +3,7 @@
#include "game/gfxmemory.h"
#include "game/stubs/game_175f50.h"
#include "bss.h"
#include "lib/lib_074f0.h"
#include "lib/rzip.h"
#include "lib/dma.h"
#include "lib/memory.h"
#include "lib/rng.h"

View File

@ -3,7 +3,7 @@
#include "game/game_0b3350.h"
#include "game/texdecompress.h"
#include "bss.h"
#include "lib/lib_074f0.h"
#include "lib/rzip.h"
#include "lib/dma.h"
#include "lib/main.h"
#include "lib/memory.h"
@ -330,7 +330,7 @@ glabel func0f16e818
/* f16ea9c: 8fa71e8c */ lw $a3,0x1e8c($sp)
/* f16eaa0: 0fc5bb6b */ jal func0f16edac
/* f16eaa4: afb00010 */ sw $s0,0x10($sp)
/* f16eaa8: 0c002282 */ jal func00008a08
/* f16eaa8: 0c002282 */ jal rzipGetSomething
/* f16eaac: 00408825 */ or $s1,$v0,$zero
/* f16eab0: 0fc5cd48 */ jal func0f173520
/* f16eab4: 00402025 */ or $a0,$v0,$zero
@ -776,7 +776,7 @@ glabel func0f16e818
/* f169720: 8fa71f44 */ lw $a3,0x1f44($sp)
/* f169724: 0fc5a691 */ jal func0f16edac
/* f169728: afb00010 */ sw $s0,0x10($sp)
/* f16972c: 0c0022ea */ jal func00008a08
/* f16972c: 0c0022ea */ jal rzipGetSomething
/* f169730: 00408825 */ or $s1,$v0,$zero
/* f169734: 0fc5b870 */ jal func0f173520
/* f169738: 00402025 */ or $a0,$v0,$zero

View File

@ -1,19 +0,0 @@
#ifndef _IN_LIB_LIB_074F0_H
#define _IN_LIB_LIB_074F0_H
#include <ultra64.h>
#include "data.h"
#include "types.h"
u32 rzipInflate(void *src, void *dst, void *tmpbuffer);
u32 func00007908(void);
u32 func0000796c(void);
u32 func00007a10(void);
u32 func00007f20(void);
u32 func00008024(void);
u32 func00008064(void);
u32 func00008610(void);
u32 func000088b0(void);
bool rzipIs1173(void *buffer);
u32 func00008a08(void);
#endif

12
src/include/lib/rzip.h Normal file
View File

@ -0,0 +1,12 @@
#ifndef _IN_LIB_RZIP_H
#define _IN_LIB_RZIP_H
#include <ultra64.h>
#include "data.h"
#include "types.h"
u32 rzipInflate(void *src, void *dst, void *scratch);
u32 rzipInflateFixed(void);
bool rzipIs1173(void *buffer);
u32 rzipGetSomething(void);
#endif

View File

@ -19,25 +19,25 @@ u32 inptr = 0;
u32 wp = 0;
struct huft *huftlist = NULL;
u8 border[] = { /* Order of the bit length code lengths */
static u8 border[] = { /* Order of the bit length code lengths */
16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15};
/* Tables for deflate from PKZIP's appnote.txt. */
u16 cplens[] = { /* Copy lengths for literal codes 257..285 */
static u16 cplens[] = { /* Copy lengths for literal codes 257..285 */
3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,
35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0};
/* actually lengths - 2; also see note #13 above about 258 */
u8 cplext[] = { /* Extra bits for literal codes 257..285 */
static u8 cplext[] = { /* Extra bits for literal codes 257..285 */
0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2,
3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 99, 99}; /* 128==invalid */
u16 cpdist[] = { /* Copy offsets for distance codes 0..29 */
static u16 cpdist[] = { /* Copy offsets for distance codes 0..29 */
1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
8193, 12289, 16385, 24577};
u8 cpdext[] = { /* Extra bits for distance codes */
static u8 cpdext[] = { /* Extra bits for distance codes */
0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6,
7, 7, 8, 8, 9, 9, 10, 10, 11, 11,
12, 12, 13, 13};
@ -46,7 +46,7 @@ u32 bb = 0;
u32 bk = 0;
/* And'ing with mask[n] masks the lower n bits */
u16 mask_bits[] = {
static u16 mask_bits[] = {
0x0000,
0x0001, 0x0003, 0x0007, 0x000f, 0x001f, 0x003f, 0x007f, 0x00ff,
0x01ff, 0x03ff, 0x07ff, 0x0fff, 0x1fff, 0x3fff, 0x7fff, 0xffff

View File

@ -4,7 +4,7 @@
#include "game/game_0e0770.h"
#include "bss.h"
#include "lib/args.h"
#include "lib/lib_074f0.h"
#include "lib/rzip.h"
#include "lib/lib_09660.h"
#include "lib/lib_0c000.h"
#include "lib/main.h"

View File

@ -7,7 +7,7 @@
#include "game/game_0e0770.h"
#include "bss.h"
#include "lib/args.h"
#include "lib/lib_074f0.h"
#include "lib/rzip.h"
#include "lib/lib_09660.h"
#include "lib/lib_0c000.h"
#include "lib/main.h"

View File

@ -2,7 +2,7 @@
#include "lib/boot.h"
#include "constants.h"
#include "bss.h"
#include "lib/lib_074f0.h"
#include "lib/rzip.h"
#include "lib/dma.h"
#include "lib/lib_48150.h"
#include "data.h"
@ -36,7 +36,7 @@ glabel func000070d0
/* 70f4: afb30028 */ sw $s3,0x28($sp)
/* 70f8: afb20024 */ sw $s2,0x24($sp)
/* 70fc: afb10020 */ sw $s1,0x20($sp)
/* 7100: 0c00222c */ jal func000088b0
/* 7100: 0c00222c */ jal rzipInflateFixed
/* 7104: a030ae28 */ sb $s0,%lo(var8008ae28)($at)
/* 7108: 0c0005b0 */ jal initGetMemSize
/* 710c: 00000000 */ nop
@ -318,7 +318,7 @@ glabel func000070d0
/* 71d4: afb30060 */ sw $s3,0x60($sp)
/* 71d8: afb2005c */ sw $s2,0x5c($sp)
/* 71dc: afb10058 */ sw $s1,0x58($sp)
/* 71e0: 0c002294 */ jal func000088b0
/* 71e0: 0c002294 */ jal rzipInflateFixed
/* 71e4: a030d458 */ sb $s0,-0x2ba8($at)
/* 71e8: 0c013d4c */ jal osGetMemSize
/* 71ec: 00000000 */ sll $zero,$zero,0x0

File diff suppressed because it is too large Load Diff

View File

@ -42,7 +42,7 @@
#include "bss.h"
#include "lib/args.h"
#include "lib/lib_070d0.h"
#include "lib/lib_074f0.h"
#include "lib/rzip.h"
#include "lib/lib_09660.h"
#include "lib/lib_09a80.h"
#include "lib/lib_0bfb0.h"

1732
src/lib/rzip.s Normal file

File diff suppressed because it is too large Load Diff

View File

@ -6,7 +6,7 @@
#include "bss.h"
#include "lib/args.h"
#include "lib/audiomgr.h"
#include "lib/lib_074f0.h"
#include "lib/rzip.h"
#include "lib/lib_09660.h"
#include "lib/lib_0c000.h"
#include "lib/main.h"

View File

@ -4,7 +4,7 @@
#include "game/lv.h"
#include "game/music.h"
#include "bss.h"
#include "lib/lib_074f0.h"
#include "lib/rzip.h"
#include "lib/args.h"
#include "lib/dma.h"
#include "lib/snd.h"