/////////////////////////////////////////////////////////////////////////////////
//
//      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