frno7 / linux

Linux 2.2, 2.6, 3.x, 4.x and 5.x kernels for the PlayStation 2.
Other
86 stars 5 forks source link

The input/output processor (IOP) drivers #11

Open frno7 opened 5 years ago

frno7 commented 5 years ago

The input/output processor (IOP) is a MIPS R3000A, or in later PlayStation 2 models a PowerPC 405GP emulating a MIPS R3000A. This processor provides a number of kernel services, for example handling of USB OHCI interrupts.

sp193 commented 5 years ago

The PPC was not officially meant for us to control (there is no documentation for it). But as it has been proven, it is possible to change how it works because the EE can actually write to its RAM.

frno7 commented 5 years ago

Do you have links or other information on the details of this RAM access? That would be most helpful, should someone decide to proceed to directly control the PowerPC.

uyjulian commented 5 years ago

You can probably find those information on psx-scene, assemblergames, or psx-place.
This might help: http://psx-scene.com/forums/f19/deckard-ppc-iop-discussion-157416/

uyjulian commented 5 years ago

Here's a WIP IOP firmware reimplementation: https://github.com/uyjulian/ps2iop
Currently, function stubs are implemented and not much else.
I plan on starting with modules from SDK 1.3.4 and adding features from SDK 3.1.0 whenever possible.
Another useful resource for IOP modules are fps2bios from PCSX2.

frno7 commented 5 years ago

Many thanks, @uyjulian!

frno7 commented 2 years ago

The wiki now has a page on the input output processor (IOP).