Вопрос есть, можно ли в asm на PS1 макросы использовать c изменяемым значением? Чтобы не писать целиком каждый раз функцию, а к примеру вызывать func_write(adr). Такую конструкцию компилятор ест нормально:
ACTIV macro
LUI a0,0x8006
ORI a0,a0,0xA832
ORI t0,zero,0x0001
LB t9,0x0000(a0)
NOP
BNE t0,t9,go_back_home
NOP
endm
Но стоит ее поменять для ввода своих значений:
ACTIV macro adr
LUI a0,0x8006
ORI a0,a0,adr
ORI t0,zero,0x0001
LB t9,0x0000(a0)
NOP
BNE t0,t9,go_back_home
NOP
endm
и вызывать ее как ACTIV 0xA832, то компилятор ругается что мол нельзя так делать, хотя если вызвать просто ACTIV то скомпилится все нормально. Хз. Компилирую через asmpsx из пакета PSY-Q, файл с макросом подрубаю в конец основного через incbin. Думал насчет задания переменных в основном файле, и перед вызовом функции присваивать им нужное значение, хз.