Functions
dma-bucket-insert-tag(base: inline-array, idx: bucket-id, tag-start: pointer, tag-end: pointer) => pointersource
Add a DMA chain to the bucket
dma-buffer-add-buckets(dma-buf: dma-buffer, count: int) => inline-arraysource
Add count buckets. Each bucket is initialized as empty and won't transfer anything.
dma-buffer-patch-buckets(bucket: inline-array, count: int) => inline-arraysource
After adding all data to buckets, call this to stitch together the chains for
count consecutive buckets
Types
dma-buffer: basicsource
dma-gif-packet: structuresource
dma-packet-array: inline-array-classsource
Functions
dma-buffer-add-vu-function(dma-buf: dma-buffer, vu-func: vu-function, flush-path-3: int) => symbolsource
Add DMA tags to load the given VU function. The destination in vu instruction memory
is specific inside the vu-function. This does NOT copy the vu-function into the buffer,
but creates a reference to the existing VU function.
dma-buffer-free(arg0: dma-buffer) => intsource
Get the number of free quadwords, rounded down, between base and end pointers.
dma-buffer-inplace-new(obj: dma-buffer, size: int) => dma-buffersource
Create a dma-buffer in-place. Does not set the type of the dma-buffer object.
dma-buffer-length(arg0: dma-buffer) => intsource
Get length used in quadwords, rounded down
dma-buffer-send(chan: dma-bank, buf: dma-buffer) => nonesource
Send the DMA buffer! DOES NOT TRANSFER TAG, you probably want dma-buffer-send-chain instead.
dma-buffer-send-chain(chan: dma-bank-source, buf: dma-buffer) => nonesource
Send the DMA buffer! Sends the tags