Files
jak-project/test/decompiler/vu_reference/jak1/sky-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

216 lines
12 KiB
Plaintext

iaddi vi14, vi00, 0x0 | nop
lq.xyzw vf28, 291(vi00) | nop
lq.xyzw vf29, 292(vi00) | nop
lq.xyzw vf30, 293(vi00) | nop
lq.xyzw vf31, 294(vi00) | nop
lq.xyzw vf27, 295(vi00) | nop
lq.xyzw vf26, 296(vi00) | nop :e
lq.xyzw vf25, 297(vi00) | nop
L1:
lq.xyzw vf05, 299(vi00) | nop
lq.xyzw vf07, 308(vi00) | nop
lq.xyzw vf08, 307(vi00) | nop
ior vi04, vi14, vi00 | nop
iaddiu vi02, vi00, 0x100 | mulax.xyzw ACC, vf28, vf01
lq.xyzw vf04, 305(vi00) | madday.xyzw ACC, vf29, vf01
iaddiu vi03, vi00, 0x11 | maddz.xyzw vf01, vf30, vf01
sqi.xyzw vf07, vi04 | nop
sqi.xyzw vf08, vi04 | nop
sqi.xyzw vf04, vi04 | nop
sqi.xyzw vf05, vi04 | nop
sq.x vf03, -1(vi04) | nop
sqi.xyzw vf01, vi04 | nop
L2:
lqi.xyzw vf06, vi02 | nop
sqi.xyzw vf05, vi04 | nop
sq.x vf09, -1(vi04) | nop
nop | nop
nop | mulx.xyzw vf06, vf06, vf02
nop | nop
nop | nop
nop | nop
nop | add.xyzw vf06, vf06, vf01
iaddi vi03, vi03, -0x1 | nop
nop | nop
ibne vi00, vi03, L2 | nop
sqi.xyzw vf06, vi04 | nop
iaddi vi04, vi14, 0x3 | nop
iaddi vi05, vi00, 0x0 | nop
iaddi vi06, vi00, 0x0 | nop
iaddiu vi03, vi00, 0x11 | nop
lq.xyzw vf07, 1(vi04) | nop
iaddi vi04, vi04, 0x2 | nop
nop | nop
nop | nop
div Q, vf25.x, vf07.w | mul.xyzw vf08, vf07, vf27
move.z vf07, vf00 | nop
nop | nop
nop | nop
nop | clipw.xyz vf08, vf08
nop | nop
nop | nop
iaddiu vi01, vi00, 0x2f | mul.xy vf07, vf07, Q
fcget vi05 | nop
iand vi05, vi05, vi01 | nop
nop | nop
nop | add.xyzw vf07, vf07, vf26
nop | nop
nop | nop
nop | nop
nop | maxx.w vf07, vf07, vf00
nop | nop
nop | nop
nop | nop
nop | ftoi4.xyzw vf07, vf07
nop | nop
nop | nop
nop | nop
sq.xyzw vf07, -1(vi04) | nop
L3:
lq.xyzw vf07, 1(vi04) | nop
iaddi vi04, vi04, 0x2 | nop
nop | nop
nop | nop
div Q, vf25.x, vf07.w | mul.xyzw vf08, vf07, vf27
move.z vf07, vf00 | nop
nop | nop
nop | nop
nop | clipw.xyz vf08, vf08
nop | nop
nop | nop
iaddiu vi01, vi00, 0x2f | mul.xy vf07, vf07, Q
fcget vi07 | nop
iand vi07, vi07, vi01 | nop
iand vi06, vi06, vi05 | nop
iand vi06, vi06, vi07 | add.xyzw vf07, vf07, vf26
nop | nop
ibne vi00, vi06, L4 | nop
nop | nop
nop | maxx.w vf07, vf07, vf00
nop | nop
nop | nop
nop | nop
nop | ftoi4.xyzw vf07, vf07
iaddi vi03, vi03, -0x1 | nop
ior vi06, vi07, vi00 | nop
ibne vi00, vi03, L3 | nop
sq.xyzw vf07, -1(vi04) | nop
b L5 | nop
xgkick vi14 | nop
L4:
nop | maxx.w vf07, vf07, vf00
nop | nop
nop | nop
nop | nop
nop | addw.w vf07, vf07, vf25
nop | nop
nop | nop
nop | nop
nop | ftoi4.xyzw vf07, vf07
iaddi vi03, vi03, -0x1 | nop
ior vi06, vi07, vi00 | nop
ibne vi00, vi03, L3 | nop
sq.xyzw vf07, -1(vi04) | nop
xgkick vi14 | nop
L5:
iaddiu vi01, vi00, 0x80 | nop
isub vi14, vi01, vi14 | nop
iaddi vi08, vi00, 0x2 | nop
L6:
iaddiu vi02, vi00, 0x100 | nop
lq.xyzw vf04, 306(vi00) | nop
iaddiu vi03, vi00, 0x11 | nop
ior vi04, vi14, vi00 | nop
mr32.xyzw vf03, vf03 | nop
mr32.xyzw vf09, vf09 | nop
sqi.xyzw vf04, vi04 | nop
nop | nop
L7:
lqi.xyzw vf06, vi02 | nop
sq.xyzw vf05, 0(vi04) | nop
sq.x vf03, 0(vi04) | nop
sq.xyzw vf05, 2(vi04) | nop
sq.x vf09, 2(vi04) | mulx.xyzw vf10, vf06, vf02
iaddi vi04, vi04, 0x4 | muly.xyzw vf06, vf06, vf02
nop | nop
nop | nop
nop | add.xyzw vf10, vf10, vf01
nop | add.xyzw vf06, vf06, vf01
nop | nop
iaddi vi03, vi03, -0x1 | nop
sq.xyzw vf10, -3(vi04) | nop
ibne vi00, vi03, L7 | nop
sq.xyzw vf06, -1(vi04) | nop
iaddi vi04, vi14, 0x1 | nop
iaddi vi05, vi00, 0x0 | nop
iaddi vi06, vi00, 0x0 | nop
iaddiu vi03, vi00, 0x22 | nop
L8:
lq.xyzw vf07, 1(vi04) | nop
iaddi vi04, vi04, 0x2 | nop
nop | nop
nop | nop
div Q, vf25.x, vf07.w | mul.xyzw vf08, vf07, vf27
move.z vf07, vf00 | nop
nop | nop
nop | nop
nop | clipw.xyz vf08, vf08
nop | nop
nop | nop
iaddiu vi01, vi00, 0x2f | mul.xy vf07, vf07, Q
fcget vi07 | nop
iand vi07, vi07, vi01 | nop
iand vi05, vi05, vi06 | nop
iand vi05, vi05, vi07 | add.xyzw vf07, vf07, vf26
nop | nop
ibne vi00, vi05, L9 | nop
nop | nop
nop | maxx.w vf07, vf07, vf00
nop | nop
nop | nop
nop | nop
ior vi05, vi06, vi00 | ftoi4.xyzw vf07, vf07
iaddi vi03, vi03, -0x1 | nop
ior vi06, vi07, vi00 | nop
ibne vi00, vi03, L8 | nop
sq.xyzw vf07, -1(vi04) | nop
b L10 | nop
xgkick vi14 | nop
L9:
nop | maxx.w vf07, vf07, vf00
nop | nop
nop | nop
nop | nop
nop | addw.w vf07, vf07, vf25
nop | nop
nop | nop
nop | nop
ior vi05, vi06, vi00 | ftoi4.xyzw vf07, vf07
iaddi vi03, vi03, -0x1 | nop
ior vi06, vi07, vi00 | nop
ibne vi00, vi03, L8 | nop
sq.xyzw vf07, -1(vi04) | nop
xgkick vi14 | nop
L10:
iaddi vi08, vi08, -0x1 | nop
iaddiu vi01, vi00, 0x80 | nop
isub vi14, vi01, vi14 | nop
ibne vi00, vi08, L6 | nop
mr32.xyzw vf02, vf02 | nop
jr vi15 | nop
nop | nop
lq.xyzw vf01, 273(vi00) | nop
lq.xyzw vf02, 274(vi00) | nop
lq.xyzw vf03, 275(vi00) | nop
lq.xyzw vf09, 276(vi00) | nop
bal vi15, L1 | nop
nop | nop
lq.xyzw vf01, 277(vi00) | nop
lq.xyzw vf02, 278(vi00) | nop
lq.xyzw vf03, 279(vi00) | nop
lq.xyzw vf09, 280(vi00) | nop
bal vi15, L1 | nop
nop | nop
nop | nop :e
nop | nop