Page 1 of 1
Controller with ASM code
Posted: December 1st, 2022, 10:58 am
by scorpion2k81
Hello,
How can I read controller buttons via asm code?
I would like to use it with asmpsx.
Re: Controller with ASM code
Posted: December 1st, 2022, 12:03 pm
by Shadow
Here's some snippets to help you out. You'll need to understand MIPS in order to get it to work correctly
Code: Select all
var_pad_pointer equ $80100020
; branch if triangle is being held
check_triangle
li t0,var_pad_pointer
lhu t0,$0(t6)
nop
beq t0,$10,myfunction
nop
; InitPads - initialise the joypads (trashes fp)
InitPads
addiu sp, sp, -$C
sw ra, $0(sp)
sw s0, $4(sp)
sw fp, $8(sp)
nop
addiu sp,sp,-$20 ; stack
jal NBStartPAD
nop
li t1, $15
li a0, $20000001
li t2, $b0
li a1,var_pad_pointer
li a2,$00000000
sw a2,$0(a1)
;li a2,$0000FFFF ; to test, write a nonzero value to the pad read loc
;sw a2,$0(a1)
jal NBPAD_init
nop
;la a1, pad_buf
;jalr t2
;nop
addiu sp,sp,$20 ; stack
lw ra,$0(sp)
lw s0,$4(sp)
lw fp,$8(sp)
addiu sp,sp,$C
jr ra
nop
; kernel/BIOS functions
NBStartPAD:
ori t2, zero, $B0
jr t2 ; StartPAD
ori t1, zero, $13
NBPAD_init:
ori t2, zero, $B0
jr t2 ; PAD_init
ori t1, zero, $15
Re: Controller with ASM code
Posted: December 1st, 2022, 10:42 pm
by scorpion2k81
Thanks!