• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
May 19, 2024, 01:07:01 pm

News:

Use of ePSXe before 2.0 is highly discouraged. Mednafen, RetroArch, and Duckstation are recommended for playing/testing, pSX is recommended for debugging.


Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Zenn

1
PSX FFT Hacking / Re: ASM Requests
August 14, 2019, 11:33:33 am
Quote from: Zantetsuken on August 14, 2019, 10:24:34 am
Can someone make an ASM hack to change concentrate to just reduce target evasion by half or nullify class evasion?

I found one posted by Rfh long ago, but it does not seem to work.

Try this one (not tested):
  <Patch name="Concentrate div by 2 all evades instead of null them - ASM version">
    <Description>Concentrate divides by 2 all target evade types instead of nulling them.</Description>
    <Location file="BATTLE_BIN" offset="1852E4" mode="ASM" offsetMode="RAM">
      lui a0,0x8019
      lw v0,0x2d94(a0) #Load Attacker Data Pointer
      ori a1,zero,0x0004 #All four evades.
      lbu v0,0x0090(v0) #Load Attacker's 2nd set of Support
      addu a0,a0,a1
      andi v0,v0,0x0001
      beq v0,zero,EXIT #Branch if Attacker Doesn't have Concentrate
LOOP: addiu a0,a0,0xffff
      lbu v1,0x38de(a0)
      addiu a1,a1,0xffff
      srl v1,v1,0x01 #Amount to shift 1 equals div2, 2 equals div4
      bgtz a1,LOOP
      sb v1,0x38de(a0)
EXIT: jr ra
      nop
      nop
      nop
    </Location>
  </Patch>
  <Patch name="Concentrate div by 2 all evades instead of null them - HEX version">
    <Description>Concentrate divides by 2 all target evade types instead of nulling them.</Description>
    <Location file="BATTLE_BIN" offset="11E2E4">
      1980043C
      942D828C
      04000534
      90004290
      21208500
      01004230
      06004010
      FFFF8424
      DE388390
      FFFFA524
      42180300
      FBFFA01C
      DE3883A0
      0800E003
      00000000
      00000000
      00000000
    </Location>
  </Patch>
2
No.

PSX space issues are not related with the size of the image (700mb) but rather the small amount of RAM the console has (2mb, developer console has 8mb).
3
PSX FFT Hacking / Re: Dithering OFF
July 15, 2019, 03:49:05 pm
That depends on what "Dithering OFF" means...

1) If you are referring to an emulator option, then no. Emulators only read game images (otherwise is a bugged emu).

2) If you are referring to a dither removal process like this one: https://www.chrismcovell.com/psxdither.html, then yes. The image can be corrupted if you don't fix the headers of the sectors that contain those modified gpu instructions. But as far as i recall PCSX-ReARMed doesn't freeze nor crash with header's errors like Mednafen.

3) If you are referring to another thing, then I don't know.
4
PSX FFT Hacking / Re: Get Jp Up
July 15, 2019, 10:37:58 am
Yes there are (only for PSX). I can think of this one (made by xjamxx and uploaded on github):
  <Patch name="JP Gain">
    <Description>Base JP Gain is 10 instead of 8 and job level goes by 4 instead of 2. Now you can gain up to 99 JP. Gained JP Up goes to spillover too.</Description>
    <Location file="BATTLE_BIN" offset="17E934" mode="ASM" offsetMode="RAM">
      sll v0,s7,0x02
      srl v1,s1,0x02
      addiu v1,v1,0x000a
      lbu a0,0x0090(s2) #Load Second Set of Supports
      addu s1,v0,v1
      andi v0,a0,0x0040
      beq v0,zero,JGS1 #Branch if Unit doesn't have Gained  JP Up
      sll v0,s1,0x01
      addu v0,v0,s1
      srl v1,v0,0x1f
      addu v0,v0,v1
      sra s1,v0,0x01
JGS1: lbu a0,0x0000(s0)
      nop
      bne a0,zero,JGS2
      nop
      addu s1,zero,zero
JGS2: lbu v0,0x0005(s2) #Load Unit's Team
      addu s0,zero,zero
      andi s3,v0,0x0030
JGLP: beq s0,s5,JGS4
      nop
      bgez s1,JGS3
      addu a1,s1,zero
      addiu a1,s1,0x0003
JGS3: addu a0,s0,zero
      sra a1,a1,0x02 #Gained JP / 4
      lw a3,0x0010(sp)
      jal 0x0017ea80 #Store JP; Calculate Unlocked Jobs
      andi a2,s3,0x00ff
JGS4: addiu s0,s0,0x0001
      slti v0,s0,0x0015
      bne v0,zero,JGLP
      nop
      addu a0,s5,zero
    </Location>
</Patch>

But if you only want to change the amount Get Jp UP gives:
  <Patch name="GET JP UP Gain">
    <Description>Gained JP Up mod by 2.</Description>
    <Location file="BATTLE_BIN" offset="17E9AC" mode="ASM" offsetMode="RAM">
      ori v0,zero,0x0002 #Times JP Up multiplies base JP gain
      multu s1,v0
      mflo s1
      nop
      nop
    </Location>
</Patch>
5
You shouldn't give up so easily...

Apply this patch after Rfh jump patch:

  <Patch name="Add variable to Rfh jump patch">
    <Description>Changes the Y parameter to a Y variable. Default value 63h=99d.</Description>
    <Variable name="Y" file="BATTLE_BIN" default="63" offset="F702C"/>
    <Location file="BATTLE_BIN" offset="F702D">
        000334
      00000000
    </Location>
  </Patch>


QuoteI'm not good creating ASM ...

Then you should start reading ASM tutorials and start practicing. You won't find much help on ASM, besides those tutorials and the wiki.
6
PSX FFT Hacking / Re: Monster Job Wheel (MJW)
July 08, 2019, 08:37:13 am
Quote from: Hyppocritamus on July 04, 2019, 10:01:09 pm
is there a way to make the wheel...smaller?

Lets say I want to be able to change between Chocobo, Black Chocobo and Red Chocobo, but don't want them to be able to change into a Mindflare.  Can I have each soecies only be able to change into monsters that share a sprite, and just, well, pallete/class swap as needed?


Have you tried using the "MJW - No class change" patch? I think it does what you are asking.