Kit MSX 2 da MPO

PAD

  • Formato: PAD <X>
  • Finalidade: Dá o estado de uma placa sensora à caneta de escrita "LIGHTPEN", mouse ou track ball.
  • Categoria: Função.

Observações: <X> tem de ser um número inteiro, entre 0 e 19.

  • Quando <X> tem um valor entre 0 e 3, parte-se do princípio de que há um touch pad (placa sensora) ligado à tomada do "joystick" (comando manual).
  • Quando <X> tem um valor entre 4 e 7, parte-se do princípio de que há um touch pad ligado à tomada 2 do "joystick".
  • Quando <X> tem um valor entre 8 e 199, parte-se do princípio de que que há uma "lightpen" (caneta de escrita) ligada. Certifique-se de que PAD(8) regressa a -1 antes de ler os dados da "lightpen".
  • Quando <X> tem um valor entre 12 e 15, parte-se do princípio de que há um mouse (rato) ou uma track ball (esfera marcadora) ligada à tomada 1 do "joystick". Certifique-se de PAD(12) é executado antes de ler os dados do mouse ou da track ball ligada à tomada 1 do "joystick".
  • Quando <X> tem um valor entre 16 e 19, parte-se do princípio de que há um mouse ou uma track ball ligada à tomada 2 do "joystick". Certifique-se de que PAD(16) é executado antes de ler os dados do mouse ou track ball ligada à tomada 2 do "joystick".
  • O estado do touch pad é dado quando <X> é 0 ou 4. O resultado desta função é -1 quando o "pad" tenha sido tocado, e 0 quando ainda não foi tocado.
  • A coordenada dos XX é dada quando <X> é 1 ou 15.
  • A coordenada dos YY é dada quando <X> é 2 ou 6.
  • O estado do comutador de touch pad é dado quando <X> é 3 ou 7.
  • O resultado desta função é -1 quando o comutador tenha sido pressionado, e 0 quando não foi pressionado.
  • O estado da light pen é dado quando <X> é 8. O resultado desta função é -1 quando se dispõe da coordenada dos XX e da coordenada dos YY da lightpen, e 0 (zero) quando delas não se dispõe.
  • Quando <X> é 9, obtém-se a coordenada dos XX da lightpen.
  • Quando <X> é 10, obtém-se a coordenada dos YY da lightpen.
  • Quando <X> é 11, obtém-se o estado do comutador da lightpen.
  • O resultado desta função é -1 quando o comutador foi pressionado, e 0 (zero) quando não tenha sido pressionado.
  • Quando <X> é 12 ou 16, obtém-se o estado de mouse ou da track ball.
  • O resultado desta função é sempre -1.
  • Quando <X> é 13 ou 17, obtém-se a coordenada dos XX de um mouse ou de uma track ball.
  • Quando <X> é 14 ou 18, obtém-se a coordeanda dos YY de um mouse ou de uma track ball.
  • Quando <X> é 15 ou 19, o sistema regressa sempre a 0 (zero).

Utiliza-se a função STRIG para ver o estado dos botões de um mouse ou de uma track ball.

Exemplo Original

10 SCREEN 2

20 AA=0

30 IF PAD(0)=0 THEN 20

40 X=PAD(1):Y=PAD(2)

50 IF AA=0 THEN PSET(X,Y) ELSE LINE -(X,Y)

60 AA=1

Exemplo Adaptado para buscar o status de um MOUSE conectado no porto 1 do joystick

10 SCREEN 0

20 LOCATE 5,5:PRINT "Status=";PAD(12);"       ";

30 B=STRIG(1):X=PAD(13):Y=PAD(14)

40 LOCATE 0,0:PRINT "X=";X;" e Y=";Y;"        ";

50 LOCATE 10,10:PRINT "Botao=";B;"        ";

60 GOTO 20

Programa padmouse.bas:

kitmpo2 0027 kitmpo2 0026

NOTA: O comando "PAD" só pode ser usado se estiver ligado ao computador "MSX 2"

(OC) A declaração acima não faz muito sentido sendo um dos exemplos dos manuais horrivelmente elaborados no brasil (salvo excessões como os livros da Aleph, e os manuais originais da Gradiente e Sharp). O exemplo original tem vários erros de sintaxe.