|

- 帖子
- 86
- 精华
- 0
- 积分
- 283
- 威望
- 0
- 金钱
- 206
- 阅读权限
- 70
- 注册时间
- 2011-3-5
|
【原创】恐龙危机压缩反编译源码(dc)
没什么好说的,普通的lzss压缩
0压缩,1不压缩
压缩符2字节,
回退量=(byte2&f)<<8+byte1;
复制数=(byte2>>4)+2;- ROM:8C0282DC E6 2F mov.l r14, @-r15
- ROM:8C0282DE D6 2F mov.l r13, @-r15
- ROM:8C0282E0 C6 2F mov.l r12, @-r15
- ROM:8C0282E2 B6 2F mov.l r11, @-r15
- ROM:8C0282E4 A6 2F mov.l r10, @-r15
- ROM:8C0282E6 96 2F mov.l r9, @-r15
- ROM:8C0282E8 86 2F mov.l r8, @-r15
- ROM:8C0282EA F8 7F add #-8, r15
- ROM:8C0282EC 3F D5 mov.l @(h'FC,pc), r5 ; [8C0283EC] = unk_8C2C5F80
- ROM:8C0282EE 77 96 mov.w @(h'EE,pc), r6 ; [8C0283E0] = h'800
- ROM:8C0282F0 55 53 mov.l @(h'14,r5), r3
- ROM:8C0282F2 31 52 mov.l @(4,r3), r2
- ROM:8C0282F4 67 32 cmp/gt r6, r2
- ROM:8C0282F6 01 8B bf loc_8C0282FC
- ROM:8C0282F8 02 A0 bra loc_8C028300
- ROM:8C0282FA 63 64 mov r6, r4
- ROM:8C0282FC ; ---------------------------------------------------------------------------
- ROM:8C0282FC
- ROM:8C0282FC loc_8C0282FC: ; CODE XREF: ROM:8C0282F6j
- ROM:8C0282FC 55 54 mov.l @(h'14,r5), r4
- ROM:8C0282FE 41 54 mov.l @(4,r4), r4
- ROM:8C028300
- ROM:8C028300 loc_8C028300: ; CODE XREF: ROM:8C0282F8j
- ROM:8C028300 53 69 mov r5, r9
- ROM:8C028302 3B DE mov.l @(h'EC,pc), r14 ; [8C0283F0] = unk_8C2C61FC
- ROM:8C028304 01 EC mov #1, r12
- ROM:8C028306 E1 5E mov.l @(4,r14), r14 ; r14压缩地址
- ROM:8C028308 92 2F mov.l r9, @r15
- ROM:8C02830A 95 59 mov.l @(h'14,r9), r9
- ROM:8C02830C 9C 84 mov.b @(h'C,r9), r0
- ROM:8C02830E 92 57 mov.l @(8,r9), r7
- ROM:8C028310 0C 6B extu.b r0, r11
- ROM:8C028312 9D 84 mov.b @(h'D,r9), r0
- ROM:8C028314 0C 66 extu.b r0, r6
- ROM:8C028316 9F 84 mov.b @(h'F,r9), r0
- ROM:8C028318 0C 6A extu.b r0, r10
- ROM:8C02831A 9E 84 mov.b @(h'E,r9), r0
- ROM:8C02831C 0C 60 extu.b r0, r0
- ROM:8C02831E 01 88 cmp/eq #1, r0
- ROM:8C028320 0F 8D bt/s loc_8C028342
- ROM:8C028322 00 ED mov #0, r13
- ROM:8C028324 55 50 mov.l @(h'14,r5), r0
- ROM:8C028326 0E 84 mov.b @(h'E,r0), r0
- ROM:8C028328 0C 60 extu.b r0, r0
- ROM:8C02832A 02 88 cmp/eq #2, r0
- ROM:8C02832C 1D 89 bt loc_8C02836A
- ROM:8C02832E
- ROM:8C02832E loc_8C02832E: ; CODE XREF: ROM:8C028356j
- ROM:8C02832E ; ROM:8C0283A6j
- ROM:8C02832E B8 2B tst r11, r11
- ROM:8C028330 07 8B bf loc_8C028342
- ROM:8C028332 E4 66 mov.b @r14+, r6
- ROM:8C028334 10 44 dt r4
- ROM:8C028336 6C 66 extu.b r6, r6
- ROM:8C028338 03 8F bf/s loc_8C028342
- ROM:8C02833A 08 EB mov #8, r11
- ROM:8C02833C 55 52 mov.l @(h'14,r5), r2
- ROM:8C02833E 35 A0 bra loc_8C0283AC
- ROM:8C028340 C3 60 mov r12, r0
- ROM:8C028342 ; ---------------------------------------------------------------------------
- ROM:8C028342
- ROM:8C028342 loc_8C028342: ; CODE XREF: ROM:8C028320j
- ROM:8C028342 ; ROM:8C028330j ...
- ROM:8C028342 63 62 mov r6, r2
- ROM:8C028344 C8 22 tst r12, r2
- ROM:8C028346 08 8D bt/s loc_8C02835A
- ROM:8C028348 FF 7B add #-1, r11
- ROM:8C02834A E4 63 mov.b @r14+, r3
- ROM:8C02834C 01 46 shlr r6
- ROM:8C02834E 10 44 dt r4
- ROM:8C028350 30 27 mov.b r3, @r7
- ROM:8C028352 29 8D bt/s loc_8C0283A8
- ROM:8C028354 01 77 add #1, r7
- ROM:8C028356 EA AF bra loc_8C02832E
- ROM:8C028358 09 00 nop
- ROM:8C02835A ; ---------------------------------------------------------------------------
- ROM:8C02835A
- ROM:8C02835A loc_8C02835A: ; CODE XREF: ROM:8C028346j
- ROM:8C02835A E4 6A mov.b @r14+, r10
- ROM:8C02835C 10 44 dt r4
- ROM:8C02835E 04 8F bf/s loc_8C02836A
- ROM:8C028360 AC 6A extu.b r10, r10
- ROM:8C028362 55 52 mov.l @(h'14,r5), r2
- ROM:8C028364 02 E4 mov #2, r4
- ROM:8C028366 21 A0 bra loc_8C0283AC
- ROM:8C028368 43 60 mov r4, r0
- ROM:8C02836A ; ---------------------------------------------------------------------------
- ROM:8C02836A
- ROM:8C02836A loc_8C02836A: ; CODE XREF: ROM:8C02832Cj
- ROM:8C02836A ; ROM:8C02835Ej
- ROM:8C02836A E4 69 mov.b @r14+, r9
- ROM:8C02836C 73 62 mov r7, r2
- ROM:8C02836E 38 98 mov.w @(h'70,pc), r8 ; [8C0283E2] = h'F0 ; 压缩
- ROM:8C028370 9C 69 extu.b r9, r9
- ROM:8C028372 93 63 mov r9, r3
- ROM:8C028374 89 23 and r8, r3
- ROM:8C028376 09 43 shlr2 r3
- ROM:8C028378 09 43 shlr2 r3
- ROM:8C02837A 33 68 mov r3, r8
- ROM:8C02837C 0F E3 mov #h'F, r3
- ROM:8C02837E 39 29 and r3, r9
- ROM:8C028380 18 49 shll8 r9
- ROM:8C028382 AB 29 or r10, r9
- ROM:8C028384 98 32 sub r9, r2
- ROM:8C028386 21 1F mov.l r2, @(4,r15)
- ROM:8C028388 02 78 add #2, r8
- ROM:8C02838A 08 A0 bra loc_8C02839E
- ROM:8C02838C D3 69 mov r13, r9
- ROM:8C02838E ; ---------------------------------------------------------------------------
- ROM:8C02838E
- ROM:8C02838E loc_8C02838E: ; CODE XREF: ROM:8C0283A0j
- ROM:8C02838E F1 52 mov.l @(4,r15), r2
- ROM:8C028390 01 79 add #1, r9
- ROM:8C028392 01 72 add #1, r2
- ROM:8C028394 21 1F mov.l r2, @(4,r15)
- ROM:8C028396 FF 72 add #-1, r2
- ROM:8C028398 20 61 mov.b @r2, r1
- ROM:8C02839A 10 27 mov.b r1, @r7
- ROM:8C02839C 01 77 add #1, r7
- ROM:8C02839E
- ROM:8C02839E loc_8C02839E: ; CODE XREF: ROM:8C02838Aj
- ROM:8C02839E 82 39 cmp/hs r8, r9
- ROM:8C0283A0 F5 8B bf loc_8C02838E
- ROM:8C0283A2 01 46 shlr r6
- ROM:8C0283A4 10 44 dt r4
- ROM:8C0283A6 C2 8B bf loc_8C02832E
复制代码 |
|