Files
jak-project/test/decompiler/reference/engine/ps2/vif-h_REF.gc
T
water111 a6d5c4eda3 [decompiler] clean up vector detection and add vector float product detection (#638)
* change

* recognize vector float product and update tests
2021-06-27 17:24:35 -04:00

123 lines
3.9 KiB
Common Lisp
Vendored
Generated

;;-*-Lisp-*-
(in-package goal)
;; definition of type vif-stat
(deftype vif-stat (uint32)
((vps uint8 :offset 0 :size 2)
(vew uint8 :offset 2 :size 1)
(mrk uint8 :offset 6 :size 1)
(vss uint8 :offset 8 :size 1)
(vfs uint8 :offset 9 :size 1)
(vis uint8 :offset 10 :size 1)
(int uint8 :offset 11 :size 1)
(er0 uint8 :offset 12 :size 1)
(er1 uint8 :offset 13 :size 1)
(fqc uint8 :offset 24 :size 4)
)
:method-count-assert 9
:size-assert #x4
:flag-assert #x900000004
)
;; definition for method 3 of type vif-stat
(defmethod inspect vif-stat ((obj vif-stat))
(format #t "[~8x] ~A~%" obj 'vif-stat)
(format #t "~Tvps: ~D~%" (-> obj vps))
(format #t "~Tvew: ~D~%" (-> obj vew))
(format #t "~Tmrk: ~D~%" (-> obj mrk))
(format #t "~Tvss: ~D~%" (-> obj vss))
(format #t "~Tvfs: ~D~%" (-> obj vfs))
(format #t "~Tvis: ~D~%" (-> obj vis))
(format #t "~Tint: ~D~%" (-> obj int))
(format #t "~Ter0: ~D~%" (-> obj er0))
(format #t "~Ter1: ~D~%" (-> obj er1))
(format #t "~Tfqc: ~D~%" (-> obj fqc))
obj
)
;; definition of type vif-fbrst
(deftype vif-fbrst (uint32)
((rst uint8 :offset 0 :size 1)
(fbk uint8 :offset 1 :size 1)
(stp uint8 :offset 2 :size 1)
(stc uint8 :offset 3 :size 1)
)
:method-count-assert 9
:size-assert #x4
:flag-assert #x900000004
)
;; definition of type vif-err
(deftype vif-err (uint32)
((mii uint8 :offset 0 :size 1)
(me0 uint8 :offset 1 :size 1)
(me1 uint8 :offset 2 :size 1)
)
:method-count-assert 9
:size-assert #x4
:flag-assert #x900000004
)
;; definition of type vif-bank
(deftype vif-bank (structure)
((stat uint32 :offset-assert 0)
(fbrst uint32 :offset 16)
(err vif-err :offset 32)
(mark uint32 :offset 48)
(cycle uint32 :offset 64)
(mode uint32 :offset 80)
(num uint32 :offset 96)
(mask uint32 :offset 112)
(code uint32 :offset 128)
(itops uint32 :offset 144)
(base uint32 :offset 160)
(offset uint32 :offset 176)
(tops uint32 :offset 192)
(itop uint32 :offset 208)
(top uint32 :offset 224)
(r0 uint32 :offset 256)
(r1 uint32 :offset 272)
(r2 uint32 :offset 288)
(r3 uint32 :offset 304)
(c0 uint32 :offset 320)
(c1 uint32 :offset 336)
(c2 uint32 :offset 352)
(c3 uint32 :offset 368)
)
:method-count-assert 9
:size-assert #x174
:flag-assert #x900000174
)
;; definition for method 3 of type vif-bank
(defmethod inspect vif-bank ((obj vif-bank))
(format #t "[~8x] ~A~%" obj 'vif-bank)
(format #t "~Tstat: #x~X~%" (-> obj stat))
(format #t "~Tfbrst: #x~X~%" (-> obj fbrst))
(format #t "~Terr: #x~X~%" (-> obj err))
(format #t "~Tmark: #x~X~%" (-> obj mark))
(format #t "~Tcycle: #x~X~%" (-> obj cycle))
(format #t "~Tmode: #x~X~%" (-> obj mode))
(format #t "~Tnum: #x~X~%" (-> obj num))
(format #t "~Tmask: #x~X~%" (-> obj mask))
(format #t "~Tcode: #x~X~%" (-> obj code))
(format #t "~Titops: #x~X~%" (-> obj itops))
(format #t "~Tbase: #x~X~%" (-> obj base))
(format #t "~Toffset: #x~X~%" (-> obj offset))
(format #t "~Ttops: #x~X~%" (-> obj tops))
(format #t "~Titop: #x~X~%" (-> obj itop))
(format #t "~Ttop: #x~X~%" (-> obj top))
(format #t "~Tr0: #x~X~%" (-> obj r0))
(format #t "~Tr1: #x~X~%" (-> obj r1))
(format #t "~Tr2: #x~X~%" (-> obj r2))
(format #t "~Tr3: #x~X~%" (-> obj r3))
(format #t "~Tc0: #x~X~%" (-> obj c0))
(format #t "~Tc1: #x~X~%" (-> obj c1))
(format #t "~Tc2: #x~X~%" (-> obj c2))
(format #t "~Tc3: #x~X~%" (-> obj c3))
obj
)
;; failed to figure out what this is:
0