Files
Persona2-PSX-asm-sources/2_EP/EP_684_Persona_Info_render.asm
2026-01-20 11:04:08 +05:00

53 lines
1.7 KiB
NASM

/////////////////////////////////////////////////////////////////////////////////
//
// Persona 2 Eternal Punishment (PSX) JAP / User Menu Persona/Demon russian info 2-line rendering PATCH
// Author: Sergey Shemet 09/01/2026
//
// v 1.0 - Initial
//
.psx
.open "2_EP/BIN/0684_PLAYER_MENU_CODE.bin", 0x80096000
.org 0x80098dd0
.area 0x174, 0
move s0, v0 // saving read addr in save2 reg
move a0, s0 // moving text address to arg to print text (no more 8 byte shift!)
li a1, 0x30
li a2, 0x25 //print params
li a3, 0x1
move v0, a3
jal 0x80090000 //my print procedure
sw v0, 0x10(sp) //wtf
lui a1,0x800a
addiu a1,a1,0x20
andi v1,s1,0xff
sll v1,v1,0x2
lui t0,0x8008
addu v1,v1,a1
sw v0,0x0(v1) //saving 1st link address
nop
lhu v0, 0x0(s0) //we need to shift current string
nop
andi v0, 0xFF //cleaning length
addiu s0, 4 //shift text string command + next line cmd
addu s0, v0 //shift read address
andi v0, s0, 1
beq v0, zero, not_and_1
nop
addiu s0, 1 //16bit align
not_and_1:
move a0, s0 //another print
.endarea
//........................................
//........ORIGINAL 2nd STRING PRINT CODE..
//........................................
.close
// compile with ./armips -sym 2_EP/BUILD_LOGS/0681_PLAYER_MENU_P.map -temp 2_EP/BUILD_LOGS/0681_PLAYER_MENU_P.txt 2_EP/EP_684_Persona_Info_render.asm