Files
jak-project/test/decompiler/vu_reference/jak1/ocean-texture-result.txt
Tyler Wilding 6c719ae000 d/jx: Disassemble and compare VU programs, add reference tests, create a diff report (#4406)
All VU programs are unchanged except:

- `ocean-near-vu1` DIFFERENT
- `sparks-vu1` NEW
- `sprite-glow-vu1` DIFFERENT
- `tnear-vu1` DIFFERENT

And `hfrag`, `ocean` and `ocean-texture` have been removed.

A full breakdown:
```
================================================================================
Checking: background-vu0.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: bones-vu0.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: collide-vu0.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: emerc-vu1.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: etie-vu1.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: etn-vu1.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: foreground-vu0.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: generic-vu0.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: generic-vu1.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: merc-vu1.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: mercneric-vu0.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: ocean-mid-vu1.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: ocean-near-vu1.txt
================================================================================
!!! DIFFERENT !!!

--- ocean-near-vu1.txt
+++ ../jak3/ocean-near-vu1.txt
@@ -78,10 +78,20 @@
 .word 0x2ff
 .word 0x800206bc
 .word 0x2ff
+.word 0x903100a
+.word 0x2ff
+.word 0x884100a
+.word 0x2ff
 .word 0x80050032
 .word 0x2ff
 .word 0x800701f2
 .word 0x2ff
+.word 0x1fc1820
+.word 0x2ff
+.word 0x1fd1821
+.word 0x2ff
+.word 0x1fe2020
+.word 0x2ff
 .word 0x1f82922
 .word 0x2ff
 .word 0x1f92925
@@ -91,23 +101,23 @@
 .word 0x1fb292b
 .word 0x2ff
 .word 0x1ec292e
-.word 0x800601
+.word 0x9c0600
 .word 0x1ed2931
-.word 0x800641
+.word 0x9c0641
 .word 0x1ee2934
-.word 0x800681
+.word 0x9c0682
 .word 0x1ef2937
-.word 0x8006c1
+.word 0x9c06c3
 .word 0x1e8293a
-.word 0x800301
+.word 0x9d0300
 .word 0x3e5c122
-.word 0x800341
+.word 0x9d0341
 .word 0x3e5c925
-.word 0x800381
+.word 0x9d0382
 .word 0x3e5d128
-.word 0x8003c1
+.word 0x9d03c3
 .word 0x3e5d92b
-.word 0x800201
+.word 0x9e0200
 .word 0x3e5612e
 .word 0x2ff
 .word 0x3e56931
@@ -118,12 +128,26 @@
 .word 0x2ff
 .word 0x3e5413a
 .word 0x2ff
+.word 0x80031a32
+.word 0x2ff
+.word 0x80042232
+.word 0x2ff
 .word 0x1005281b
 .word 0x2ff
-.word 0x5a003fec
+.word 0x5a003fe7
 .word 0x2ff
 .word 0x80073ff2
 .word 0x2ff
+.word 0x843100a
+.word 0x2ff
+.word 0x824100a
+.word 0x2ff
+.word 0x1fc1820
+.word 0x2ff
+.word 0x1fd1821
+.word 0x2ff
+.word 0x1fe2020
+.word 0x2ff
 .word 0x1f82922
 .word 0x2ff
 .word 0x1f92925
@@ -133,23 +157,23 @@
 .word 0x1fb292b
 .word 0x2ff
 .word 0x1ec292e
-.word 0x800601
+.word 0x9c0600
 .word 0x1ed2931
-.word 0x800641
+.word 0x9c0641
 .word 0x1ee2934
-.word 0x800681
+.word 0x9c0682
 .word 0x1ef2937
-.word 0x8006c1
+.word 0x9c06c3
 .word 0x1e8293a
-.word 0x800301
+.word 0x9d0300
 .word 0x3e5c122
-.word 0x800341
+.word 0x9d0341
 .word 0x3e5c925
-.word 0x800381
+.word 0x9d0382
 .word 0x3e5d128
-.word 0x8003c1
+.word 0x9d03c3
 .word 0x3e5d92b
-.word 0x800201
+.word 0x9e0200
 .word 0x3e5612e
 .word 0x2ff
 .word 0x3e56931

================================================================================
Checking: shadow-vu0.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: shadow-vu1.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: shrub-vu1.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: sparks-vu1.txt
================================================================================
!!! MISSING: ../jak3/sparks-vu1.txt
!!! MISSING: sparks-vu1.txt does not exist in ../jak3

================================================================================
Checking: sprite-distort-vu1.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: sprite-glow-vu1.txt
================================================================================
!!! DIFFERENT !!!

--- sprite-glow-vu1.txt
+++ ../jak3/sprite-glow-vu1.txt
@@ -1,4 +1,4 @@
-.word 0x1005031e
+.word 0x10050320
 .word 0x2ff
 .word 0x1f903dc
 .word 0x2ff
@@ -66,17 +66,17 @@
 .word 0x2ff
 .word 0x1ed2004
 .word 0x1042101
-.word 0x3e54845
+.word 0x3e54844
 .word 0x5b1159
 .word 0x8025033c
 .word 0x410083
-.word 0x3e55046
+.word 0x3e55045
 .word 0x20025c
-.word 0x3e55847
-.word 0x2ff
-.word 0x3e56048
+.word 0x3e55846
+.word 0x2ff
+.word 0x3e56047
 .word 0x1002117
-.word 0x3e56849
+.word 0x3e56848
 .word 0x2ff
 .word 0x80000030
 .word 0x290247
@@ -178,7 +178,7 @@
 .word 0x18aa52f
 .word 0x80000030
 .word 0x1e5f1bf
-.word 0x3e5184c
+.word 0x3e5184b
 .word 0x1e5fc0a
 .word 0x3c5580b
 .word 0x191a46c
@@ -230,33 +230,33 @@
 .word 0x1ed697d
 .word 0x80000030
 .word 0x1ee717d
-.word 0x385583e
+.word 0x385583d
 .word 0x1f1897d
-.word 0x385603f
+.word 0x385603e
 .word 0x1f2917d
-.word 0x3856840
+.word 0x385683f
 .word 0x1f3997d
-.word 0x3857041
+.word 0x3857040
 .word 0x1f4a17d
-.word 0x3858819
-.word 0x2ff
-.word 0x385901b
+.word 0x3858818
+.word 0x2ff
+.word 0x385901a
 .word 0x2ff
 .word 0x3859808
 .word 0x2ff
 .word 0x385a009
 .word 0x2ff
-.word 0x385584e
-.word 0x2ff
-.word 0x3856050
-.word 0x2ff
-.word 0x3856852
-.word 0x2ff
-.word 0x3857054
+.word 0x385584d
+.word 0x2ff
+.word 0x385604f
+.word 0x2ff
+.word 0x3856851
+.word 0x2ff
+.word 0x3857053
 .word 0x2ff
 .word 0x80002efc
 .word 0x2ff
-.word 0x10010691
+.word 0x10010694
 .word 0x2ff
 .word 0x52001f8c
 .word 0x2ff

================================================================================
Checking: sprite-vu1.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: tfrag-vu1.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: tie-near-vu1.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: tie-vu1.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: tnear-vu1.txt
================================================================================
!!! DIFFERENT !!!

--- tnear-vu1.txt
+++ ../jak3/tnear-vu1.txt
@@ -1421,9 +1421,9 @@
 .word 0x1916800
 .word 0x400403
 .word 0x40000008
+.word 0x2ff
+.word 0x1927000
 .word 0x400443
-.word 0x1927000
-.word 0x2ff
 .word 0x3eb802d
 .word 0x2ff
 .word 0x3eb882e
@@ -1435,39 +1435,39 @@
 .word 0x1916948
 .word 0x400403
 .word 0x40000001
+.word 0x2ff
+.word 0x1927148
 .word 0x400443
-.word 0x1927148
-.word 0x2ff
 .word 0x3eba02a
 .word 0x400483
 .word 0x3eba82b
+.word 0x2ff
+.word 0x3ebb02c
+.word 0x2ff
+.word 0x1f4581d
 .word 0x1998407
-.word 0x3ebb02c
+.word 0x1f55820
 .word 0x1998c47
-.word 0x1f4581d
-.word 0x1f6e93c
-.word 0x1f55820
+.word 0x3eb6027
 .word 0x1999487
-.word 0x3eb6027
-.word 0x191876f
 .word 0x3eb6828
-.word 0x19187ab
+.word 0x2ff
 .word 0x3eb801e
 .word 0x1f4a13c
 .word 0x3eb8821
 .word 0x1f5a93c
 .word 0x3eb9024
-.word 0x192ef6f
+.word 0x1f6e93c
 .word 0x3eb7029
-.word 0x192f7ab
+.word 0x2ff
+.word 0x3eba01d
+.word 0x2ff
+.word 0x3eba820
+.word 0x2ff
 .word 0x3ebb023
 .word 0x2ff
 .word 0x800e5872
 .word 0x2ff
-.word 0x3eba01d
-.word 0x2ff
-.word 0x3eba820
-.word 0x19de97c
 .word 0x1ff0297
 .word 0x2ff
 .word 0xb0f03fe
@@ -1475,7 +1475,7 @@
 .word 0x80040032
 .word 0x2ff
 .word 0x420f0007
-.word 0x19de93c
+.word 0x2ff
 .word 0x1006581c
 .word 0x2ff
 .word 0x420f0005
@@ -1541,20 +1541,20 @@
 .word 0x2c010002
 .word 0x2ff
 .word 0x2c0d0002
-.word 0x2ff
+.word 0x3eef87
 .word 0x5200080c
 .word 0x2ff
 .word 0x1f13002
 .word 0x2ff
 .word 0x52006803
 .word 0x2ff
-.word 0x80000030
+.word 0x81feebbc
 .word 0x2ff
 .word 0x400007e3
 .word 0x2ff
 .word 0x800841f2
 .word 0x2ff
-.word 0x420a0082
+.word 0x420a0077
 .word 0x2ff
 .word 0x80064072
 .word 0x2ff
@@ -1570,7 +1570,7 @@
 .word 0x2ff
 .word 0x5200681c
 .word 0x2ff
-.word 0x80000030
+.word 0x81feebbc
 .word 0x2ff
 .word 0x420a006e
 .word 0x2ff
@@ -1594,16 +1594,16 @@
 .word 0x2ff
 .word 0x80064772
 .word 0x2ff
+.word 0x1ec3000
+.word 0x2ff
+.word 0x1f43001
+.word 0x2ff
 .word 0x1f03002
 .word 0x2ff
-.word 0x1ec3000
-.word 0x2ff
-.word 0x1f43001
-.word 0x2ff
 .word 0x80042072
 .word 0x2ff
 .word 0x80000030
-.word 0x19d842c
+.word 0x2ff
 .word 0x81ec03bc
 .word 0x1ff632a
 .word 0x80000030
@@ -1671,14 +1671,14 @@
 .word 0x2c010002
 .word 0x2ff
 .word 0x2c0d0002
-.word 0x2ff
+.word 0x3eef87
 .word 0x500d0818
 .word 0x2ff
 .word 0x1f13802
 .word 0x2ff
 .word 0x5000080c
 .word 0x2ff
-.word 0x80000030
+.word 0x81feebbc
 .word 0x2ff
 .word 0x420a0038
 .word 0x2ff
@@ -1702,7 +1702,7 @@
 .word 0x2ff
 .word 0x80006235
 .word 0x2ff
-.word 0x420a0038
+.word 0x420a002d
 .word 0x2ff
 .word 0x80000030
 .word 0x2ff
@@ -1795,10 +1795,6 @@
 .word 0x80000030
 .word 0x2d6f86
 .word 0x80000030
-.word 0x3eef87
-.word 0x81feebbc
-.word 0x2ff
-.word 0x80000030
 .word 0x1ec6bac
 .word 0x80000030
 .word 0x1f4adac
@@ -1816,25 +1812,3 @@
 .word 0x1f6a5a8
 .word 0x80000030
 .word 0x1f284a8
-.word 0x80000030
-.word 0x3eef47
-.word 0x81fdf3bc
-.word 0x2ff
-.word 0x80000030
-.word 0x1ed63ac
-.word 0x80000030
-.word 0x1f5a5ac
-.word 0x80000030
-.word 0x1f184ac
-.word 0x800003bf
-.word 0x1e0739c
-.word 0x80000030
-.word 0x1e0b59c
-.word 0x80000030
-.word 0x1e0949c
-.word 0x80000030
-.word 0x1ee6bac
-.word 0x48005000
-.word 0x1f6adac
-.word 0x80000030
-.word 0x1f28cac
```
2026-09-04 23:01:17 -04:00

153 lines
8.3 KiB
Plaintext

b L1 | nop
nop | nop
b L2 | nop
nop | nop
nop | nop :e
nop | nop
L1:
lq.xyzw vf14, 988(vi00) | maxw.xyzw vf01, vf00, vf00
lq.xyzw vf02, 989(vi00) | nop
lq.xyzw vf03, 986(vi00) | nop
lq.xyzw vf04, 987(vi00) | nop
lq.xyzw vf05, 985(vi00) | nop
lq.xyzw vf06, 991(vi00) | nop
lq.xyzw vf07, 990(vi00) | nop
iaddiu vi11, vi00, 0x80 | nop
mtir vi08, vf03.x | nop
mtir vi09, vf03.x | nop
mr32.xyzw vf03, vf03 | nop
xtop vi05 | nop
mtir vi06, vf04.x | nop
bal vi12, L3 | nop
mr32.xyzw vf04, vf04 | nop
mtir vi06, vf04.x | nop
bal vi12, L3 | nop
mr32.xyzw vf04, vf04 | nop
mtir vi03, vf04.x | nop
bal vi12, L5 | nop
mtir vi04, vf04.y | nop
mtir vi06, vf04.x | nop
bal vi12, L3 | nop
mr32.xyzw vf04, vf04 | nop
mtir vi03, vf04.x | nop
bal vi12, L5 | nop
mtir vi04, vf04.y | nop
nop | nop :e
nop | nop
L2:
xtop vi05 | nop
mtir vi06, vf04.x | nop
bal vi12, L3 | nop
mr32.xyzw vf04, vf04 | nop
mtir vi03, vf04.x | nop
bal vi12, L5 | nop
mtir vi04, vf04.y | nop
mtir vi06, vf04.x | nop
bal vi12, L3 | nop
mr32.xyzw vf04, vf04 | nop
mtir vi03, vf04.x | nop
bal vi12, L5 | nop
mtir vi04, vf04.y | nop
mtir vi06, vf04.x | nop
bal vi12, L3 | nop
mr32.xyzw vf04, vf04 | nop
mtir vi03, vf04.x | nop
bal vi12, L5 | nop
mtir vi04, vf04.y | nop
nop | nop :e
nop | nop
L3:
ior vi07, vi06, vi00 | nop
move.xyzw vf15, vf14 | nop
iaddi vi01, vi00, 0x8 | nop
lq.xyzw vf24, 1(vi05) | mulw.xyzw vf20, vf15, vf00
lq.xyzw vf25, 3(vi05) | mulw.xyzw vf21, vf15, vf00
lq.xyzw vf26, 5(vi05) | mulw.xyzw vf22, vf15, vf00
nop | mulw.xyzw vf23, vf15, vf00
nop | mulax.xyzw ACC, vf24, vf06
nop | madday.xyzw ACC, vf25, vf06
nop | maddz.xyzw vf27, vf26, vf06
nop | addx.x vf21, vf21, vf02
nop | addy.x vf22, vf22, vf02
L4:
nop | addz.x vf23, vf23, vf02
nop | addw.x vf15, vf15, vf02
sq.xyzw vf20, 2(vi06) | mulx.x vf28, vf01, vf24
sq.xyzw vf21, 5(vi06) | muly.x vf29, vf01, vf24
sq.xyzw vf22, 8(vi06) | mulz.x vf30, vf01, vf24
sq.xyzw vf23, 11(vi06) | mulw.x vf31, vf01, vf24
lq.xyzw vf16, 0(vi05) | mulx.y vf28, vf01, vf25
lq.xyzw vf17, 2(vi05) | muly.y vf29, vf01, vf25
lq.xyzw vf18, 4(vi05) | mulz.y vf30, vf01, vf25
lq.xyzw vf19, 6(vi05) | mulw.y vf31, vf01, vf25
iaddi vi05, vi05, 0x8 | mulx.xy vf28, vf28, vf27
nop | muly.xy vf29, vf29, vf27
nop | mulz.xy vf30, vf30, vf27
nop | mulw.xy vf31, vf31, vf27
nop | mulw.xy vf28, vf28, vf16
nop | mulw.xy vf29, vf29, vf17
nop | mulw.xy vf30, vf30, vf18
nop | mulw.xy vf31, vf31, vf19
nop | ftoi0.xyzw vf16, vf16
nop | ftoi0.xyzw vf17, vf17
nop | ftoi0.xyzw vf18, vf18
iaddi vi01, vi01, -0x1 | ftoi0.xyzw vf19, vf19
mfir.w vf16, vi11 | add.xyzw vf28, vf28, vf06
mfir.w vf17, vi11 | add.xyzw vf29, vf29, vf06
mfir.w vf18, vi11 | add.xyzw vf30, vf30, vf06
mfir.w vf19, vi11 | add.xyzw vf31, vf31, vf06
nop | mulx.xyzw vf28, vf28, vf07
nop | mulx.xyzw vf29, vf29, vf07
nop | mulx.xyzw vf30, vf30, vf07
nop | mulx.xyzw vf31, vf31, vf07
nop | addy.xyzw vf28, vf28, vf07
nop | addy.xyzw vf29, vf29, vf07
nop | addy.xyzw vf30, vf30, vf07
nop | addy.xyzw vf31, vf31, vf07
sq.xyzw vf16, 1(vi06) | sub.zw vf28, vf01, vf00
sq.xyzw vf17, 4(vi06) | sub.zw vf29, vf01, vf00
sq.xyzw vf18, 7(vi06) | sub.zw vf30, vf01, vf00
sq.xyzw vf19, 10(vi06) | sub.zw vf31, vf01, vf00
lq.xyzw vf24, 1(vi05) | mulw.xyzw vf20, vf15, vf00
lq.xyzw vf25, 3(vi05) | mulw.xyzw vf21, vf15, vf00
lq.xyzw vf26, 5(vi05) | mulw.xyzw vf22, vf15, vf00
sq.xyzw vf28, 0(vi06) | mulw.xyzw vf23, vf15, vf00
sq.xyzw vf29, 3(vi06) | mulax.xyzw ACC, vf24, vf06
sq.xyzw vf30, 6(vi06) | madday.xyzw ACC, vf25, vf06
sq.xyzw vf31, 9(vi06) | maddz.xyzw vf27, vf26, vf06
ibgtz vi01, L4 | addx.x vf21, vf21, vf02
iaddi vi06, vi06, 0xc | addy.x vf22, vf22, vf02
lq.xyzw vf28, 0(vi07) | addx.y vf14, vf14, vf02
lq.xyzw vf16, 1(vi07) | nop
sq.xyzw vf20, 2(vi06) | nop
sq.xyzw vf28, 0(vi06) | nop
jr vi12 | nop
sq.xyzw vf16, 1(vi06) | nop
L5:
iaddiu vi01, vi00, 0x21 | nop
sq.xyzw vf05, 0(vi08) | nop
iaddi vi08, vi08, 0x1 | nop
L6:
iaddi vi01, vi01, -0x1 | nop
lq.xyzw vf20, 2(vi03) | nop
lq.xyzw vf21, 2(vi04) | nop
lq.xyzw vf28, 0(vi03) | nop
lq.xyzw vf16, 1(vi03) | nop
lq.xyzw vf29, 0(vi04) | ftoi4.xyzw vf20, vf20
lq.xyzw vf17, 1(vi04) | ftoi4.xyzw vf21, vf21
sq.xyzw vf28, 0(vi08) | nop
sq.xyzw vf16, 1(vi08) | nop
sq.xyzw vf20, 2(vi08) | nop
sq.xyzw vf29, 3(vi08) | nop
sq.xyzw vf17, 4(vi08) | nop
sq.xyzw vf21, 5(vi08) | nop
iaddi vi03, vi03, 0x3 | nop
iaddi vi04, vi04, 0x3 | nop
ibgtz vi01, L6 | nop
iaddi vi08, vi08, 0x6 | nop
xgkick vi09 | nop
mtir vi08, vf03.x | nop
mtir vi09, vf03.x | nop
jr vi12 | nop
mr32.xyzw vf03, vf03 | nop