News: 11 March 2016 - Forum Rules

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

Pages: [1] 2 3 4 5 6 ... 29
I use Winhex. It's not as pretty but I am more comfortable using that than the FCEUX hex editor.

News Submissions / Re: Translations: Obscure Translation Two for One!
« on: November 17, 2013, 10:43:09 pm »
I was starting to wonder if you would ever get around to releasing them! As always, great work Pennywise!

Programming / Re: Need help with a pokemon problem!
« on: September 27, 2013, 12:43:26 am »
If you know what you are doing when it comes to scripting events and knowing how to mess around with the players pokemon, i suppose so.

That's some high level hacking right there. If you can contact LocksmithArmy, who is known for his pokemon hacks then maybe he can point you in the right direction.

No rush, brother!

Nope, we got as far as we could. Sadly, the place where we were able to implement dte conflicted with the world map data. I myself, personally am not going pick this game back up. So whoever has the skills to finish it, can do so.

ROM Hacking Discussion / Re: Necromancer text compression scheme
« on: September 21, 2013, 10:25:02 pm »
When i talked to someone who attempted to hack this game before, kingofcrusher95 i think, he mention something about having to rewrite/write four or five text routines. I'm glad you are trying to figure out what makes this game tick!

Programming / Re: How did you start programming?
« on: August 31, 2013, 09:18:32 pm »
Qbasic and looking at Qbasic programs off of AOL is how I started learning how to program.

Both fish are in the game and yes they do look different. The game has not been fully translated because of the fish name issue. I can not figure it out. And why extending the names would mess up the map or cause some glitches I do not know why or how to get around those issues. Maybe somewhere along the line, someone smarter than me will figure out the problem.

Nice! Say have any of you ever run into a problem where you try to change an item name and a specific letter has to stay the same or it will somehow glitch up the game when it's used? Me and MrRichard999 have also been trying to find out how this problem can be fixed as neither have ever encountered somthing like that before.

For example, in our game, the first letter of an item must remain the same and for food the second letter has to remain unchanged as well. All other letters are able to be changed. We were thinking that there is some type of function or pointer that controls what letter can't be changed.

I got a Mfgh in cavespeak and I want to change it to Glas but other than change the M to a G in the font I haven't really come up with a solution. This is also because i have been concetrating so much on the animal and fish names but, i just thought I'd throw that out there and see what you guys thought.

I'll be uploading the files with notes tommorrow. Basically, we want it so that the fish and animal names fit without out overwriting any text. Some fish names i can expand a lot but when i get to something like salmon or newt it will just write the fish name and not write caught or got away. I will use the 7zip you have suggested but, i have never had a problem with winrar which is what i usually use.

July 10, 2013, 01:49:48 am - (Auto Merged - Double Posts are not allowed before 7 days.)
I was using ff instead d0 so i will try that and if that works out.

Newcomer's Board / Re: Searching NES pointer with debugger?
« on: July 06, 2013, 06:29:15 am »
All data if from the Game Hackers Database

Data submitted by Myan and Vagabond

The pointer table for the dialogue text. 28010-2820F

The dialogue text. 28210-2B60F

The pointer table for the monster attacks. 2B610-2B643

The monster attacks text. 2B644-2B70F

The pointer table for the items. 2B710-2B90F

The items text. 2B910-2BFD1

The battle text and pointers (mixed up a bit). 2CC50-2D00F

The pointer table for the monster names. 2D4F0-2D5EF

The monster name text. 2D5F0-2D95F

Weapon data. Each weapon entry consists of 8 bytes - hit percent, damage, an unknown parameter, spell cast, elemental, special effects, graphics block, and color index. 30010-3014F

Armor data. Each armor entry consists of 4 bytes - absorb, evade percent, elemental resistance, spell cast. 30150-301EF

Spell Data. Each spell entry consists of 8 bytes - Targeting, Effectiveness, Element, Effect byte 1, Effect byte 2, Graphics Block, Color index. 301F0-303EF

The pointer table for the epilogue text. 36810-36841

The epilogue text. 36842-36E0F
Price Data- starting with the first item of the item list, and going on through weapons, armor and spells. Each price uses 2 bytes. NOTE: Most "items" do not have a price because they cannot be bought or sold! 37C3C on indicates "store-bought" items, with the exception of the Bottle. 37C10?-37DEF

The intro text. 37F30-3800F

The pointer table for the shop text. 38010-3805B

The shop text. 3805C-3830F

Shop Data. Listed sequentially; one shop is separated from the next by 00. Shops go in order of weapon-armor-item-wmagic-bmagic-inn-clinic throughout most of the section; weapon, armor, item, and magic shops use a string of bits corresponding to the index of an item, inns and clinics use a single, 2-byte value for cost. 3839E-38480

The pointer table for the status menu text. 38510-3858F

The status menu text. 38590-38D12

Nesticle .STA file: The party's Gold. 1A-1E
(Nesticle .STA file)

You can thank Gil Galad for posting this little gem at the Rusted logic forums.
But hold on... I got more presents for you.

Y Dienyddiwr Da's FFBytes documents cover all this and more, and then there's FFHackster... :P

However, yesterday, in #romhacking on, zero_soul was helping me with some stuff for FF1, and here's the discoveries that were made. Except for the first one, zero_soul found them all.

* Following Y Dienyddiwr Da's instructions, I got the actual offset for the list of starting characters. If you go to $39D4C, you'll find that it's set to $06. This is where you can add the other classes to the character creation list, or remove some.

* $39D4A - Characer Creation Selection Screen. Change $01 to $00 to force a default party. This will disable the left & right input from the contoller, allowing you to set the party you want the player to use.

* $3A0B0, $3A0C0, $3A0D0, $3A0E0 - Default party. I'm not sure what to do with this data yet. I'll have to ask zero_soul... :P

* $3031 - Starting Items. While it's not possible to give starting weapons, armors, or spells to the characters, you can give them starting items. You can give the party Key Items, or purchaseable items. Here's the list of what's what:

$3031 - Lute
$3032 - Crown
$3033 - Crystal
$3034 - Herb
$3035 - Key
$3036 - TNT
$3037 - Adamant
$3038 - Slab
$3039 - Ruby
$303A - Rod
$303B - Floater
$303C - Chime
$303D - Tail
$303E - Cube
$303F - Bottle
$3040 - Oxyale
$3046 = Tent
$3047 = Cabin
$3048 = House
$3049 = Heal
$304A = Pure
$304B = Soft

By default, each one is set to $00. Changing it will give the party that many of an item. This only applies to the purchaseable items. The key items will just be listed, regardless of what number you set them to.

* $3026 - changing this from $00 to $01 will trigger the Crossing the Bridge scene.

Default Party:

Char. 1: $3A0BE
Char. 2: $3A0CE
Char. 3: $3A0DE
Char. 4: $3A0EE


Standard: Upgrade (*):
00 = Fighter 06 = Knight
01 = Thief 07 = Ninja
02 = Black Belt 08 = Master
03 = Red Mage 09 = Red Wizard
04 = White Mage 0A = White Wizard
05 = Black Mage 0B = Black Wizard

*: Use these at your own risk; they're glitched after class change.


Char. 1: $3A0C0
Char. 2: $3A0D0
Char. 3: $3A0E0
Char. 4: $3A0F0

There are four bytes to change there, all set by default at $FF, which is a space. You can change these to whatever... grab a table if need be. Remember, though, this will only give suggested names; you still have to
enter the names at selection. There is a way to make those names stick, though. It'll be in here in the next revision.

I'd give you more but a lot of it is probably beyond the scope of what you want. Final Fantasy is a very documented game and a lot of the info is just a quick google search away.

As for searching for a pointer in FCEuX debugger. Since you know where the text is use the code data loogger while the hex editor is up and it will highlight the text in blue. It's been my experience that pointers are usually above a text or right below it.

Newcomer's Board / Re: Text Routine
« on: July 04, 2013, 01:58:35 pm »
Thank you very much!

Programming / Re: Dte question?
« on: July 02, 2013, 01:28:34 pm »
Would it be a major thing to put them order?

Programming / Dte question?
« on: July 01, 2013, 04:47:53 am »
Why is a LDA($insert value here), y or x, also known as the A1 or B1 statement needed? Couldn't I just use something else if those statements happen to not be available in the games text routine? Like another type of LDA statement?

Forgive me, if this sounds like a stupid statement but I have been trying to locate a said A1/B1 statement that would work in my routine with no success, so I'd just like a breakdown as to why it's or an alternative solution some of you have used to overcome this problem.

I am working on Kawa no Nushi Tsuri for the Famicom and here is the area in the text routine I am referencing. That last line is the one I am using to perform my jump.
Code: [Select]
01E569:AD BA 07  LDA $07BA = #$00   ;index into window buffer
  01E56C:AA        TAX                ;X = index to dakuten line of current printed character?
  01E56D:18        CLC
  01E56E:69 12     ADC #$12
  01E570:A8        TAY           ;Y = X+0x12, because each line is 18 characters wide, so the main character will be 18 bytes after the corresponding dakuten
  01E571:20 FB DB  JSR $DBFB
  01E574:A5 91     LDA $0091 = #$23
  01E576:8D 06 20  STA $2006 = #$E8
  01E579:A5 92     LDA $0092 = #$27
  01E57B:8D 06 20  STA $2006 = #$E8
  01E57E:BD 50 06  LDA $0650,X @ $065F = #$FE  ;here it's reading the dakuten line
  01E581:8D 07 20  STA $2007 = #$98        ;and here's it writing one tile to VRAM
  01E584:B9 50 06  LDA $0650,Y @ $06B0 = #$34  ;here its reading the main text line. And the next will write that tile

The text is loaded in the ram at 650 to 6DF and I been pouring through the searching for B1/A1 statements or the ram numbers in the range I am looking for. Can any of you tell me what I should be on the lookout for when I do that?

ROM Hacking Discussion / Re: On particular types of spoof hacks
« on: June 30, 2013, 07:31:21 pm »
I thought we had for this sort of thing, so we didn't have to keep them kicking around here.

...Except apparently that site went kaput in 2009.

It turned into badderhacks.

Newcomer's Board / Re: Text Routine
« on: June 29, 2013, 01:44:31 am »
@ Kunio The game is already translated. I need coding help.

This is where the text starts. For some reason the game is not bringing up my dte table vales even though the game is reading my routine and highlighted my dte table values in blue when I run the code logger in FCUEX.


I'll get right on that!
Thank you!

Personal Projects / Re: Pikachumanson's Personal Projects
« on: June 27, 2013, 11:27:56 pm »
I can agree with that!

Personal Projects / Re: Pikachumanson's Personal Projects
« on: June 27, 2013, 11:10:52 pm »
I'm just happy that our work got recognized like that. Now it makes me really want to redouble my efforts to finish this thing up!

Personal Projects / Re: Pikachumanson's Personal Projects
« on: June 27, 2013, 10:24:40 pm »

I see there are some who are really looking forward to this being completed! I'll try my best to oblige, though I am having a lot of trouble getting this dte thing to work correctly. I'll get it eventually.

Newcomer's Board / Re: Text Routine
« on: June 24, 2013, 11:21:35 pm »
Yeah I am tracking down the text routine now.

June 25, 2013, 02:05:02 am - (Auto Merged - Double Posts are not allowed before 7 days.)
Yippee I got it working! Thank you to everyone who replied to this thread. Especially Spikeman!

Just gotta organize my table now.

June 27, 2013, 09:53:53 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
All right... so far, I've either got my routine to spit out gibberish or nothing at all.

I was told to place a jump from the text routine from a LDA (whatever), y and an INC statement.

The thing is, When I read KingMike's and Redcomet's Faq they tell me the LDA state should be a B1 statement and if I can't find that then I should use a A1 statement.

The thing is I can't find either in the text routine.  All I can find are AD, A5,A2 and B9 statements.

Let me show you the code where I set a conditional breakpoint that led me to (what I think) is the text routine.
You'll wanna scroll down to  01E587:8D 07 20  STA $2007 = #$98 where the breakpoint occurred for the first that pops up in the game which is I. I also tried this with the second letter n and it stopped in the same place.
Code: [Select]
  01E533:A2 03     LDX #$03  ;beginning of routine
  01E535:A5 E3     LDA $00E3 = #$00
  01E537:C9 02     CMP #$02
  01E539:B0 09     BCS $E534
  01E53B:A5 72     LDA $0072 = #$00
  01E53D:F0 05     BEQ $E534
  01E53F:A2 00     LDX #$00
  01E541:4C 4A E5  JMP $E54A
  01E544:A5 E3     LDA $00E3 = #$00
  01E546:C9 02     CMP #$02
  01E548:B0 09     BCS $E543
  01E54A:A5 71     LDA $0071 = #$00
  01E54C:F0 05     BEQ $E543
  01E54E:A2 01     LDX #$01
  01E550:4C 4A E5  JMP $E54A
  01E553:AD 5C 07  LDA $075C = #$00
  01E556:F0 02     BEQ $E54A
  01E558:A2 07     LDX #$07
  01E55A:86 09     STX $0009 = #$07
  01E55C:EE BB 07  INC $07BB = #$48
  01E55F:AD BB 07  LDA $07BB = #$48
  01E562:25 09     AND $0009 = #$07
  01E564:F0 03     BEQ $E559
  01E566:4C D6 E5  JMP $E5D6
01E569:AD BA 07  LDA $07BA = #$00
  01E56C:AA        TAX
  01E56D:18        CLC
  01E56E:69 12     ADC #$12
  01E570:A8        TAY
  01E571:20 FB DB  JSR $DBFB
  01E574:A5 91     LDA $0091 = #$23
  01E576:8D 06 20  STA $2006 = #$E8
  01E579:A5 92     LDA $0092 = #$27
  01E57B:8D 06 20  STA $2006 = #$E8
  01E57E:BD 50 06  LDA $0650,X @ $065F = #$FE
  01E581:8D 07 20  STA $2007 = #$98
  01E584:B9 50 06  LDA $0650,Y @ $06B0 = #$34
  01E587:8D 07 20  STA $2007 = #$98 <----Here is where the breakpoint occured
  01E58A:20 05 DC  JSR $DC05
  01E58D:EE BA 07  INC $07BA = #$00
  01E590:E6 92     INC $0092 = #$27
  01E592:A5 92     LDA $0092 = #$27
  01E594:29 1F     AND #$1F
  01E596:D0 18     BNE $E5A0
  01E598:A5 92     LDA $0092 = #$27
  01E59A:38        SEC
  01E59B:E9 20     SBC #$20
  01E59D:85 92     STA $0092 = #$27
01E59F:A5 91     LDA $0091 = #$23
  01E5A1:C9 24     CMP #$24
  01E5A3:B0 06     BCS $E59B
  01E5A5:18        CLC
  01E5A6:69 04     ADC #$04
  01E5A8:4C 9E E5  JMP $E59E
  01E5AB:38        SEC
  01E5AC:E9 04     SBC #$04
  01E5AE:85 91     STA $0091 = #$23
  01E5B0:CE BC 07  DEC $07BC = #$00
  01E5B3:D0 31     BNE $E5D6
  01E5B5:A9 00     LDA #$00
  01E5B7:8D BA 07  STA $07BA = #$00
  01E5BA:AD FF 07  LDA $07FF = #$00
  01E5BD:C9 04     CMP #$04
  01E5BF:B0 03     BCS $E5B4
  01E5C1:EE FF 07  INC $07FF = #$00
  01E5C4:C9 03     CMP #$03
  01E5C6:B0 0C     BCS $E5C4
  01E5C8:A5 94     LDA $0094 = #$27
01E5CA:18        CLC
  01E5CB:69 40     ADC #$40
  01E5CD:90 07     BCC $E5C6
  01E5CF:E6 93     INC $0093 = #$23
  01E5D1:4C C6 E5  JMP $E5C6
  01E5D4:A5 94     LDA $0094 = #$27
  01E5D6:85 94     STA $0094 = #$27
  01E5D8:85 92     STA $0092 = #$27
  01E5DA:A5 93     LDA $0093 = #$23
  01E5DC:85 91     STA $0091 = #$23
  01E5DE:A9 00     LDA #$00
  01E5E0:8D 8F 07  STA $078F = #$01
  01E5E3:EE B9 07  INC $07B9 = #$00
  01E5E6:60        RTS --------------

Where exactly can I put a jump in this statement, if I can make one at all here?
Should I be looking elsewhere?

Pages: [1] 2 3 4 5 6 ... 29