Author Topic: 6 Letters Available! (Complete!) - Now Doing 7!  (Read 24709 times)

justin3009

  • Fan Project Leader
  • God of War (+3000)
  • *
  • Posts: 3296
    • View Profile
Re: 6 Letters Available in PSX CT?!
« Reply #30 on: February 25, 2008, 01:49:38 pm »
Here's everything up to date

- Pictures say it all.

Here's the things missing
====================
Does not show up in side bar - The empty block of data was ignoring the 6th letter at 3FC5C1 = FF.  Change that to 01 and it'll push it down a line and show the 6th letter....we might have to possibly bump LV over in hopes of it to show 6th letter.
Does not show up in character select
Does not show up in saves
Does not show up battle
====================

Once these are fixed, i'll put everything into a fresh CT rom and ips patch it for everyone.

You must edit temporal flux and change the letter after EVERYONES from 00 to FF, otherwise it'll freak out.[/u]

For the lazy, here you go       A2CBC8C7C8FFACBACBC5BEFFABCEBCBCBAFFB1C8BBC8FFFFA5CBC8C0FFFFA0D2C5BAFFFFACBAC0CECCFFA4C9C8BCC1FF
« Last Edit: February 25, 2008, 02:19:51 pm by justin3009 »

Mauron

  • Guru of Reason Emeritus
  • Errare Explorer (+1500)
  • *
  • Posts: 1776
  • Nu-chan
    • View Profile
    • Hi trig!
Re: 6 Letters Available in PSX CT?!
« Reply #31 on: February 25, 2008, 02:55:44 pm »
Whoa, seriously awesome.

- The naming screen seems to just need repositioning. It has 12 letters per line now, so I doubt that it will be possible to get it back the way it was.
- I think it's possible to move LV over by itself. Change that to "L" and there shouldn't be spacing issues.
- JLucas posted something on copying names for battle, which included the letters copied.

Almost there. :D

justin3009

  • Fan Project Leader
  • God of War (+3000)
  • *
  • Posts: 3296
    • View Profile
Re: 6 Letters Available! (Almost)
« Reply #32 on: February 25, 2008, 03:31:23 pm »
Actually, that naming sceren thing was something i was messing with.  It's fixed.  I also tried moving level over...still doesn't work.  I've tried everything pretty much and I can't get it ><

« Last Edit: February 26, 2008, 08:51:04 am by justin3009 »

Mauron

  • Guru of Reason Emeritus
  • Errare Explorer (+1500)
  • *
  • Posts: 1776
  • Nu-chan
    • View Profile
    • Hi trig!
Re: 6 Letters Available in SNES CT?!
« Reply #33 on: February 26, 2008, 12:42:40 am »
What did you do to get the triangles over the sixth character? It's not doing that for me.

On the plus side, the display in the side boxes doesn't look too bad.

It's not showing on the tech screen for me. Does it work there for you?

Edit: This topic could use a new title.
« Last Edit: February 26, 2008, 01:42:38 am by Mauron »

justin3009

  • Fan Project Leader
  • God of War (+3000)
  • *
  • Posts: 3296
    • View Profile
Re: 6 Letters Available in PSX CT?!
« Reply #34 on: February 26, 2008, 08:51:33 am »
02E351 - Set to 06 and it will scroll to 6th letter when naming
02F042 - Shows 6th Letter in Menu Screen when set to 06
02E338 - Change to 06 and you can write the 6th letter...but it won't save
02E3DA - Change to 06 and it will show the 6th letter in dialogue and you can name it

Mauron

  • Guru of Reason Emeritus
  • Errare Explorer (+1500)
  • *
  • Posts: 1776
  • Nu-chan
    • View Profile
    • Hi trig!
Re: 6 Letters Available! (Almost Done)
« Reply #35 on: February 26, 2008, 01:42:29 pm »
Ah, that first one wasn't posted before.

Mauron

  • Guru of Reason Emeritus
  • Errare Explorer (+1500)
  • *
  • Posts: 1776
  • Nu-chan
    • View Profile
    • Hi trig!
Re: 6 Letters Available! (Almost Done)
« Reply #36 on: February 27, 2008, 03:44:51 am »
Update:

This is the code that copies the name from memory to the value stored in battles.

Code: [Select]
Disassembly:
$CC/E61D BD 23 2C LDA $2C23,x[$00:2C23] A:0000 X:0000 Y:0000 D:0000 DB:00 S:01FF P:EnvMXdIzc HC:0008 VC:000 00 FL:00
$CC/E620 99 03 94 STA $9403,y[$00:9403] A:0000 X:0000 Y:0000 D:0000 DB:00 S:01FF P:EnvMXdIzc HC:0016 VC:000 00 FL:00
$CC/E623 BD 24 2C LDA $2C24,x[$00:2C24] A:0000 X:0000 Y:0000 D:0000 DB:00 S:01FF P:EnvMXdIzc HC:0024 VC:000 00 FL:00
$CC/E626 99 04 94 STA $9404,y[$00:9404] A:0000 X:0000 Y:0000 D:0000 DB:00 S:01FF P:EnvMXdIzc HC:0032 VC:000 00 FL:00
$CC/E629 BD 25 2C LDA $2C25,x[$00:2C25] A:0000 X:0000 Y:0000 D:0000 DB:00 S:01FF P:EnvMXdIzc HC:0040 VC:000 00 FL:00
$CC/E62C 99 05 94 STA $9405,y[$00:9405] A:0000 X:0000 Y:0000 D:0000 DB:00 S:01FF P:EnvMXdIzc HC:0048 VC:000 00 FL:00
$CC/E62F BD 26 2C LDA $2C26,x[$00:2C26] A:0000 X:0000 Y:0000 D:0000 DB:00 S:01FF P:EnvMXdIzc HC:0056 VC:000 00 FL:00
$CC/E632 99 06 94 STA $9406,y[$00:9406] A:0000 X:0000 Y:0000 D:0000 DB:00 S:01FF P:EnvMXdIzc HC:0064 VC:000 00 FL:00
$CC/E635 BD 27 2C LDA $2C27,x[$00:2C27] A:0000 X:0000 Y:0000 D:0000 DB:00 S:01FF P:EnvMXdIzc HC:0072 VC:000 00 FL:00
$CC/E638 99 07 94 STA $9407,y[$00:9407] A:0000 X:0000 Y:0000 D:0000 DB:00 S:01FF P:EnvMXdIzc HC:0080 VC:000 00 FL:00

As it is now, we can't just add the last character. Maybe someone could rewrite it to copy the whole name at once instead of one letter at a time?

justin3009

  • Fan Project Leader
  • God of War (+3000)
  • *
  • Posts: 3296
    • View Profile
Re: 6 Letters Available! (Almost Done)
« Reply #37 on: February 27, 2008, 04:46:29 pm »
I realized, if we get 6 letters to appear in battle, would it overlap the battle gauge on Gauge #2?  Or would it bump it over 1...If not, I think we'd have to find the x coordinates of the 2nd battle gauge and bump it over one.

Geiger

  • Guru of Life Emeritus
  • Chronopolitan (+300)
  • *
  • Posts: 315
    • View Profile
    • Geiger's Crypt
Re: 6 Letters Available! (Almost Done)
« Reply #38 on: February 28, 2008, 11:08:49 am »
There's more than that going on in the code.

Here's the full loop.

Code: [Select]
$CC/E5F9 A6 80       LDX $80    [$00:0080]   A:0005 X:0000 Y:0000 D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0268 VC:107 00 FL:56863
$CC/E5FB BD 80 29    LDA $2980,x[$7E:2981]   A:0005 X:0001 Y:0000 D:0000 DB:7E S:06E4 P:envMxdizcHC:0302 VC:107 00 FL:56863
$CC/E5FE 30 40       BMI $40    [$E640]      A:0005 X:0001 Y:0000 D:0000 DB:7E S:06E4 P:envMxdizcHC:0334 VC:107 00 FL:56863
$CC/E600 29 07       AND #$07                A:0005 X:0001 Y:0000 D:0000 DB:7E S:06E4 P:envMxdizcHC:0352 VC:107 00 FL:56863
$CC/E602 C9 04       CMP #$04                A:0005 X:0001 Y:0000 D:0000 DB:7E S:06E4 P:envMxdizcHC:0370 VC:107 00 FL:56863
$CC/E604 D0 05       BNE $05    [$E60B]      A:0005 X:0001 Y:0000 D:0000 DB:7E S:06E4 P:envMxdizCHC:0388 VC:107 00 FL:56863
$CC/E60B C9 06       CMP #$06                A:0005 X:0001 Y:0000 D:0000 DB:7E S:06E4 P:envMxdizCHC:0412 VC:107 00 FL:56863
$CC/E60D D0 06       BNE $06    [$E615]      A:0005 X:0001 Y:0000 D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0430 VC:107 00 FL:56863
$CC/E615 AA          TAX                     A:0005 X:0001 Y:0000 D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0454 VC:107 00 FL:56863
$CC/E616 BF 46 F8 CC LDA $CCF846,x[$CC:F84B] A:0005 X:0005 Y:0000 D:0000 DB:7E S:06E4 P:envMxdizcHC:0472 VC:107 00 FL:56863
$CC/E61A AA          TAX                     A:001E X:0005 Y:0000 D:0000 DB:7E S:06E4 P:envMxdizcHC:0508 VC:107 00 FL:56863
$CC/E61B A4 82       LDY $82    [$00:0082]   A:001E X:001E Y:0000 D:0000 DB:7E S:06E4 P:envMxdizcHC:0526 VC:107 00 FL:56863
$CC/E61D BD 23 2C    LDA $2C23,x[$7E:2C41]   A:001E X:001E Y:0005 D:0000 DB:7E S:06E4 P:envMxdizcHC:0560 VC:107 00 FL:56863
$CC/E620 99 03 94    STA $9403,y[$7E:9408]   A:00A0 X:001E Y:0005 D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0592 VC:107 00 FL:56863
$CC/E623 BD 24 2C    LDA $2C24,x[$7E:2C42]   A:00A0 X:001E Y:0005 D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0624 VC:107 00 FL:56863
$CC/E626 99 04 94    STA $9404,y[$7E:9409]   A:00D2 X:001E Y:0005 D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0656 VC:107 00 FL:56863
$CC/E629 BD 25 2C    LDA $2C25,x[$7E:2C43]   A:00D2 X:001E Y:0005 D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0688 VC:107 00 FL:56863
$CC/E62C 99 05 94    STA $9405,y[$7E:940A]   A:00C5 X:001E Y:0005 D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0720 VC:107 00 FL:56863
$CC/E62F BD 26 2C    LDA $2C26,x[$7E:2C44]   A:00C5 X:001E Y:0005 D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0752 VC:107 00 FL:56863
$CC/E632 99 06 94    STA $9406,y[$7E:940B]   A:00BA X:001E Y:0005 D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0784 VC:107 00 FL:56863
$CC/E635 BD 27 2C    LDA $2C27,x[$7E:2C45]   A:00BA X:001E Y:0005 D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0816 VC:107 00 FL:56863
$CC/E638 99 07 94    STA $9407,y[$7E:940C]   A:0000 X:001E Y:0005 D:0000 DB:7E S:06E4 P:envMxdiZcHC:0848 VC:107 00 FL:56863
$CC/E63B A6 80       LDX $80    [$00:0080]   A:0000 X:001E Y:0005 D:0000 DB:7E S:06E4 P:envMxdiZcHC:0880 VC:107 00 FL:56863
$CC/E63D FE F5 96    INC $96F5,x[$7E:96F6]   A:0000 X:0001 Y:0005 D:0000 DB:7E S:06E4 P:envMxdizcHC:0914 VC:107 00 FL:56863
$CC/E640 E6 80       INC $80    [$00:0080]   A:0000 X:0001 Y:0005 D:0000 DB:7E S:06E4 P:envMxdizcHC:0960 VC:107 00 FL:56863
$CC/E642 18          CLC                     A:0000 X:0001 Y:0005 D:0000 DB:7E S:06E4 P:envMxdizcHC:1000 VC:107 00 FL:56863
$CC/E643 A5 82       LDA $82    [$00:0082]   A:0000 X:0001 Y:0005 D:0000 DB:7E S:06E4 P:envMxdizcHC:1018 VC:107 00 FL:56863
$CC/E645 69 05       ADC #$05                A:0005 X:0001 Y:0005 D:0000 DB:7E S:06E4 P:envMxdizcHC:1126 VC:107 00 FL:56863
$CC/E647 85 82       STA $82    [$00:0082]   A:000A X:0001 Y:0005 D:0000 DB:7E S:06E4 P:envMxdizcHC:1144 VC:107 00 FL:56863
$CC/E649 C9 0F       CMP #$0F                A:000A X:0001 Y:0005 D:0000 DB:7E S:06E4 P:envMxdizcHC:1170 VC:107 00 FL:56863
$CC/E64B D0 AC       BNE $AC    [$E5F9]      A:000A X:0001 Y:0005 D:0000 DB:7E S:06E4 P:eNvMxdizcHC:1188 VC:107 00 FL:56863

At E602 and E60B, there are special cases for Frog and Magus.

Code: [Select]
$CC/E602 C9 04       CMP #$04                A:00B1 X:0012 Y:000A D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0198 VC:108 00 FL:56863
$CC/E604 D0 05       BNE $05    [$E60B]      A:00B1 X:0012 Y:000A D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0204 VC:108 00 FL:56863
$CC/E606 8E FF A0    STX $A0FF  [$7E:A0FF]   A:00B1 X:0012 Y:000A D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0210 VC:108 00 FL:56863
$CC/E609 80 0A       BRA $0A    [$E615]      A:00B1 X:0012 Y:000A D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0216 VC:108 00 FL:56863
$CC/E60B C9 06       CMP #$06                A:00B1 X:0012 Y:000A D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0222 VC:108 00 FL:56863
$CC/E60D D0 06       BNE $06    [$E615]      A:00B1 X:0012 Y:000A D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0228 VC:108 00 FL:56863
$CC/E60F 8E 15 A1    STX $A115  [$7E:A115]   A:00B1 X:0012 Y:000A D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0234 VC:108 00 FL:56863
$CC/E612 EE 17 A1    INC $A117  [$7E:A117]   A:00B1 X:0012 Y:000A D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0240 VC:108 00 FL:56863

E616 grabs the index of where the name is stored in memory (a multiple of 6).  If you guys are still null terminating the strings for a total of 7 characters, these will have to be updated.

E645 moves the storage address by 05.  E64B checks for a total of 0F characters.

I looked ahead a bit in the code, and it looks like after this loop finishes, another loop copies the work from this one into another set of addresses.

What I am trying to point out here is to look at what all of the code is doing, not just the part that comes up first.  Seeing the whole picture can give you a better plan of attack.

Now there are a number of ways this loop could be rewritten, here is one.

Code: [Select]
E61A:E63A - C22069232CAAA58229FF00690394A8A90400547E7E29FF00E2208005EAEAEAEAEA

$CC/E61A C2 20       REP #$20                A:0006 X:0001 Y:0046 D:0000 DB:7E S:06E4 P:envMxdizcHC:1404 VC:025 00 FL:203
$CC/E61C 69 23 2C    ADC #$2C23              A:0006 X:0001 Y:0046 D:0000 DB:7E S:06E4 P:envmxdizcHC:0060 VC:026 00 FL:203
$CC/E61F AA          TAX                     A:2C29 X:0001 Y:0046 D:0000 DB:7E S:06E4 P:envmxdizcHC:0084 VC:026 00 FL:203
$CC/E620 A5 82       LDA $82    [$00:0082]   A:2C29 X:2C29 Y:0046 D:0000 DB:7E S:06E4 P:envmxdizcHC:0102 VC:026 00 FL:203
$CC/E622 29 FF 00    AND #$00FF              A:0000 X:2C29 Y:0046 D:0000 DB:7E S:06E4 P:envmxdiZcHC:0136 VC:026 00 FL:203
$CC/E625 69 03 94    ADC #$9403              A:0000 X:2C29 Y:0046 D:0000 DB:7E S:06E4 P:envmxdiZcHC:0160 VC:026 00 FL:203
$CC/E628 A8          TAY                     A:9403 X:2C29 Y:0046 D:0000 DB:7E S:06E4 P:eNvmxdizcHC:0184 VC:026 00 FL:203
$CC/E629 A9 04 00    LDA #$0004              A:9403 X:2C29 Y:9403 D:0000 DB:7E S:06E4 P:eNvmxdizcHC:0202 VC:026 00 FL:203
$CC/E62C 54 7E 7E    MVN 7E 7E               A:0004 X:2C29 Y:9403 D:0000 DB:7E S:06E4 P:envmxdizcHC:0226 VC:026 00 FL:203
$CC/E62F 29 FF 00    AND #$00FF              A:FFFF X:2C2E Y:9408 D:0000 DB:7E S:06E4 P:envmxdizcHC:0486 VC:026 00 FL:203
$CC/E632 E2 20       SEP #$20                A:00FF X:2C2E Y:9408 D:0000 DB:7E S:06E4 P:envmxdizcHC:0510 VC:026 00 FL:203
$CC/E634 80 05       BRA $05    [$E63B]      A:00FF X:2C2E Y:9408 D:0000 DB:7E S:06E4 P:envMxdizcHC:0534 VC:026 00 FL:203
$CC/E636 EA          NOP                     A:00FF X:2C2E Y:9408 D:0000 DB:7E S:06E4 P:envMxdizcHC:0546 VC:026 00 FL:203
$CC/E637 EA          NOP                     A:00FF X:2C2E Y:9408 D:0000 DB:7E S:06E4 P:envMxdizcHC:0552 VC:026 00 FL:203
$CC/E638 EA          NOP                     A:00FF X:2C2E Y:9408 D:0000 DB:7E S:06E4 P:envMxdizcHC:0558 VC:026 00 FL:203
$CC/E639 EA          NOP                     A:00FF X:2C2E Y:9408 D:0000 DB:7E S:06E4 P:envMxdizcHC:0564 VC:026 00 FL:203
$CC/E63A EA          NOP                     A:00FF X:2C2E Y:9408 D:0000 DB:7E S:06E4 P:envMxdizcHC:0570 VC:026 00 FL:203

I have already checked, and changing the value at E629 to 0005 (and the loop ending values also) will not be enough to get you 6 letters in battle.  You'll need to figure out the rest from here.

Mauron

  • Guru of Reason Emeritus
  • Errare Explorer (+1500)
  • *
  • Posts: 1776
  • Nu-chan
    • View Profile
    • Hi trig!
Re: 6 Letters Available! (Almost Done)
« Reply #39 on: February 29, 2008, 10:24:19 pm »
There's more than that going on in the code.

Here's the full loop.

Code: [Select]
$CC/E5F9 A6 80       LDX $80    [$00:0080]   A:0005 X:0000 Y:0000 D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0268 VC:107 00 FL:56863
$CC/E5FB BD 80 29    LDA $2980,x[$7E:2981]   A:0005 X:0001 Y:0000 D:0000 DB:7E S:06E4 P:envMxdizcHC:0302 VC:107 00 FL:56863
$CC/E5FE 30 40       BMI $40    [$E640]      A:0005 X:0001 Y:0000 D:0000 DB:7E S:06E4 P:envMxdizcHC:0334 VC:107 00 FL:56863
$CC/E600 29 07       AND #$07                A:0005 X:0001 Y:0000 D:0000 DB:7E S:06E4 P:envMxdizcHC:0352 VC:107 00 FL:56863
$CC/E602 C9 04       CMP #$04                A:0005 X:0001 Y:0000 D:0000 DB:7E S:06E4 P:envMxdizcHC:0370 VC:107 00 FL:56863
$CC/E604 D0 05       BNE $05    [$E60B]      A:0005 X:0001 Y:0000 D:0000 DB:7E S:06E4 P:envMxdizCHC:0388 VC:107 00 FL:56863
$CC/E60B C9 06       CMP #$06                A:0005 X:0001 Y:0000 D:0000 DB:7E S:06E4 P:envMxdizCHC:0412 VC:107 00 FL:56863
$CC/E60D D0 06       BNE $06    [$E615]      A:0005 X:0001 Y:0000 D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0430 VC:107 00 FL:56863
$CC/E615 AA          TAX                     A:0005 X:0001 Y:0000 D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0454 VC:107 00 FL:56863
$CC/E616 BF 46 F8 CC LDA $CCF846,x[$CC:F84B] A:0005 X:0005 Y:0000 D:0000 DB:7E S:06E4 P:envMxdizcHC:0472 VC:107 00 FL:56863
$CC/E61A AA          TAX                     A:001E X:0005 Y:0000 D:0000 DB:7E S:06E4 P:envMxdizcHC:0508 VC:107 00 FL:56863
$CC/E61B A4 82       LDY $82    [$00:0082]   A:001E X:001E Y:0000 D:0000 DB:7E S:06E4 P:envMxdizcHC:0526 VC:107 00 FL:56863
$CC/E61D BD 23 2C    LDA $2C23,x[$7E:2C41]   A:001E X:001E Y:0005 D:0000 DB:7E S:06E4 P:envMxdizcHC:0560 VC:107 00 FL:56863
$CC/E620 99 03 94    STA $9403,y[$7E:9408]   A:00A0 X:001E Y:0005 D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0592 VC:107 00 FL:56863
$CC/E623 BD 24 2C    LDA $2C24,x[$7E:2C42]   A:00A0 X:001E Y:0005 D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0624 VC:107 00 FL:56863
$CC/E626 99 04 94    STA $9404,y[$7E:9409]   A:00D2 X:001E Y:0005 D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0656 VC:107 00 FL:56863
$CC/E629 BD 25 2C    LDA $2C25,x[$7E:2C43]   A:00D2 X:001E Y:0005 D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0688 VC:107 00 FL:56863
$CC/E62C 99 05 94    STA $9405,y[$7E:940A]   A:00C5 X:001E Y:0005 D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0720 VC:107 00 FL:56863
$CC/E62F BD 26 2C    LDA $2C26,x[$7E:2C44]   A:00C5 X:001E Y:0005 D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0752 VC:107 00 FL:56863
$CC/E632 99 06 94    STA $9406,y[$7E:940B]   A:00BA X:001E Y:0005 D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0784 VC:107 00 FL:56863
$CC/E635 BD 27 2C    LDA $2C27,x[$7E:2C45]   A:00BA X:001E Y:0005 D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0816 VC:107 00 FL:56863
$CC/E638 99 07 94    STA $9407,y[$7E:940C]   A:0000 X:001E Y:0005 D:0000 DB:7E S:06E4 P:envMxdiZcHC:0848 VC:107 00 FL:56863
$CC/E63B A6 80       LDX $80    [$00:0080]   A:0000 X:001E Y:0005 D:0000 DB:7E S:06E4 P:envMxdiZcHC:0880 VC:107 00 FL:56863
$CC/E63D FE F5 96    INC $96F5,x[$7E:96F6]   A:0000 X:0001 Y:0005 D:0000 DB:7E S:06E4 P:envMxdizcHC:0914 VC:107 00 FL:56863
$CC/E640 E6 80       INC $80    [$00:0080]   A:0000 X:0001 Y:0005 D:0000 DB:7E S:06E4 P:envMxdizcHC:0960 VC:107 00 FL:56863
$CC/E642 18          CLC                     A:0000 X:0001 Y:0005 D:0000 DB:7E S:06E4 P:envMxdizcHC:1000 VC:107 00 FL:56863
$CC/E643 A5 82       LDA $82    [$00:0082]   A:0000 X:0001 Y:0005 D:0000 DB:7E S:06E4 P:envMxdizcHC:1018 VC:107 00 FL:56863
$CC/E645 69 05       ADC #$05                A:0005 X:0001 Y:0005 D:0000 DB:7E S:06E4 P:envMxdizcHC:1126 VC:107 00 FL:56863
$CC/E647 85 82       STA $82    [$00:0082]   A:000A X:0001 Y:0005 D:0000 DB:7E S:06E4 P:envMxdizcHC:1144 VC:107 00 FL:56863
$CC/E649 C9 0F       CMP #$0F                A:000A X:0001 Y:0005 D:0000 DB:7E S:06E4 P:envMxdizcHC:1170 VC:107 00 FL:56863
$CC/E64B D0 AC       BNE $AC    [$E5F9]      A:000A X:0001 Y:0005 D:0000 DB:7E S:06E4 P:eNvMxdizcHC:1188 VC:107 00 FL:56863

At E602 and E60B, there are special cases for Frog and Magus.

Code: [Select]
$CC/E602 C9 04       CMP #$04                A:00B1 X:0012 Y:000A D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0198 VC:108 00 FL:56863
$CC/E604 D0 05       BNE $05    [$E60B]      A:00B1 X:0012 Y:000A D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0204 VC:108 00 FL:56863
$CC/E606 8E FF A0    STX $A0FF  [$7E:A0FF]   A:00B1 X:0012 Y:000A D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0210 VC:108 00 FL:56863
$CC/E609 80 0A       BRA $0A    [$E615]      A:00B1 X:0012 Y:000A D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0216 VC:108 00 FL:56863
$CC/E60B C9 06       CMP #$06                A:00B1 X:0012 Y:000A D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0222 VC:108 00 FL:56863
$CC/E60D D0 06       BNE $06    [$E615]      A:00B1 X:0012 Y:000A D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0228 VC:108 00 FL:56863
$CC/E60F 8E 15 A1    STX $A115  [$7E:A115]   A:00B1 X:0012 Y:000A D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0234 VC:108 00 FL:56863
$CC/E612 EE 17 A1    INC $A117  [$7E:A117]   A:00B1 X:0012 Y:000A D:0000 DB:7E S:06E4 P:eNvMxdizcHC:0240 VC:108 00 FL:56863

E616 grabs the index of where the name is stored in memory (a multiple of 6).  If you guys are still null terminating the strings for a total of 7 characters, these will have to be updated.

We're not, unless it becomes necessary. Doing so would require moving either the gold value or the names themselves, both of which have hard coded values throughout the code.

Quote
E645 moves the storage address by 05.  E64B checks for a total of 0F characters.

I looked ahead a bit in the code, and it looks like after this loop finishes, another loop copies the work from this one into another set of addresses.

7E94A0 is the new location.

Quote
What I am trying to point out here is to look at what all of the code is doing, not just the part that comes up first.  Seeing the whole picture can give you a better plan of attack.

Thanks for the code. I'm not that good at ASM yet, so I only found the obvious.

Quote
Now there are a number of ways this loop could be rewritten, here is one.

Code: [Select]
E61A:E63A - C22069232CAAA58229FF00690394A8A90400547E7E29FF00E2208005EAEAEAEAEA

$CC/E61A C2 20       REP #$20                A:0006 X:0001 Y:0046 D:0000 DB:7E S:06E4 P:envMxdizcHC:1404 VC:025 00 FL:203
$CC/E61C 69 23 2C    ADC #$2C23              A:0006 X:0001 Y:0046 D:0000 DB:7E S:06E4 P:envmxdizcHC:0060 VC:026 00 FL:203
$CC/E61F AA          TAX                     A:2C29 X:0001 Y:0046 D:0000 DB:7E S:06E4 P:envmxdizcHC:0084 VC:026 00 FL:203
$CC/E620 A5 82       LDA $82    [$00:0082]   A:2C29 X:2C29 Y:0046 D:0000 DB:7E S:06E4 P:envmxdizcHC:0102 VC:026 00 FL:203
$CC/E622 29 FF 00    AND #$00FF              A:0000 X:2C29 Y:0046 D:0000 DB:7E S:06E4 P:envmxdiZcHC:0136 VC:026 00 FL:203
$CC/E625 69 03 94    ADC #$9403              A:0000 X:2C29 Y:0046 D:0000 DB:7E S:06E4 P:envmxdiZcHC:0160 VC:026 00 FL:203
$CC/E628 A8          TAY                     A:9403 X:2C29 Y:0046 D:0000 DB:7E S:06E4 P:eNvmxdizcHC:0184 VC:026 00 FL:203
$CC/E629 A9 04 00    LDA #$0004              A:9403 X:2C29 Y:9403 D:0000 DB:7E S:06E4 P:eNvmxdizcHC:0202 VC:026 00 FL:203
$CC/E62C 54 7E 7E    MVN 7E 7E               A:0004 X:2C29 Y:9403 D:0000 DB:7E S:06E4 P:envmxdizcHC:0226 VC:026 00 FL:203
$CC/E62F 29 FF 00    AND #$00FF              A:FFFF X:2C2E Y:9408 D:0000 DB:7E S:06E4 P:envmxdizcHC:0486 VC:026 00 FL:203
$CC/E632 E2 20       SEP #$20                A:00FF X:2C2E Y:9408 D:0000 DB:7E S:06E4 P:envmxdizcHC:0510 VC:026 00 FL:203
$CC/E634 80 05       BRA $05    [$E63B]      A:00FF X:2C2E Y:9408 D:0000 DB:7E S:06E4 P:envMxdizcHC:0534 VC:026 00 FL:203
$CC/E636 EA          NOP                     A:00FF X:2C2E Y:9408 D:0000 DB:7E S:06E4 P:envMxdizcHC:0546 VC:026 00 FL:203
$CC/E637 EA          NOP                     A:00FF X:2C2E Y:9408 D:0000 DB:7E S:06E4 P:envMxdizcHC:0552 VC:026 00 FL:203
$CC/E638 EA          NOP                     A:00FF X:2C2E Y:9408 D:0000 DB:7E S:06E4 P:envMxdizcHC:0558 VC:026 00 FL:203
$CC/E639 EA          NOP                     A:00FF X:2C2E Y:9408 D:0000 DB:7E S:06E4 P:envMxdizcHC:0564 VC:026 00 FL:203
$CC/E63A EA          NOP                     A:00FF X:2C2E Y:9408 D:0000 DB:7E S:06E4 P:envMxdizcHC:0570 VC:026 00 FL:203

I have already checked, and changing the value at E629 to 0005 (and the loop ending values also) will not be enough to get you 6 letters in battle.  You'll need to figure out the rest from here.

It's not enough, but it is necessary. Changing it copies a sixth byte to the 9403 area, but not 94A0.

It goes from 7E9403 to 7E94A0, and then 7E9412, which is the final storage. For whatever reason it needs to go through 7E94A0 to be stored at 7E9412 (Probably some code I'm missing).

It looks like it spaces them out for each name, but only stores the ones in the party, and doesn't leave extra space at the moment.

Edit: fixed up my quote errors.
« Last Edit: February 29, 2008, 11:34:16 pm by Mauron »

JLukas

  • Fan Project Leader
  • Squaretable Knight (+400)
  • *
  • Posts: 426
    • View Profile
Re: 6 Letters Available! (Almost Done)
« Reply #40 on: February 29, 2008, 11:20:45 pm »
Hmm, what reason would there be for special checks for Frog and Magus?

Lenophis

  • Crimson Echoes Beta Squad
  • Porrean (+50)
  • *
  • Posts: 73
    • View Profile
Re: 6 Letters Available! (Almost Done)
« Reply #41 on: March 02, 2008, 03:45:57 am »
E616 grabs the index of where the name is stored in memory (a multiple of 6).  If you guys are still null terminating the strings for a total of 7 characters, these will have to be updated.
Why can't you just do LDA #$00 STA $9408,Y after the new letter gets copied over?

justin3009

  • Fan Project Leader
  • God of War (+3000)
  • *
  • Posts: 3296
    • View Profile
Re: 6 Letters Available! (Almost Done)
« Reply #42 on: March 13, 2008, 09:13:54 am »
Could I request a little help?
x3FC5BE - This is where the name starts
x3FC5C2 - This is where Lv** starts

Name Pointer is at:

x3FC4D8 - BE C5 FF

I've removed one letter of Lv** to be so that Lv is just 1 letter.

I'm trying to alter the name so that it'll show the 6th letter in the menu but i'm having serious issues with this...I just can't get it to work ><.
« Last Edit: March 13, 2008, 09:27:38 am by justin3009 »

Mauron

  • Guru of Reason Emeritus
  • Errare Explorer (+1500)
  • *
  • Posts: 1776
  • Nu-chan
    • View Profile
    • Hi trig!
Re: 6 Letters Available! (Almost Done)
« Reply #43 on: March 14, 2008, 10:42:27 pm »
I fiddled with this once before and came up with this much.

3FC4ED - The actual LV text

3FC5C2 is a pointer to 3FC4ED, with 04 being code of one form or another.


justin3009

  • Fan Project Leader
  • God of War (+3000)
  • *
  • Posts: 3296
    • View Profile
Re: 6 Letters Available! (Almost Done)
« Reply #44 on: March 15, 2008, 12:00:29 am »
Yea, I got the same results.  I've been trying to mess with that but no matter what setting FF to 00 is always gonna mess everything up.  So confusing =[