Geo Ster
authored
* Implementing IOP components is probably the hardest task in a PS2 emulator, even compared to complex chips like the VUs. That is because almost every single component in the IOP is completetly undocumented so emulators have to make assumptions and reverse engineer them to figure out what they do. This commit adds support three new IOP components. * The DVD drive is quite simple in concept. It accepts two types of commands, S commands (synchronous) and N commands (asynchronous). Async commands are used mainly for seeks and reads, so the CPU doesn't have to wait for the drive to fetch the data. On the other hand S commands complete instantly and are used for more misc operations. * Both types of commands contain three registers; one stores the current command, the other acts as the status register and the third register either gives the current command output (read) or stores the parameters of the command (write). * SIO2 is very peculiar since very little is actually known about it. It is responsible for managing peripherals like the memory card or the DualShock controller. The CPU first sends a peripheral byte that informs about the target peripheral, then a command and waits for a reply. The SEND3 array contains the command size for each SIO2 command. * Since in this case the gamepad gets accessed, that needs to be implemented. To prevent this commit message from getting extermely long, because the gamepad is very complex in its operation, I will talk about it in another time. Check out the new txt file in the docs folder for more info
Name | Last commit | Last update |
---|