Skip to content

Controles beta

Seção nova, escrita à mão - veja a nota na folha de referência.

Todo periférico de porta de controle - gamepads, multitaps, e (no que diz respeito ao hardware) cartões de memória também - compartilham um único barramento físico: SIO2, uma interface serial que pertence ao IOP. Essa é mais uma instância do padrão de EE, IOP e SIF: uma biblioteca cliente do lado EE, conversando via SIF com um driver IOP, que é a única coisa que de fato toca o hardware.

Um barramento, vários drivers em cima

sio2man (core) é o driver do lado IOP para o próprio barramento SIO2 - "não existe caminho mais primitivo," nas próprias palavras deste SDK. padman, mtapman (multitap), e os drivers de cartão de memória (veja Armazenamento) são todos módulos IOP separados que ficam em cima dele, cada um dono de um tipo de dispositivo nesse barramento compartilhado. Do lado EE, pad, mtap, e mc são os clientes RPC correspondentes que seu código de jogo de fato chama.

DispositivoCliente do lado EEDriver do lado IOP
Gamepad (DualShock2)padpadman
Multitapmtapmtapman
Cartão de memóriamcmcman/mcserv (veja Armazenamento)
Tecladokbd(seu próprio driver USB do IOP)
Controle remoto infravermelhormrmman

padman/mtapman/os drivers de cartão de memória são carregados automaticamente como parte de um programa EE normal usando pad/mtap/mc - você normalmente não carrega o lado IOP à mão do jeito que poderia fazer para um driver menos comum.

Dispositivos USB são um caminho separado

Teclados, mouses, e armazenamento em massa USB não passam pelo SIO2 de forma alguma - são alcançados através da própria pilha USB do IOP (usbd e companhia), um caminho de hardware completamente separado das portas de controle. A API do lado EE do kbd parece com a do pad (cliente RPC para um driver IOP), mas por baixo ela está conversando com módulos IOP USB, não com módulos SIO2.

Veja também

  • EE, IOP e SIF - o padrão RPC que todo um desses clientes usa
  • Armazenamento - o cartão de memória como dispositivo de armazenamento, não só como periférico SIO2