The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > ROM Hacking > Research & Development
Sign Up Rules/FAQ Live Battle Blogs Mark Forums Read

Notices

Research & Development Got a well-founded knack with ROM hacking? Love reverse-engineering the Pokémon games? Or perhaps you love your assembly language. This is the spot for polling and gathering your ideas, and then implementing them! Share your hypothesis, get ideas from others, and collaborate to create!
Research & Development programs in this forum are subject to moderator approval before they are displayed.


Advertise here

Reply
Click here to go to the first staff post in this thread.  
Thread Tools
  #126    
Old January 6th, 2012, 01:46 AM
Darthatron's Avatar
Darthatron
巨大なトロール。
Community Supporter Tier 2
 
Join Date: Jan 2006
Location: Melbourne, Australia
Age: 22
Gender: Male
Nature: Modest

Advertise here
Quote:
Originally Posted by Jambo51 View Post
The code doesn't work. I set a break on read of the battle data, and the game only ever reads the physical stats - regardless of whether the attack in question is physical or special. In theory, this wouldn't be too hard to fix, but I can't see a way of doing it without a hijack at the moment.

The offending code in BPRE is at 0x3ED6E. It always loads from 0x02023BE6 - the physical attack stat of the Pokémon in question. (Obviously, it can load from other slots as well - point is - it always loads the physical attack stat.)

It is immediately followed by another few load commands which then get the physical defense of the opposing Pokémon.

Obviously - we could hijack this routine in a rather unattractive manner, and force it to recalculate the physical/special byte (as it CAN potentially be overwritten by this point) and then get the correct respective bytes from there.

I'm a bit tired right now, so I hope this makes sense. And I hope it helps explain some of the problems we've been having. Obviously, I haven't checked - but this could be the same on other ROMs like RSE as well - so I'd check carefully if I were you!

Jambo51 out!
It loads both stats, doesn't it? Physical to r7 and Special to r8..?
Code:
0803ED6E loc_0803ED6E:                           @ CODE XREF: sub_0803ECEC+6Cj
0803ED6E                 LDRH    R7, [R6,#2]               //Attacker's Attack stat
0803ED70                 LDR     R2, [SP,#0x4C+var_48]
0803ED72                 LDRH    R2, [R2,#4]
0803ED74                 STR     R2, [SP,#0x4C+var_38]
0803ED76                 LDRH    R3, [R6,#8]               //Attacker's Special-Attack stat
0803ED78                 MOV     R8, R3
0803ED7A                 LDR     R0, [SP,#0x4C+var_48]
0803ED7C                 LDRH    R0, [R0,#0xA]
0803ED7E                 STR     R0, [SP,#0x4C+var_34]
It later loads the correct value in to r5.

Physical:
Code:
0803F26E loc_0803F26E:                           @ CODE XREF: sub_0803ECEC+554j
0803F26E                 LSLS    R0, R0, #1
0803F270                 ADDS    R1, R0, R2
0803F272                 LDRB    R1, [R1]
0803F274                 MOVS    R5, R7
0803F276                 MULS    R5, R1
0803F278                 ADDS    R2, #1
0803F27A                 ADDS    R0, R0, R2
0803F27C                 LDRB    R1, [R0]
0803F27E                 MOVS    R0, R5
0803F280                 BL      div_mod
0803F284                 ADDS    R5, R0, #0
Special:
Code:
0803F3CA loc_0803F3CA:                           @ CODE XREF: sub_0803ECEC+6C2j
0803F3CA                 LSLS    R0, R0, #1
0803F3CC                 ADDS    R1, R0, R2
0803F3CE                 LDRB    R1, [R1]
0803F3D0                 MOV     R5, R8
0803F3D2                 MULS    R5, R1
0803F3D4                 ADDS    R2, #1
0803F3D6                 ADDS    R0, R0, R2
0803F3D8                 LDRB    R1, [R0]
0803F3DA                 MOVS    R0, R5
0803F3DC                 BL      div_mod
0803F3E0                 ADDS    R5, R0, #0
Please correct me if you aren't getting this too. :\
Note: All code relevant to FireRed.

EDIT: Never mind this stuff. We worked out that it's fine.
__________________
あなた は しきしゃ です
わたし は ばか です

Last edited by Darthatron; January 6th, 2012 at 08:46 PM.
Reply With Quote
  #127    
Old January 6th, 2012, 07:57 AM
Jambo51's Avatar
Jambo51
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
I think I've found the code which causes the Mirror Coat/Counter bug in Fire Red.
Change it to this, and it should hopefully fix it.
Code:
0801F6C2: 86 7A
0801F908: 00 2E
0801F90A: 41 D1
Also, Darthatron's routine for showing the images is slightly buggy. It turns out the move index is actually DMA protected, but in a really odd way. It only gets DMA shifted after certain actions are taken within the game's overworld. Anyway - to solve this, change the parts in BOLD in Darthatron's original routine (or just copy this routine, I suppose), and then follow Darthatron's original post to insert it.

Code:
.align 2
.thumb
Start:
 push {r0-r4}
 ldr r0, .CurMoveIndex
 ldrb r1, [r0]
 lsl r1, r1, #1
 ldr r0, .Move_List_Loc
 ldr r0, [r0]
 ldr r3, .number
 add r0, r0, r3
 add r0, r0, r1
 ldrh r3, [r0]
 cmp r3, #0x0
 beq Finish
 lsl r0, r3, #1
 add r0, r0, r3
 lsl r0, r0, #2
 ldr r1, .MoveBase
 add r0, r0, r1
 ldrb r4, [r0, #10]
 lsl r0, r4, #1
 add r4, r4, r0
 lsl r4, r4, #6
 ldr r0, .SplitImages
 add r0, r4
 ldr r1, .VRAM
 mov r2, #0x30
 swi #0xB 
 ldr r0, .SplitImages
 add r0, r4
 add r0, #0x60
 ldr r1, .VRAM
 mov r2, #0x1E
 lsl r2, #0x04
 add r1, r1, r2
 mov r2, #0x30
 swi #0xB 
Finish:
 pop {r0-r4}
 ldr r4, .Some_Offset
 ldr r0, [r4]
 ldr r1, .Return_Addr
 bx r1
.align 2
.MoveBase:  .word 0x08250C04
.number: .word 0x00003258
.CurMoveIndex: .word 0x0203B16D
.Move_List_Loc:  .word 0x0203B140
.VRAM:   .word 0x06001800
.SplitImages: .word 0x08YYYYYY
.Some_Offset: .word 0x0203B148
.Return_Addr: .word 0x0813A17D
__________________
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!

Last edited by Jambo51; January 6th, 2012 at 12:13 PM.
Reply With Quote
  #128    
Old January 6th, 2012, 08:52 PM
Darthatron's Avatar
Darthatron
巨大なトロール。
Community Supporter Tier 2
 
Join Date: Jan 2006
Location: Melbourne, Australia
Age: 22
Gender: Male
Nature: Modest
Thanks for that, Jambo. We still need to go about finding a better location to put it as well. I can't believe I didn't notice it was DMA protected.
__________________
あなた は しきしゃ です
わたし は ばか です
Reply With Quote
  #129    
Old January 8th, 2012, 05:58 AM
Eelektross's Avatar
Eelektross
Unhatched Egg
 
Join Date: Jun 2011
Gender: Male
WOw
The Emerald patch should be really helpful
Thanks for all the amazing effort, everybody!
Kicking myself at the timing, just a month later and my Touhoumon hack would have had a Phys/Spec split.
As every move is customised and stat spreads and movepools of 67 are already done though, it'd be more effort than it's worth in a game already full of many unique features, I suppose.
But my third hack will really love this a whole lot, and it's all thanks to the persistence of the people involved in this thread!
Reply With Quote
  #130    
Old January 21st, 2012, 03:17 PM
pokemon1412's Avatar
pokemon1412
Beginning Trainer
 
Join Date: Aug 2006
Gender:
Nature: Calm
Quote:
Originally Posted by Darthatron View Post
I want to find a better place to put it. Right now, the image showing if it's physical/special/status appears a frame before the rest of the screen is loaded. :\ I mean, it's not that bad. I just don't love it.

Change these bytes:
Code:
@0813A130: 0x2F
@0813A17B: 0x47
@0813A1A0: [Pointer to Routine, plus 1 (one).]
Here's the source:
Code:
.align 2
.thumb
Start:
	push {r0-r4}
	ldr r0, .CurMoveIndex
	ldrb r1, [r0]
	lsl r1, r1, #1
	ldr r0, .Move_List
	add r0, r0, r1
	ldrh r3, [r0]
	lsl r0, r3, #1
	add r0, r0, r3
	lsl r0, r0, #2
	ldr r1, .MoveBase
	add r0, r0, r1
	ldrb r4, [r0, #10]
	lsl r0, r4, #1
	add r4, r4, r0
	lsl r4, r4, #6
	
	ldr r0, .SplitImages
	add r0, r4
	ldr r1, .VRAM
	mov r2, #0x30
	swi #0xB
	
	ldr r0, .SplitImages
	add r0, r4
	add r0, #0x60
	ldr r1, .VRAM
	mov r2, #0x1E
	lsl r2, #0x04
	add r1, r1, r2
	mov r2, #0x30
	swi #0xB
	
Finish:
	pop {r0-r4}
	ldr r4, .Some_Offset
	ldr r0, [r4]
	ldr r1, .Return_Addr
	bx r1

.align 2
.MoveBase:		.word 0x08250C04
.CurMoveIndex:	.word 0x0203B16D
.Move_List:		.word 0x02003268

.VRAM:			.word 0x06001800
.SplitImages:	.word 0xYYYYYYYY

.Some_Offset:	.word 0x0203B148
.Return_Addr:	.word 0x0813A17C+1
Change the .SplitImages (0xYYYYYYYY) pointer to where ever you have the images.
The images are uncompressed. And should look like this:
They need to be in this order. Use TileMolester or something to insert them.
They use the same palette as the Types, which is located at 0x08E95DBC in a clean FireRed ROM. :)
I have a problem with this...

The images appear fine while outside battle...

but, if we check summary screen while in battle, all attacks have physical icon...

could you fix this problem?

====================

EDIT: It works fine even it's in battle after I use Jambo's fix code...



thank you~

Last edited by pokemon1412; January 21st, 2012 at 07:02 PM.
Reply With Quote
  #131    
Old February 18th, 2012, 11:18 AM
iJordahn's Avatar
iJordahn
Beginning Trainer
 
Join Date: Sep 2011
Quote:
Originally Posted by Darthatron View Post
HAPPY NEW YEAR!

FireRed (US)
Code:
0803ED54: 80 7A
0803F226: 00 29
0803F228: 00 D0
0803F38C: 02 2F
0803F38E: 00 DB
0803F394: 01 28
0803F396: 00 D0
I'm sorry for asking a question you probably think is stupid, but how/where do we insert this code?
Reply With Quote
  #132    
Old February 18th, 2012, 05:44 PM
Darthatron's Avatar
Darthatron
巨大なトロール。
Community Supporter Tier 2
 
Join Date: Jan 2006
Location: Melbourne, Australia
Age: 22
Gender: Male
Nature: Modest
Quote:
Originally Posted by iJordahn View Post
I'm sorry for asking a question you probably think is stupid, but how/where do we insert this code?
You need to open the ROM in a hex editor and then change the bytes at the locations specified. Search the tutorials section for hex editing tutorials.

And I don't think it's stupid. In fact, I'm glad you asked how to do it, rather than asking me to do it for you.
__________________
あなた は しきしゃ です
わたし は ばか です
Reply With Quote
  #133    
Old February 19th, 2012, 02:02 PM
Jambo51's Avatar
Jambo51
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
I've spotted what could potentially be a huge bug in the FR version of the hack. I'm not 100% certain exactly what it actually breaks, but it breaks something.
I can confirm that it completely breaks the functionality of Blaze, Torrent, Overgrow and probably (although I have yet to see the check itself) Swarm. It also breaks some sort of check which would normally halve the amount of damage dealt for certain types of attack under certain circumstances.

To see evidence for yourself, go to 0x3F102. You will see there are a bunch of type based checks, which read the category byte kept in R9. Under normal circumstances, the game will check the type, and if it matches, will branch link to 0x19F18, passing 0xE in R0, 0x0 in R1, 0x0 in R2 and a changeable byte (seems to depend on the type) in R3. What this checks and returns, I do not know.

However, due to the split changes implemented, none of these checks ever pass, and as such, whatever this piece of functionality is, as well as the abilities named above, simply do not work.
__________________
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!
Reply With Quote
  #134    
Old February 19th, 2012, 07:32 PM
pokemon1412's Avatar
pokemon1412
Beginning Trainer
 
Join Date: Aug 2006
Gender:
Nature: Calm
I don't know this post will help or not....
I also attacked the B/W System (the upgrade of DPSS)

This is a part of the readme file from Japanese Community DPSS about the changes... I simply used google translate...

Damage Calculation routine edited, FR offset 0x0803e458 (Emerald 0x080690bc), this routine fixes ThickFat calculation and Rock-type while Sandstorm is in effect... also talking about Register 11 (?)

Counter/Mirror Coat FR 0x0801ee94 and EM 0x08047b04
I guess we already fix this problem

Processing Accuracy
FR offset 0x0801d5d4 and EM offset 0x0804629e
it fixes "Hustle" Ability

Badges Effect
FR routines: 0x0803e458 0x080144f8
EM routines: 0x0803cb54 0x080690bc

Item processing
FR routine 0x0803e458 and EM 0x080690bc
fixes move-based item such as sharp beak, black belt, etc



Quote:
■変更箇所

 ※以下に示す箇所はアセンブリプログラムです。スクリプト処理とは全く異なるので、アセンブリ
  に詳しくない場合は絶対に触らないで下さい。

 ◆ダメージ計算
    0x0803e458(EMにおいては0x080690bc)以降の処理を色々と変更。以下、変更の概略

     ・オフセットの無駄を 8byte 省く
     ・上記によって生じたスペースを命令を挿入したい箇所に移行
     ・それに伴って不正な参照をする命令を正常な参照位置に変更
     ・以下の処理を上記のスペースと前後の命令を書き換えることで実現
       ‐「レジストリ11をメモリに退避」
       ‐「レジストリ11に属性用の変数を読み込む」
       ‐「攻撃・特殊依存を決定する命令でタイプを使用する代わりに技属性を使用」

    このサブルーチン内部にある特性「あついしぼう」のダメージ半減処理を以下のように変更

     ・未使用のオフセット1byte を命令を挿入したい箇所に移行
     ・不正な参照を正常な参照位置へ変更
     ・「あついしぼう」の特攻半減処理を技の威力を半減させる命令に変更

    このサブルーチン内で特殊技でない時の分岐先をサブルーチン終了処理から天候処理に差替え

    天候処理の内部に天候砂嵐時の岩タイプ特防1.5倍の擬似処理を追加
    具体的には次の通りである

     ・天候が砂嵐である
     ・技の効果対象のタイプに岩が含まれている
     ・使用した技の属性が特殊である
     ・上記条件を全て満たす時、ダメージを1.5で除算する

 ◆倍返し処理
    0x0801ee94(EMにおいては0x08047b04)以降のカウンターとミラーコートのサブルーチン処理
   を以下のように変更

     ・タイプ変数の呼び出しを属性変数の呼び出しに変更
     ・タイプに基づく比較命令を属性に基づく比較命令に変更

 ◆命中率処理
    0x0801d5d4(EMにおいては0x0804629e)以降の命中率に関する処理を以下のように変更

     ・タイプ変数の呼び出しを属性変数の呼び出しに変更
     ・特性「はりきり」処理内部にあるタイプに基づく比較命令を属性に基づく比較命令に変更

 ◆バッジ効果
    攻撃、防御、特攻、特防については 0x0803e458(EMにおいては0x080690bc)以降、素早さに
   ついては 0x080144f8(EMにおいては0x0803cb54)以降の処理において、バッジ取得によるの各
   ステータスの倍率を 1.1倍から1倍に変更。

 ◆アイテム所持効果変更
    電気玉の処理は0x0803e458(EMにおいては0x080690bc)以降のコードを変更。
    以下のアイテムについて
     「ぎんのこな」「メタルコート」「やわらかいすな」「かたいいし」「きせきのタネ」
     「くろいメガネ」「くろおび」「じしゃく」「しんぴのしずく」「するどいくちばし」
     「どくバリ」「とけないこおり」「のろいのおふだ」「まがったスプーン」「もくたん」
     「りゅうのキバ」「シルクのスカーフ」「うしおのおこう」「のんきのおこう」
    0x083a06f8(EMにおいては0x0855cee8)以降のアイテムデータの汎用変数を0xaから0x14
   に変更。
Attached Files
File Type: zip SkillSystemOfDP.zip‎ (19.1 KB, 27 views) (Save to Dropbox)
File Type: zip SkillSystemOfBW101.zip‎ (7.6 KB, 34 views) (Save to Dropbox)
Reply With Quote
  #135    
Old February 27th, 2012, 08:22 PM
MegaKuriboh's Avatar
MegaKuriboh
 
Join Date: Jan 2009
Location: ROM Hacking world
Gender: Male
Nature: Adamant
I just found a glitch.

Apperently, if you use a Flash Fire boosted Fire attack the game crashes (Goes back to the gameboy screen)
Reply With Quote
  #136    
Old February 28th, 2012, 03:44 AM
Jambo51's Avatar
Jambo51
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
Quote:
Originally Posted by Pokemon Trainer Kevin View Post
I just found a glitch.

Apperently, if you use a Flash Fire boosted Fire attack the game crashes (Goes back to the gameboy screen)
Mate, we have known about this glitch for Months! Darthatron's version of the split works nearly fully as intended, and doesn't carry the glitches mentioned above. The only glitch it does carry with it is easy enough to fix.
__________________
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!
Reply With Quote
  #137    
Old February 29th, 2012, 01:02 AM
pokemon1412's Avatar
pokemon1412
Beginning Trainer
 
Join Date: Aug 2006
Gender:
Nature: Calm
Does anyone also confirm that Hidden Power does minimal damage in the latest patch (I only tested Fire Red)?

the other things:
- rock-type won't get boosted sp.def while sandstorm
- sunny day and rain also won't affect fire and water moves' power
- abilities that boost certain type's power like "Blaze" don't work (as Jambo said)
- power-raising items also don't work...

Last edited by pokemon1412; February 29th, 2012 at 01:16 AM.
Reply With Quote
  #138    
Old February 29th, 2012, 10:36 AM
Ivee's Avatar
Ivee
Ask me about Trailblazer :3
 
Join Date: Oct 2009
Gender: Female
Nature: Naive
Rock types didn't get the special defense sandstorm boost til gen 4.
Reply With Quote
  #139    
Old February 29th, 2012, 10:45 AM
Jambo51's Avatar
Jambo51
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
Quote:
Originally Posted by pokemon1412 View Post
Does anyone also confirm that Hidden Power does minimal damage in the latest patch (I only tested Fire Red)?
Can't say I've ever tested it, so I don't know.

Quote:
Originally Posted by pokemon1412 View Post
the other things:
- rock-type won't get boosted sp.def while sandstorm
This is an effect that apparently was introduced in Gen 4. It's not a bug, it's just how it worked in Gen 3.

Quote:
Originally Posted by pokemon1412 View Post
- sunny day and rain also won't affect fire and water moves' power
- abilities that boost certain type's power like "Blaze" don't work (as Jambo said)
- power-raising items also don't work...
These definitely do not work under Darthatron's system, but there is a fix available. It's not ideal, but it works.
__________________
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!

Last edited by Jambo51; February 29th, 2012 at 10:53 AM. Reason: Wrong thread
Reply With Quote
  #140    
Old February 29th, 2012, 04:04 PM
Darthatron's Avatar
Darthatron
巨大なトロール。
Community Supporter Tier 2
 
Join Date: Jan 2006
Location: Melbourne, Australia
Age: 22
Gender: Male
Nature: Modest
Looks like I'll have to completely rework my patch to get these bugs fixed...
__________________
あなた は しきしゃ です
わたし は ばか です
Reply With Quote
  #141    
Old March 3rd, 2012, 11:10 PM
Chaos Rush's Avatar
Chaos Rush
im sexy and i know it
 
Join Date: May 2007
Location: Taylor Swift
Gender: Male
Nature: Adamant
Quote:
Originally Posted by Jambo51 View Post
I've spotted what could potentially be a huge bug in the FR version of the hack. I'm not 100% certain exactly what it actually breaks, but it breaks something.
I can confirm that it completely breaks the functionality of Blaze, Torrent, Overgrow and probably (although I have yet to see the check itself) Swarm. It also breaks some sort of check which would normally halve the amount of damage dealt for certain types of attack under certain circumstances.

To see evidence for yourself, go to 0x3F102. You will see there are a bunch of type based checks, which read the category byte kept in R9. Under normal circumstances, the game will check the type, and if it matches, will branch link to 0x19F18, passing 0xE in R0, 0x0 in R1, 0x0 in R2 and a changeable byte (seems to depend on the type) in R3. What this checks and returns, I do not know.

However, due to the split changes implemented, none of these checks ever pass, and as such, whatever this piece of functionality is, as well as the abilities named above, simply do not work.
I can confirm that this bug is present in the Ruby version of the hack as well, so it most likely is also present in the Emerald one too, since the Emerald one was by Darthatron, and the Ruby hack I did is based off of Darthatron's.
__________________

The Chaos Emerald ROM Base (it's gonna take awhile)

DS-style 64x64 Pokémon Sprite Resource NOW COMPLETED
Custom Sugimori-style Pokémon Sprite Resource IN PROGRESS


Non-Pokémon hacks I support:
Sonic Classic Heroes
Sonic 3 Complete
Reply With Quote
  #142    
Old March 8th, 2012, 06:35 AM
Agastya's Avatar
Agastya
Grinding failed. Item Grind level dropped by 3.
 
Join Date: Feb 2010
Nature: Quiet
I guess while we're talking about it, Weather Ball's damage is minimal just like Hidden Power's. Probably a side effect of it being so small compared to the JP ones, none of the type-related checks are in it, just damage and type effectiveness.

Also, what does Sandstorm not increasing SDef until 4th gen have to do with anything? Isn't this a a thread for research into a hack emulating 4th gen mechanics in 3rd gen ROMs? The JP hacks posted by pokemon1412 (on this page, post #134) have those implemented along with offsets in JP ROMs about what does what. People with actual technical knowledge about what's going on in the ROMs could probably just look at those and reverse-engineer them.


big talk for somebody who doesnt know whats actually going on in a rom, huh
Reply With Quote
  #143    
Old March 8th, 2012, 12:12 PM
Jambo51's Avatar
Jambo51
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
Quote:
Originally Posted by Agastya View Post
I guess while we're talking about it, Weather Ball's damage is minimal just like Hidden Power's. Probably a side effect of it being so small compared to the JP ones, none of the type-related checks are in it, just damage and type effectiveness.
Cheers, I'll investigate it and see if this is still the case after I've applied my fix.

Quote:
Originally Posted by Agastya View Post
Also, what does Sandstorm not increasing SDef until 4th gen have to do with anything? Isn't this a a thread for research into a hack emulating 4th gen mechanics in 3rd gen ROMs? The JP hacks posted by pokemon1412 (on this page, post #134) have those implemented along with offsets in JP ROMs about what does what. People with actual technical knowledge about what's going on in the ROMs could probably just look at those and reverse-engineer them.
All I was saying is rather than being a bug, it was an oversight. We should still apply it, but it's not a bug. That was all I was getting at.
__________________
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!
Reply With Quote
  #144    
Old April 16th, 2012, 04:10 AM
farmerluk
Beginning Trainer
 
Join Date: Apr 2012
Gender: Male
Sorry to ask, but with the various links to different patches, what patch(es) and script do I need to implement this is Fire red? New to this, and want to do a good job with my rom.

-----------

Reread the board with a clear head (stupid that I read this last night while tired). Got the code, just need to implement it. Aware of the glitches involving torrent,blaze etc, and sunny day/rain dance.
Many thanks to you all, your persistence is incredible.

Quote:
Originally Posted by Jambo51 View Post
These definitely do not work under Darthatron's system, but there is a fix available. It's not ideal, but it works.
Could you possibly please point me in the direction of the fix?



Also one last question. Does the version of the rom matter? I backed up my own ruby and fire red, they're EU rather than US.

Last edited by farmerluk; April 16th, 2012 at 05:57 AM. Reason: I was an idiot xD
Reply With Quote
  #145    
Old April 17th, 2012, 01:35 PM
Jambo51's Avatar
Jambo51
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
Quote:
Originally Posted by farmerluk View Post
Could you possibly please point me in the direction of the fix?
I haven't released it yet, hence why you can't find it. I'll dig it up and tag it onto the end of this post when I find it.

Quote:
Originally Posted by farmerluk View Post
Also one last question. Does the version of the rom matter? I backed up my own ruby and fire red, they're EU rather than US.
Yes, it matters. Everything we have researched will explicitly only work on the US version of the ROM. The thing is, you MAY have a US version. The english european ROM was actually the american one!

Boot up your FR ROM. If it is in english and it does NOT say Game Freak Presents, then you should be good to go.
__________________
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!
Reply With Quote
  #146    
Old April 25th, 2012, 06:04 AM
Agastya's Avatar
Agastya
Grinding failed. Item Grind level dropped by 3.
 
Join Date: Feb 2010
Nature: Quiet
Not to sound rude or anything, but it sure is taking you a while to dig up and post a fix that you supposedly had a few months ago..

Actually, why didn't you just post the actual fix then, anyway? It would have saved everybody a lot of time, and it probably would have already been ported to the other third gen games by now, too.
__________________
Reply With Quote
  #147    
Old April 25th, 2012, 08:43 AM
Jambo51's Avatar
Jambo51
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
Quote:
Originally Posted by Agastya View Post
Not to sound rude or anything, but it sure is taking you a while to dig up and post a fix that you supposedly had a few months ago..

Actually, why didn't you just post the actual fix then, anyway? It would have saved everybody a lot of time, and it probably would have already been ported to the other third gen games by now, too.
I haven't posted it since then because I was:
1) Testing the damned thing to make sure it worked
2) Being busy with exams and coursework
3) Having a life beyond hacking

Code:
.text
.align 2
.thumb
.thumb_func
.global LCDPSSGlitchFix
main:
 ldr r0, [sp, #0x8]
 lsl r1, r0, #0x1
 add r1, r1, r0
 lsl r1, r1, #0x2
 ldr r0, attackdata
 add r0, r0, r1
 ldrb r0, [r0, #0x2]
 mov r11, r0
 mov r2, r11
 cmp r2, #0xD
 bne continue
 mov r0, #0x0
 str r0, [sp, #0x0]
 ldr r0, return
 bx r0
continue: ldr r3, returntwo
 bx r3
.align
return: .word 0x0803F10D
returntwo: .word 0x0803F127
attackdata: .word 0x08250C04
At 0x3F102, change the code to 01 4A 10 47 00 00 XX XX XX 08.

That isn't all though, you also need to change:

0803F126: 5B 46
0803F14A: 58 46
0803F17A: 5A 46
0803F1AA: 58 46
0803F1DA: 5A 46

You should be good to go after that.
__________________
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!
Reply With Quote
  #148    
Old April 25th, 2012, 01:33 PM
DoesntKnowHowToPlay's Avatar
DoesntKnowHowToPlay
some loser
 
Join Date: Jan 2012
I see a number of problems with this fix- it doesn't appear to resolve hold items or weather, which will still check against register 9. Weather Ball and Hidden Power will also probably break, as they operate by changing register 9. Thick Fat is also untouched, and will thus never work as it checks register 9 for type (and even if that was fixed it'd only weaken special attacks).

Implementation-wise I'm not too fond of this either- if we used register 11 for the physical/special byte, and register 9 for the type, things like Mud Sport and pinch abilities would solve themselves. It'd also be nice if we could do this without method hijacking, so that non-ASM savvy people can implement this with little difficulty.

Anyway, I've spent the last week working on this, and have a working fix here: s7.zetaboards.com/Nuzlocke_Forum/topic/8679031/1/#new
Reply With Quote
  #149    
Old April 26th, 2012, 04:14 AM
Jambo51's Avatar
Jambo51
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
My exact words were that it wouldn't be perfect, nor was it ideal. What someone needs to do (as boring as it is) is sit and go through the entire damage calculation part of the routine, and see if we can catch any such bugs. It is entirely possible that there are others which we have missed at some stage in this routine.

Quote:
Originally Posted by DoesntKnowHowToPlay View Post
Anyway, I've spent the last week working on this, and have a working fix here: s7.zetaboards.com/Nuzlocke_Forum/topic/8679031/1/#new
What possible use is this for people such as myself who cannot access the page because we're not members? Would you kindly post it here, and we can go from there?
__________________
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!

Last edited by Jambo51; April 26th, 2012 at 03:23 PM.
Reply With Quote
  #150    
Old April 26th, 2012, 10:42 AM
DarkenedWolf's Avatar
DarkenedWolf
there is a bear
 
Join Date: Jun 2008
Well it doesn't really matter now that we have a perfect split!
Reply With Quote
Reply
Quick Reply

Sponsored Links


Advertise here
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Minimum Characters Per Post: 25



All times are UTC -8. The time now is 03:20 PM.


Style by Nymphadora, artwork by Sa-Dui.
Like our Facebook Page Follow us on Twitter © 2002 - 2014 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2014 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.