jak-project/test/decompiler/reference/vu1-user-h_REF.gc
water111 e5f0fecf17
[Decompiler] bitfield support and clean up of DMA (#350)
* get to vif

* support basic bitfield access

* make bitfields in dma work

* clean up dma

* fix merge conflict
2021-04-11 16:07:01 -04:00

122 lines
3.4 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; definition for symbol *vu1-enable-user-menu*, type int
(define *vu1-enable-user-menu* #x1ffff8)
;; definition for symbol *vu1-enable-user*, type int
(define *vu1-enable-user* 0)
;; definition of type dma-foreground-sink
(deftype dma-foreground-sink (basic)
((bucket int32 :offset-assert 4)
(foreground-texture-page int8 :offset-assert 8)
(foreground-texture-level int8 :offset-assert 9)
(foreground-output-bucket int8 :offset-assert 10)
)
:method-count-assert 9
:size-assert #xb
:flag-assert #x90000000b
)
;; definition for method 3 of type dma-foreground-sink
(defmethod inspect dma-foreground-sink ((obj dma-foreground-sink))
(format #t "[~8x] ~A~%" obj (-> obj type))
(format #t "~Tbucket: ~D~%" (-> obj bucket))
(format #t "~Tforeground-texture-page: ~D~%" (-> obj foreground-texture-page))
(format
#t
"~Tforeground-texture-level: ~D~%"
(-> obj foreground-texture-level)
)
(format
#t
"~Tforeground-output-bucket: ~D~%"
(-> obj foreground-output-bucket)
)
obj
)
;; definition of type generic-bucket-state
(deftype generic-bucket-state (structure)
((gifbuf-adr uint32 :offset-assert 0)
(inbuf-adr uint32 :offset-assert 4)
)
:pack-me
:method-count-assert 9
:size-assert #x8
:flag-assert #x900000008
)
;; definition for method 3 of type generic-bucket-state
(defmethod inspect generic-bucket-state ((obj generic-bucket-state))
(format #t "[~8x] ~A~%" obj 'generic-bucket-state)
(format #t "~Tgifbuf-adr: ~D~%" (-> obj gifbuf-adr))
(format #t "~Tinbuf-adr: ~D~%" (-> obj inbuf-adr))
obj
)
;; definition of type generic-dma-foreground-sink
(deftype generic-dma-foreground-sink (dma-foreground-sink)
((state generic-bucket-state :inline :offset-assert 12)
)
:method-count-assert 9
:size-assert #x14
:flag-assert #x900000014
)
;; definition for method 3 of type generic-dma-foreground-sink
(defmethod
inspect
generic-dma-foreground-sink
((obj generic-dma-foreground-sink))
(format #t "[~8x] ~A~%" obj (-> obj type))
(format #t "~Tbucket: ~D~%" (-> obj bucket))
(format #t "~Tforeground-texture-page: ~D~%" (-> obj foreground-texture-page))
(format
#t
"~Tforeground-texture-level: ~D~%"
(-> obj foreground-texture-level)
)
(format
#t
"~Tforeground-output-bucket: ~D~%"
(-> obj foreground-output-bucket)
)
(format #t "~Tstate: #<generic-bucket-state @ #x~X>~%" (-> obj state))
obj
)
;; definition of type dma-foreground-sink-group
(deftype dma-foreground-sink-group (basic)
((sink dma-foreground-sink 3 :offset-assert 4)
(merc-sink dma-foreground-sink :offset 4)
(generic-sink generic-dma-foreground-sink :offset 8)
(level basic :offset-assert 16)
)
:method-count-assert 9
:size-assert #x14
:flag-assert #x900000014
)
;; definition for method 3 of type dma-foreground-sink-group
(defmethod inspect dma-foreground-sink-group ((obj dma-foreground-sink-group))
(format #t "[~8x] ~A~%" obj (-> obj type))
(format #t "~Tsink[3] @ #x~X~%" (-> obj sink))
(format #t "~Tmerc-sink: ~A~%" (-> obj sink 0))
(format #t "~Tgeneric-sink: ~A~%" (-> obj sink 1))
(format #t "~Tlevel: ~A~%" (-> obj level))
obj
)
;; failed to figure out what this is:
(let ((v0-4 0))
)
;; failed to figure out what this is:
(none)