Skip to content
Snippets Groups Projects
Commit ab346ac0 authored by Geo Ster's avatar Geo Ster
Browse files

Introduce VIF0/VIF1 to the emulator

* Next up the BIOS starts initializing the Vector Interface (VIF), which
is used to communicate with VU1 and VU0 (when it's in micro mode). It has
its own register set which is easy to implement as shown and a fifo, similar
to the GIF FIFO. The fifo receives 128bit qwords sequentially. Each VIF "packet",
starts with a 32bit header that tells the VIF which command to execute.
Some headers are standalone, meaning that another command header will follow them,
while for others some 32bit data words will be sent after (for exampe STROW/STCOL).

* In the future I will change this to be an actual fifo structure, because
some fifos in the PS2 can be blocked, meaning that they queue up written data
until the component that blocked them, lifts the block. For now though this will
do.

* Also allow writing to code and data memory for VU0 to reduce the logspam a little

Sources:
https://psi-rockin.github.io/ps2tek/#vif
parent 787df2b4
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment