fenhl / OoT-Randomizer

A randomizer for Ocarina of Time.
https://ootrandomizer.com/generatorDev?version=devFenhl_
Other
9 stars 2 forks source link

everdrive: Fix 16 byte reading, Add 16 byte writing #14

Closed flagrama closed 1 year ago

flagrama commented 1 year ago

The important things

(uint32_t)&REGS_PTR[REG_USB_DAT] + (512 - len) is needed when reading or writing to PI with a smaller buffer, because it is techncially the same buffer, just the data is stored closer to the end.

Important to note that the buffer retains the data through multiple uses, so you may occasionally need to clear the buffer if the size of what you're putting on it ends up awkward.

I believe the NOP actions put the FPGA in a state where it will keep a port connected even though there is no activity. It was required to get the write of "OoTR" to not timeout while writing to the buffer in PI.