more PS1 updates from Jens

This commit is contained in:
László Molnár 2007-03-12 12:11:17 +01:00
parent 80c20a90ea
commit 1f59a9f846
4 changed files with 1409 additions and 1405 deletions

File diff suppressed because it is too large Load Diff

View File

@ -166,15 +166,15 @@ init_sz = . - init_sz
.if (UCL_SMALL == 1)
.if (ALT_SMALL == 1)
beq bc,bb,2b # detect flag bit [empty]
beq bc,bb,2b # detect flag bit [empty]
.else
addiu bc,-1
bltz bc,2b
.endif
.else
srl var,bb,31 # var= most significant bit of bb
bne bc,bb,2f # detect flag bit [empty]
sll bb,1
srl var,bb,31 # var= most significant bit of bb
bne bc,bb,2f # detect flag bit [empty]
sll bb,1
.endif
.endif
@ -193,9 +193,9 @@ init_sz = . - init_sz
.if (UCL_SMALL == 1)
.if (ALT_SMALL == 1)
srl var,bb,31 # var= most significant bit of bb
srl var,bb,31 # var= most significant bit of bb
jr ra
sll bb,1
sll bb,1
.else
srlv var,bb,bc
jr ra
@ -205,11 +205,11 @@ init_sz = . - init_sz
.if (UCL_NRV_BB == 8)
sll bb,1
addiu bb,1 # the flag bit
srl var,bb,8 # var= most significant bit of bb
srl var,bb,8 # var= most significant bit of bb
sll bb,24 # left-justify in register
.else
srl var,bb,31 # var= most significant bit of bb
sll bb,1
srl var,bb,31 # var= most significant bit of bb
sll bb,1
addiu bb,1
.endif
.endif
@ -268,8 +268,8 @@ init_sz = . - init_sz
lwl bb,3(src_ilen)
addiu src_ilen,4
.if ((ALT_SMALL == 1) && (UCL_SMALL == 1))
srl var,bb,31 # var= most significant bit of bb
sll bb,1
srl var,bb,31 # var= most significant bit of bb
sll bb,1
jr ra
addiu bb,1
.endif
@ -427,21 +427,26 @@ wordchk:
.else
t = 1f
.endif
.if (1 == 1)
b \ret
nop
.else
bal t
addiu ra, (\ret + 4) - (. + 4)
.endif
.else
.if (JOHN == 0)
b \ret
nop
.else
b \ret + 4
srl var,bb,31 # var= most significant bit of bb
srl var,bb,31 # var= most significant bit of bb
.endif
.endif
prepbcpy:
.else
subu m_pos,dst,m_off
.endif
.endif
bcopy:
lbu var,0(m_pos)
skip:
@ -457,15 +462,20 @@ skip:
.else
t = 1f
.endif
.if (1 == 1)
b \ret
nop
.else
bal t
addiu ra, (\ret + 4) - (. + 4)
.endif
.else
.if (JOHN == 0)
b \ret
nop
.else
b \ret + 4
srl var,bb,31 # var= most significant bit of bb
srl var,bb,31 # var= most significant bit of bb
.endif
.endif

View File

@ -237,13 +237,13 @@ section con.exit
section bss.cdb.start.lzma
la t0,PSVR // prepare to compute value
subu t0,s0,t0 // get stored header offset in mem
lui var,%hi(wrkmem-REG_SZ) // size of decomp. routine
la var,wrkmem-REG_SZ
jr t0
addiu var,%lo(wrkmem-REG_SZ) // adjust the stack with this size
move tmp,sp
section bss.cdb.entry.lzma
move tmp,sp
push 1,var // push used regs
move sp,var
addiu src,t0,lzma_cpr // compressed lzma decoder offset
addiu dst,sp,REG_SZ

View File

@ -18,29 +18,29 @@ Idx Name Size VMA LMA File off Algn Flags
13 dec.ptr.hi 00000008 00000000 00000000 00000138 2**0 CONTENTS, RELOC, READONLY
14 con.entry 00000000 00000000 00000000 00000140 2**0 CONTENTS, READONLY
15 con.exit 0000002c 00000000 00000000 00000140 2**0 CONTENTS, RELOC, READONLY
16 bss.cdb.start.lzma 00000018 00000000 00000000 0000016c 2**0 CONTENTS, RELOC, READONLY
17 bss.cdb.entry.lzma 00000024 00000000 00000000 00000184 2**0 CONTENTS, RELOC, READONLY
18 bss.con.start 00000038 00000000 00000000 000001a8 2**0 CONTENTS, RELOC, READONLY
19 bss.exit 0000002c 00000000 00000000 000001e0 2**0 CONTENTS, RELOC, READONLY
20 memset.short 00000014 00000000 00000000 0000020c 2**0 CONTENTS, RELOC, READONLY
21 memset.long 00000018 00000000 00000000 00000220 2**0 CONTENTS, RELOC, READONLY
22 nrv2b.8bit 000001ac 00000000 00000000 00000238 2**0 CONTENTS, RELOC, READONLY
23 nrv2d.8bit 000001e0 00000000 00000000 000003e4 2**0 CONTENTS, RELOC, READONLY
24 nrv2e.8bit 00000200 00000000 00000000 000005c4 2**0 CONTENTS, RELOC, READONLY
25 nrv2b.32bit 000001c8 00000000 00000000 000007c4 2**0 CONTENTS, RELOC, READONLY
26 nrv2d.32bit 00000200 00000000 00000000 0000098c 2**0 CONTENTS, RELOC, READONLY
27 nrv2e.32bit 00000224 00000000 00000000 00000b8c 2**0 CONTENTS, RELOC, READONLY
28 8bit.sub 00000020 00000000 00000000 00000db0 2**0 CONTENTS, READONLY
29 32bit.sub 00000024 00000000 00000000 00000dd0 2**0 CONTENTS, READONLY
30 nrv2b.small 000000d0 00000000 00000000 00000df4 2**0 CONTENTS, RELOC, READONLY
31 nrv2d.small 000000e8 00000000 00000000 00000ec4 2**0 CONTENTS, RELOC, READONLY
32 nrv2e.small 000000f8 00000000 00000000 00000fac 2**0 CONTENTS, RELOC, READONLY
33 nrv.done 00000000 00000000 00000000 000010a4 2**0 CONTENTS, READONLY
34 decompressor.start 00000000 00000000 00000000 000010a4 2**0 CONTENTS, READONLY
35 lzma.init 00000050 00000000 00000000 000010a4 2**0 CONTENTS, RELOC, READONLY
36 LZMA_DEC10 00000ad8 00000000 00000000 000010f4 2**0 CONTENTS, READONLY
37 LZMA_DEC20 00000ad8 00000000 00000000 00001bcc 2**0 CONTENTS, READONLY
38 UPX1HEAD 00000020 00000000 00000000 000026a4 2**0 CONTENTS, READONLY
16 bss.cdb.start.lzma 0000001c 00000000 00000000 0000016c 2**0 CONTENTS, RELOC, READONLY
17 bss.cdb.entry.lzma 00000024 00000000 00000000 00000188 2**0 CONTENTS, RELOC, READONLY
18 bss.con.start 00000038 00000000 00000000 000001ac 2**0 CONTENTS, RELOC, READONLY
19 bss.exit 0000002c 00000000 00000000 000001e4 2**0 CONTENTS, RELOC, READONLY
20 memset.short 00000014 00000000 00000000 00000210 2**0 CONTENTS, RELOC, READONLY
21 memset.long 00000018 00000000 00000000 00000224 2**0 CONTENTS, RELOC, READONLY
22 nrv2b.8bit 000001ec 00000000 00000000 0000023c 2**0 CONTENTS, RELOC, READONLY
23 nrv2d.8bit 00000228 00000000 00000000 00000428 2**0 CONTENTS, RELOC, READONLY
24 nrv2e.8bit 00000250 00000000 00000000 00000650 2**0 CONTENTS, RELOC, READONLY
25 nrv2b.32bit 000001ec 00000000 00000000 000008a0 2**0 CONTENTS, RELOC, READONLY
26 nrv2d.32bit 00000228 00000000 00000000 00000a8c 2**0 CONTENTS, RELOC, READONLY
27 nrv2e.32bit 00000250 00000000 00000000 00000cb4 2**0 CONTENTS, RELOC, READONLY
28 8bit.sub 00000024 00000000 00000000 00000f04 2**0 CONTENTS, READONLY
29 32bit.sub 0000002c 00000000 00000000 00000f28 2**0 CONTENTS, READONLY
30 nrv2b.small 000000d8 00000000 00000000 00000f54 2**0 CONTENTS, RELOC, READONLY
31 nrv2d.small 000000f0 00000000 00000000 0000102c 2**0 CONTENTS, RELOC, READONLY
32 nrv2e.small 00000100 00000000 00000000 0000111c 2**0 CONTENTS, RELOC, READONLY
33 nrv.done 00000000 00000000 00000000 0000121c 2**0 CONTENTS, READONLY
34 decompressor.start 00000000 00000000 00000000 0000121c 2**0 CONTENTS, READONLY
35 lzma.init 00000050 00000000 00000000 0000121c 2**0 CONTENTS, RELOC, READONLY
36 LZMA_DEC10 00000ad8 00000000 00000000 0000126c 2**0 CONTENTS, READONLY
37 LZMA_DEC20 00000ad8 00000000 00000000 00001d44 2**0 CONTENTS, READONLY
38 UPX1HEAD 00000020 00000000 00000000 0000281c 2**0 CONTENTS, READONLY
SYMBOL TABLE:
00000000 l d nrv.done 00000000 nrv.done
00000000 l d decompressor.start 00000000 decompressor.start
@ -92,8 +92,8 @@ SYMBOL TABLE:
00000000 *UND* 00000000 PAD
00000000 *UND* 00000000 wrkmem
00000000 *UND* 00000000 SC
0000000c g O 8bit.sub 00000000 gb8_e
00000010 g O 32bit.sub 00000000 gb32_e
00000014 g O 8bit.sub 00000000 gb8_e
0000001c g O 32bit.sub 00000000 gb32_e
00000000 *UND* 00000000 gb_e
00000000 *UND* 00000000 lzma_stack_adjust
00000000 *UND* 00000000 lzma_c_len
@ -174,7 +174,7 @@ OFFSET TYPE VALUE
00000000 R_MIPS_HI16 PSVR
00000004 R_MIPS_LO16 PSVR
0000000c R_MIPS_HI16 wrkmem
00000014 R_MIPS_LO16 wrkmem
00000010 R_MIPS_LO16 wrkmem
RELOCATION RECORDS FOR [bss.cdb.entry.lzma]:
OFFSET TYPE VALUE
@ -201,63 +201,63 @@ OFFSET TYPE VALUE
RELOCATION RECORDS FOR [nrv2b.8bit]:
OFFSET TYPE VALUE
000000a8 R_MIPS_PC16 nrv.done
000000c4 R_MIPS_PC16 nrv.done
RELOCATION RECORDS FOR [nrv2d.8bit]:
OFFSET TYPE VALUE
000000f0 R_MIPS_PC16 nrv.done
0000011c R_MIPS_PC16 nrv.done
RELOCATION RECORDS FOR [nrv2e.8bit]:
OFFSET TYPE VALUE
000000f0 R_MIPS_PC16 nrv.done
0000011c R_MIPS_PC16 nrv.done
RELOCATION RECORDS FOR [nrv2b.32bit]:
OFFSET TYPE VALUE
000000b4 R_MIPS_PC16 nrv.done
000000c4 R_MIPS_PC16 nrv.done
RELOCATION RECORDS FOR [nrv2d.32bit]:
OFFSET TYPE VALUE
00000104 R_MIPS_PC16 nrv.done
0000011c R_MIPS_PC16 nrv.done
RELOCATION RECORDS FOR [nrv2e.32bit]:
OFFSET TYPE VALUE
00000104 R_MIPS_PC16 nrv.done
0000011c R_MIPS_PC16 nrv.done
RELOCATION RECORDS FOR [nrv2b.small]:
OFFSET TYPE VALUE
00000008 R_MIPS_PC16 gb_e
00000028 R_MIPS_PC16 gb_e
00000030 R_MIPS_PC16 gb_e
00000060 R_MIPS_PC16 nrv.done
0000006c R_MIPS_PC16 gb_e
00000078 R_MIPS_PC16 gb_e
00000090 R_MIPS_PC16 gb_e
00000098 R_MIPS_PC16 gb_e
0000000c R_MIPS_PC16 gb_e
0000002c R_MIPS_PC16 gb_e
00000034 R_MIPS_PC16 gb_e
00000064 R_MIPS_PC16 nrv.done
00000070 R_MIPS_PC16 gb_e
0000007c R_MIPS_PC16 gb_e
00000094 R_MIPS_PC16 gb_e
0000009c R_MIPS_PC16 gb_e
RELOCATION RECORDS FOR [nrv2d.small]:
OFFSET TYPE VALUE
00000008 R_MIPS_PC16 gb_e
00000028 R_MIPS_PC16 gb_e
00000030 R_MIPS_PC16 gb_e
00000040 R_MIPS_PC16 gb_e
00000058 R_MIPS_PC16 gb_e
00000078 R_MIPS_PC16 nrv.done
00000090 R_MIPS_PC16 gb_e
000000a8 R_MIPS_PC16 gb_e
000000b0 R_MIPS_PC16 gb_e
0000000c R_MIPS_PC16 gb_e
0000002c R_MIPS_PC16 gb_e
00000034 R_MIPS_PC16 gb_e
00000044 R_MIPS_PC16 gb_e
0000005c R_MIPS_PC16 gb_e
0000007c R_MIPS_PC16 nrv.done
00000094 R_MIPS_PC16 gb_e
000000ac R_MIPS_PC16 gb_e
000000b4 R_MIPS_PC16 gb_e
RELOCATION RECORDS FOR [nrv2e.small]:
OFFSET TYPE VALUE
00000008 R_MIPS_PC16 gb_e
00000028 R_MIPS_PC16 gb_e
00000030 R_MIPS_PC16 gb_e
00000040 R_MIPS_PC16 gb_e
00000058 R_MIPS_PC16 gb_e
00000078 R_MIPS_PC16 nrv.done
00000090 R_MIPS_PC16 gb_e
000000a8 R_MIPS_PC16 gb_e
000000b8 R_MIPS_PC16 gb_e
000000c0 R_MIPS_PC16 gb_e
0000000c R_MIPS_PC16 gb_e
0000002c R_MIPS_PC16 gb_e
00000034 R_MIPS_PC16 gb_e
00000044 R_MIPS_PC16 gb_e
0000005c R_MIPS_PC16 gb_e
0000007c R_MIPS_PC16 nrv.done
00000094 R_MIPS_PC16 gb_e
000000ac R_MIPS_PC16 gb_e
000000bc R_MIPS_PC16 gb_e
000000c4 R_MIPS_PC16 gb_e
RELOCATION RECORDS FOR [lzma.init]:
OFFSET TYPE VALUE