While looking for In-battle names in memory I stumbled upon what makes Yang unique as for how his damage is calculated. This is quite important as this is the first time I've seen actual damage formulas being compiled and created.
Attack Building Formula
$03/9B03 9C 77 39 STZ $3977 [$7E:3977] A:0001 X:FFFF Y:0024 P:eNvMxdizc - Store Zero in 7E3977 (this seems to be what tells the game to ignore Equipped Weapon's power and go with a different damage formula.
$03/9B06 A0 01 00 LDY #$0001 A:0001 X:FFFF Y:0024 P:eNvMxdizc - Load 1 into Y.
$03/9B09 B1 80 LDA ($80),y[$7E:2001] A:0001 X:FFFF Y:0001 P:envMxdizc - Load Slot's ID.
$03/9B0B 29 0F AND #$0F A:0000 X:FFFF Y:0001 P:envMxdiZc - Get rid of negatives?
$03/9B0D C9 00 CMP #$06 A:0000 X:FFFF Y:0001 P:envMxdiZc - Is it Yang's ID?
$03/9B0F D0 03 BNE $03 [$9B14] A:0000 X:FFFF Y:0001 P:envMxdiZC - If not branch to 039B14.
$03/9B11 EE 77 39 INC $3977 [$7E:3977] A:0000 X:FFFF Y:0001 P:envMxdiZC - +1 to 7E397 (purpose listed above)
$03/9B14 A0 33 00 LDY #$0033 A:0000 X:FFFF Y:0001 P:envMxdizC - Load 33 into Y.
$03/9B17 B1 80 LDA ($80),y[$7E:2033] A:0000 X:FFFF Y:0033 P:envMxdizC - Load Slot's Right Hand Equipped Weapon into A.
$03/9B19 F0 20 BEQ $20 [$9B3B] A:0000 X:FFFF Y:0033 P:envMxdiZC - If Nothing branch to 039B3B.
------------------------------------------------------------------------------------------------------------------------------
(Branches off to a normal weapon)
$03/9B1B A0 25 00 LDY #$0025 A:0016 X:FFFF Y:0033 P:envMxdizc - Load Slot's Right Handed Weapon ???.
$03/9B1E B1 82 LDA ($82),y[$7E:27A5] A:0016 X:FFFF Y:0025 P:envMxdizc - Load it into A.
$03/9B20 30 19 BMI $19 [$9B3B] A:002D X:FFFF Y:0025 P:envMxdizc - If it is negative branch to 039B3B.
$03/9B22 AD 77 39 LDA $3977 [$7E:3977] A:002D X:FFFF Y:0025 P:envMxdizc - Load A from Yang's Formula byte.
$03/9B25 09 80 ORA #$80 A:0000 X:FFFF Y:0025 P:envMxdiZc - Add 80 if applicable.
$03/9B27 8D 77 39 STA $3977 [$7E:3977] A:0080 X:FFFF Y:0025 P:eNvMxdizc - Store 80 in ?Yang's Formula Byte?
$03/9B2A A0 21 00 LDY #$0021 A:0080 X:FFFF Y:0025 P:eNvMxdizc - Load 20 into Y.
$03/9B2D 7B TDC A:0080 X:FFFF Y:0021 P:envMxdizc - Transfer Direct Page.
$03/9B2E AA TAX A:0000 X:FFFF Y:0021 P:envMxdiZc - Transfer A to X.
-------------------------------------------------(Looping Point)------------------------------------------------------------
$03/9B2F B1 82 LDA ($82),y[$7E:27A1] A:0000 X:0000 Y:0021 P:envMxdiZc - Load A from Right Handed Weapon Property.
$03/9B31 9D 9C 28 STA $289C,x[$7E:289C] A:0001 X:0000 Y:0021 P:envMxdizc - Store A in 7E289C+X.
$03/9B34 C8 INY A:0001 X:0000 Y:0021 P:envMxdizc + 1 to Y.
$03/9B35 E8 INX A:0001 X:0000 Y:0022 P:envMxdizc +1 to X.
$03/9B36 E0 0B 00 CPX #$000B A:0001 X:0001 Y:0022 P:envMxdizc - Has it gone through 11 times? (put the entire weapon data in another section.)
$03/9B39 D0 F4 BNE $F4 [$9B2F] A:0001 X:0001 Y:0022 P:eNvMxdizc - If not loop back to 039B2F.
------------------------------------------------------------------------------------------------------------------------------------
$03/9B3B A0 35 00 LDY #$0035 A:0000 X:FFFF Y:0033 P:envMxdiZC - Load 35 into Y.
$03/9B3E B1 80 LDA ($80),y[$7E:2035] A:0000 X:FFFF Y:0035 P:envMxdizC - Load Slot's Left Hand Equipped Weapon into A.
$03/9B40 F0 21 BEQ $21 [$9B63] A:0062 X:FFFF Y:0035 P:envMxdizC - If nothing branch to 03B963.
------------------------------------------------------------------------------------------------
$03/9B42 A0 30 00 LDY #$0030 A:0062 X:FFFF Y:0035 P:envMxdizC - Load 30 into Y.
$03/9B45 B1 82 LDA ($82),y[$7E:27B0] A:0062 X:FFFF Y:0030 P:envMxdizC - Load A from Left-Hand Equipment.
$03/9B47 30 1A BMI $1A [$9B63] A:0084 X:FFFF Y:0030 P:eNvMxdizC - If it is over 80 (Shield) branch to 03B963.
---------------------------------------------------------------------------------------------------------
$03/9B49 AD 77 39 LDA $3977 [$7E:3977] A:0006 X:000B Y:0030 P:envMxdizC - Load "Is it Yang?" Byte into A.
$03/9B4C 09 40 ORA #$40 A:0080 X:000B Y:0030 P:eNvMxdizC 0 Add 40 if applicable to A.
$03/9B4E 8D 77 39 STA $3977 [$7E:3977] A:00C0 X:000B Y:0030 P:eNvMxdizC - Store A in "Is it Yang?" Byte.
$03/9B51 A0 2C 00 LDY #$002C A:00C0 X:000B Y:0030 P:eNvMxdizC - Load 002C into Y.
$03/9B54 A2 0B 00 LDX #$000B A:00C0 X:000B Y:002C P:envMxdizC - Load 000B into X.
-----------------------------------------------------------------------(Looping Point)------------------------------------------------------
$03/9B57 B1 82 LDA ($82),y[$7E:27E3] A:00C0 X:000B Y:002C P:envMxdizC - Load A from Weapon Property.
$03/9B59 9D 9C 28 STA $289C,x[$7E:28A7] A:0020 X:000B Y:002C P:envMxdizC - Store A in 7E28A7.(Where it will store weapon dealings now)
$03/9B5C C8 INY A:0020 X:000B Y:002C P:envMxdizC - +1 X.
$03/9B5D E8 INX A:0020 X:000B Y:002D P:envMxdizC - +1 Y.
$03/9B5E E0 16 00 CPX #$0016 A:0020 X:000C Y:002D P:envMxdizC - Has it gone through 11 times?
$03/9B61 D0 F4 BNE $F4 [$9B57] A:0020 X:000C Y:002D P:eNvMxdizc - If not loop back to 039B57.
-----------------------------------------------------------------------------------------------------------------
$03/9B63 AD 77 39 LDA $3977 [$7E:3977] A:0084 X:FFFF Y:0030 P:eNvMxdizC - Load 7E3977 into A.
$03/9B66 29 C0 AND #$C0 A:0001 X:FFFF Y:0030 P:envMxdizC - Get rid of inapplicable bits.
$03/9B68 F0 09 BEQ $09 [$9B73] A:0000 X:FFFF Y:0030 P:envMxdiZC - If it is 00 branch to 039B73.
----------------------------------------------------------------------------------------------------------------------
$03/9B6A 49 C0 EOR #$C0 A:0080 X:000B Y:0030 P:eNvMxdizC - Add C0 if applicable to A.
$03/9B6C D0 55 BNE $55 [$9BC3] A:0040 X:000B Y:0030 P:envMxdizC - If not 00 branch to 039BC3.
-------------------------------------------------------------------------------------------------------------------------------
$03/9B6E AD A2 28 LDA $28A2 [$7E:28A2] A:0000 X:0016 Y:0037 P:envMxdiZC - Load A from Equip Index (Arrow Bit presumably it what it is looking at)
$03/9B71 29 C0 AND #$C0 A:0042 X:0016 Y:0037 P:envMxdizc - Get rid of inapplicable bits.
--------------------------------------------------------------------------------------------------------------------------
$03/9B73 F0 4C BEQ $4C [$9BC1] A:0000 X:FFFF Y:0030 P:envMxdiZC - If it is 00 branch to 03B8C1.
---------------------------------------------------------------------------------------------------------------
(Only takes this path if it is arrows)
$03/9B75 A9 80 LDA #$80 A:0040 X:0016 Y:0037 P:envMxdizC - Load 80 into A.
$03/9B77 8D 78 39 STA $3978 [$7E:3978] A:0080 X:0016 Y:0037 P:eNvMxdizC - Store A in 7E3978.
$03/9B7A AD A2 28 LDA $28A2 [$7E:28A2] A:0080 X:0016 Y:0037 P:eNvMxdizC - Load A from Equipment Branch.
$03/9B7D 29 80 AND #$80 A:0042 X:0016 Y:0037 P:envMxdizC - Get rid of inapplicable bits. (Positive bits?)
$03/9B7F D0 36 BNE $36 [$9BB7] A:0000 X:0016 Y:0037 P:envMxdiZC - If not 00 branch to 039BB7.
$03/9B81 A9 40 LDA #$40 A:0000 X:0016 Y:0037 P:envMxdiZC - Load 40 into A.
$03/9B83 8D 78 39 STA $3978 [$7E:3978] A:0040 X:0016 Y:0037 P:envMxdizC - Store A in 7E3978.
$03/9B86 7B TDC A:0040 X:0016 Y:0037 P:envMxdizC - Transfer Direct Page.
$03/9B87 AA TAX A:0000 X:0016 Y:0037 P:envMxdiZC - Transfer A to X.
$03/9B88 A0 16 00 LDY #$0016 A:0000 X:0000 Y:0037 P:envMxdiZC - Load 16 into Y.
----------------------------------------------------------------------------------(Looping Point)-------------------------------------
$03/9B8B BD 9C 28 LDA $289C,x[$7E:289C] A:0000 X:0000 Y:0016 P:envMxdizC - Load A from 7E289C+x (Weapon property?)
$03/9B8E 99 9C 28 STA $289C,y[$7E:28B2] A:00A0 X:0000 Y:0016 P:eNvMxdizC - Store A in 7E289C+Y
$03/9B91 E8 INX A:00A0 X:0000 Y:0016 P:eNvMxdizC +1 X
$03/9B92 C8 INY A:00A0 X:0001 Y:0016 P:envMxdizC +1 Y
$03/9B93 E0 0B 00 CPX #$000B A:00A0 X:0001 Y:0017 P:envMxdizC - Compare X to 0B (11 times, copying Weapon information... again)
$03/9B96 D0 F3 BNE $F3 [$9B8B] A:00A0 X:0001 Y:0017 P:eNvMxdizc - If not done 11 times loop back to 039B8B
-------------------------------------------------------------------------------------------------------------------------------------------
$03/9B98 7B TDC A:0000 X:000B Y:0021 P:envMxdiZC - Transfer Direct Page.
$03/9B99 A8 TAY A:0000 X:000B Y:0021 P:envMxdiZC - Transfer A to Y.
--------------------------------------------------------(Looping Point)-------------------------------------------------------
$03/9B9A BD 9C 28 LDA $289C,x[$7E:28A7] A:0000 X:000B Y:0000 P:envMxdiZC - Load A from Left-Handed Weapon Property.
$03/9B9D 99 9C 28 STA $289C,y[$7E:289C] A:0020 X:000B Y:0000 P:envMxdizC - Store A in 7E289C.
$03/9BA0 E8 INX A:0020 X:000B Y:0000 P:envMxdizC - +1 X
$03/9BA1 C8 INY A:0020 X:000C Y:0000 P:envMxdizC - +1 Y
$03/9BA2 E0 16 00 CPX #$0016 A:0020 X:000C Y:0001 P:envMxdizC - Repeat this 11 times.
$03/9BA5 D0 F3 BNE $F3 [$9B9A] A:0020 X:000C Y:0001 P:eNvMxdizc - If not loop back to 039B9A.
-------------------------------------------------------------------------------------------------------------------
$03/9BA7 A0 0B 00 LDY #$000B A:0000 X:0016 Y:000B P:envMxdiZC - Load 000B into Y.
---------------------------------------------------------(Looping Point)---------------------------------------------
$03/9BAA BD 9C 28 LDA $289C,x[$7E:28B2] A:0000 X:0016 Y:000B P:envMxdizC - Load Weapon Property from Right Hand into A.
$03/9BAD 99 9C 28 STA $289C,y[$7E:28A7] A:00A0 X:0016 Y:000B P:eNvMxdizC - Store A in 7E289C.
$03/9BB0 E8 INX A:00A0 X:0016 Y:000B P:eNvMxdizC +1 X
$03/9BB1 C8 INY A:00A0 X:0017 Y:000B P:envMxdizC - +1 Y
$03/9BB2 C0 16 00 CPY #$0016 A:00A0 X:0017 Y:000C P:envMxdizC - Has it gone through 11 times?
$03/9BB5 D0 F3 BNE $F3 [$9BAA] A:00A0 X:0017 Y:000C P:eNvMxdizc - If not branch back to 039BAA.
-----------------------------------------------------------------------------------------------------------------------
$03/9BB7 AD 77 39 LDA $3977 [$7E:3977] A:0000 X:0021 Y:0016 P:envMxdiZC - Load "Is it Yang?" Byte into A.
$03/9BBA 29 3F AND #$3F A:00C0 X:0021 Y:0016 P:eNvMxdizC - Get rid of inapplicable bits.
$03/9BBC 09 A0 ORA #$A0 A:0000 X:0021 Y:0016 P:envMxdiZC - Add A0 if applicable.
$03/9BBE 8D 77 39 STA $3977 [$7E:3977] A:00A0 X:0021 Y:0016 P:eNvMxdizC - Store A in 7E3977
---------------------------------------------------------------------------------------------------------------
$03/9BC1 80 2B BRA $2B [$9BEE] A:0000 X:FFFF Y:0030 P:envMxdiZC - Branch to 039BEE.
-------------------------------------------------------------------------------------------------------------------
$03/9BC3 AD 77 39 LDA $3977 [$7E:3977] A:0040 X:000B Y:0030 P:envMxdizC - Load Yang's Damage Byte into A.
$03/9BC6 30 26 BMI $26 [$9BEE] A:0080 X:000B Y:0030 P:eNvMxdizC - Branch if negative to 039BEE.
------------------------------------------------------------------------------------------------------------------------
$03/9BEE 7B TDC A:0000 X:FFFF Y:0030 P:envMxdiZC - Transfer Direct Page.
$03/9BEF AA TAX A:0000 X:FFFF Y:0030 P:envMxdiZC - Transfer A to X.
$03/9BF0 86 A9 STX $A9 [$00:00A9] A:0000 X:0000 Y:0030 P:envMxdiZC - Store X in A9.
$03/9BF2 AD A0 28 LDA $28A0 [$7E:28A0] A:0000 X:0000 Y:0030 P:envMxdiZC - Load A from 7E28A0.
$03/9BF5 30 05 BMI $05 [$9BFC] A:0000 X:0000 Y:0030 P:envMxdiZC - If negative (Shield) branch to 039BFC.
$03/9BF7 AD A4 28 LDA $28A4 [$7E:28A4] A:0000 X:0000 Y:0030 P:envMxdiZC - Load A from Weapon Elemental.
$03/9BFA 85 A9 STA $A9 [$00:00A9] A:0000 X:0000 Y:0030 P:envMxdiZC - Store A in A9.
$03/9BFC AD AB 28 LDA $28AB [$7E:28AB] A:0000 X:0000 Y:0030 P:envMxdiZC - Load A from 7E28AB.
$03/9BFF 30 05 BMI $05 [$9C06] A:0000 X:0000 Y:0030 P:envMxdiZC - If negative(Shield) branch to 039C06
$03/9C01 AD AF 28 LDA $28AF [$7E:28AF] A:0000 X:0000 Y:0030 P:envMxdiZC - Load A from 7E28AF.
$03/9C04 85 AA STA $AA [$00:00AA] A:0000 X:0000 Y:0030 P:envMxdiZC - Store A in AA.
$03/9C06 A5 A9 LDA $A9 [$00:00A9] A:0000 X:0000 Y:0030 P:envMxdiZC - Load A from A9.
$03/9C08 05 AA ORA $AA [$00:00AA] A:0000 X:0000 Y:0030 P:envMxdiZC - Add the applicable value from AA onto it.
$03/9C0A A0 19 00 LDY #$0019 A:0000 X:0000 Y:0030 P:envMxdiZC - Load 0019 into Y.
$03/9C0D 91 80 STA ($80),y[$7E:2019] A:0000 X:0000 Y:0019 P:envMxdizC - Store A in Yang's Attack Elemental.
$03/9C0F 7B TDC A:0000 X:0000 Y:0019 P:envMxdizC - Transfer Direct Page.
$03/9C10 AA TAX A:0000 X:0000 Y:0019 P:envMxdiZC - Transfer A to X.
$03/9C11 86 A9 STX $A9 [$00:00A9] A:0000 X:0000 Y:0019 P:envMxdiZC - Store X in A9.
$03/9C13 AD A0 28 LDA $28A0 [$7E:28A0] A:0000 X:0000 Y:0019 P:envMxdiZC - Load A from 7E28A0.
$03/9C16 30 05 BMI $05 [$9C1D] A:0000 X:0000 Y:0019 P:envMxdiZC - If negative branch to 039C1B.
$03/9C18 AD A1 28 LDA $28A1 [$7E:28A1] A:0000 X:0000 Y:0019 P:envMxdiZC - Load A from Character's Weapon Creature Strength.
$03/9C1B 85 A9 STA $A9 [$00:00A9] A:0000 X:0000 Y:0019 P:envMxdiZC - Store A in A9.
$03/9C1D AD AB 28 LDA $28AB [$7E:28AB] A:0000 X:0000 Y:0019 P:envMxdiZC - Load A from 7E28AB.
$03/9C20 30 05 BMI $05 [$9C27] A:0000 X:0000 Y:0019 P:envMxdiZC - Branch if negative to 039C27.
$03/9C22 AD AC 28 LDA $28AC [$7E:28AC] A:0000 X:0000 Y:0019 P:envMxdiZC - Load A from Weapon's Creature Strength.
$03/9C25 85 AA STA $AA [$00:00AA] A:0000 X:0000 Y:0019 P:envMxdiZC - Store A in AA.
$03/9C27 A5 A9 LDA $A9 [$00:00A9] A:0000 X:0000 Y:0019 P:envMxdiZC - Load A from A9.
$03/9C29 05 AA ORA $AA [$00:00AA] A:0000 X:0000 Y:0019 P:envMxdiZC - Add applicable bits from AA as well.
$03/9C2B A0 1A 00 LDY #$001A A:0000 X:0000 Y:0019 P:envMxdiZC - Load Character's Creature Type Weaknesses into A..
$03/9C2E 91 80 STA ($80),y[$7E:201A] A:0000 X:0000 Y:001A P:envMxdizC - Store A in Character's Creature Type Weaknesses.
$03/9C30 AD 66 39 LDA $3966 [$7E:3966] A:0000 X:0000 Y:001A P:envMxdizC - Load Character's Strength (from a copy) into A.
$03/9C33 20 85 84 JSR $8485 [$03:8485] A:000D X:0000 Y:001A P:envMxdizC - Jump to Subroutine (Value /8 = A)
$03/9C38 AD 67 39 LDA $3967 [$7E:3967] A:0001 X:0000 Y:001A P:envMxdizC - Load A from Character's Agility into A.
$03/9C3B 20 84 84 JSR $8484 [$03:8484] A:000D X:0000 Y:001A P:envMxdizC - Jump to Subroutine (Value /16 = A)
$03/9C3E 18 CLC A:0000 X:0000 Y:001A P:envMxdiZC - Clear Carry Flag.
$03/9C3F 65 A9 ADC $A9 [$00:00A9] A:0000 X:0000 Y:001A P:envMxdiZc - Add the value in A9 (Str/8) into A
$03/9C41 1A INC A A:0001 X:0000 Y:001A P:envMxdizc - +1 to A.
$03/9C42 A0 1B 00 LDY #$001B A:0002 X:0000 Y:001A P:envMxdizc - Load Character's Attack Multiplier.
$03/9C45 91 80 STA ($80),y[$7E:201B] A:0002 X:0000 Y:001B P:envMxdizc - Store A in Character's Attack Multiplier.
$03/9C47 AD 65 39 LDA $3965 [$7E:3965] A:0002 X:0000 Y:001B P:envMxdizc - Load Character's Level into A.
$03/9C4A 20 86 84 JSR $8486 [$03:8486] A:000A X:0000 Y:001B P:envMxdizc - Jump to Subroutine (Value/4 = A)
$03/9C4D 85 A9 STA $A9 [$00:00A9] A:0002 X:0000 Y:001B P:envMxdizC - Store A in A9.
$03/9C4F AD 77 39 LDA $3977 [$7E:3977] A:0002 X:0000 Y:001B P:envMxdizC - Load A from "Weapon Equipped - Is it Yang?" from much earlier.
$03/9C52 29 C0 AND #$C0 A:0001 X:0000 Y:001B P:envMxdizC - Get rid of inapplicable bytes.
$03/9C54 F0 21 BEQ $21 [$9C77] A:0000 X:0000 Y:001B P:envMxdiZC - If 00 branch to 039C77
---------------------------------------------------------------------------------------------------------
$03/9C56 49 C0 EOR #$C0 A:0080 X:0000 Y:001B P:eNvMxdizC - -40 to A.
$03/9C58 D0 26 BNE $26 [$9C80] A:0040 X:0000 Y:001B P:envMxdizC - If not 00 branch to 039C80.
--------------------------------------------------------------------------------------------------------------
(Unique to Dual-Wielding? - Not Yang?)
$03/9C5A 18 CLC A:0000 X:0000 Y:001B P:envMxdiZc - Clear Carry Flag.
$03/9C5B AD 9E 28 LDA $289E [$7E:289E] A:0000 X:0000 Y:001B P:envMxdiZc - Load A from Weapon Hit%
$03/9C5E 29 7F AND #$7F A:005A X:0000 Y:001B P:envMxdizc - Get rid of negative bits.
$03/9C60 65 A9 ADC $A9 [$00:00A9] A:005A X:0000 Y:001B P:envMxdizc - Add the value of Level/4 into A.
$03/9C62 85 AA STA $AA [$00:00AA] A:0060 X:0000 Y:001B P:envMxdizc - Store A in AA.
$03/9C64 18 CLC A:0060 X:0000 Y:001B P:envMxdizc - Clear Carry Flag.
$03/9C65 AD A9 28 LDA $28A9 [$7E:28A9] A:0060 X:0000 Y:001B P:envMxdizc - Load A from Second Weapon Hit %.
$03/9C68 29 7F AND #$7F A:005A X:0000 Y:001B P:envMxdizc - Get rid of negative bits.
$03/9C6A 65 A9 ADC $A9 [$00:00A9] A:005A X:0000 Y:001B P:envMxdizc - Add this value onto A9.
$03/9C6C 65 AA ADC $AA [$00:00AA] A:0060 X:0000 Y:001B P:envMxdizc - Add AA onto that value.
$03/9C6E 4A LSR A A:00C0 X:0000 Y:001B P:eNVMxdizc - / A by 2.
$03/9C6F C9 63 CMP #$63 A:0060 X:0000 Y:001B P:enVMxdizc - Is it over 99?
$03/9C71 90 18 BCC $18 [$9C8B] A:0060 X:0000 Y:001B P:eNVMxdizc - If not branch to 039C8B
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------
$03/9C77 18 CLC A:0000 X:0000 Y:001B P:envMxdiZC - Clear Carry Flag.
$03/9C78 AF 02 91 0F LDA $0F9102[$0F:9102] A:0000 X:0000 Y:001B P:envMxdiZc - Load A from 0F9102. (Default Accuracy of Nothing)
$03/9C7C 65 A9 ADC $A9 [$00:00A9] A:0032 X:0000 Y:001B P:envMxdizc - Add Level /4 onto the accuracy.
$03/9C7E 80 08 BRA $08 [$9C88] A:0034 X:0000 Y:001B P:envMxdizc - Branch to 039C88
--------------------------------------------------------------------------------------------------------------------
$03/9C80 18 CLC A:0040 X:0000 Y:001B P:envMxdizC - Clear Carry Flag.
$03/9C81 AD 9E 28 LDA $289E [$7E:289E] A:0040 X:0000 Y:001B P:envMxdizc - Load A from Weapon Accuracy.
$03/9C84 29 7F AND #$7F A:005A X:0000 Y:001B P:envMxdizc - Get rid of negative bits?
$03/9C86 65 A9 ADC $A9 [$00:00A9] A:005A X:0000 Y:001B P:envMxdizc - Add the value in A9 into it (Level /4)
------------------------------------------------------------------------------------------------------------------------
$03/9C88 20 2A 9E JSR $9E2A [$03:9E2A] A:0034 X:0000 Y:001B P:envMxdizc - Jump to Subroutine
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$03/9E2A C9 63 CMP #$63 A:0034 X:0000 Y:001B P:envMxdizc - Is the accuracy 99?
$03/9E2C 90 02 BCC $02 [$9E30] A:0034 X:0000 Y:001B P:eNvMxdizc - If 99 or below branch to 039E30
-----------------------------------------------------------------------------------------------------
(This likely mitigates the accuracy back down to 99)
-------------------------------------------------------------------------------------------------
$03/9E30 60 RTS A:0034 X:0000 Y:001B P:eNvMxdizc - Return
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$03/9C8B A0 1C 00 LDY #$001C A:0034 X:0000 Y:001B P:eNvMxdizc - Load Character's Physical Accuracy.
$03/9C8E 91 80 STA ($80),y[$7E:201C] A:0034 X:0000 Y:001C P:envMxdizc - Store Accuracy+Level/4 into Character's Physical Accuracy.
$03/9C90 AD 66 39 LDA $3966 [$7E:3966] A:0034 X:0000 Y:001C P:envMxdizc - Load A from Character's Strength.
$03/9C93 20 86 84 JSR $8486 [$03:8486] A:000D X:0000 Y:001C P:envMxdizc - Jump to Subroutine (Value/4 = A)
$03/9C96 85 AA STA $AA [$00:00AA] A:0003 X:0000 Y:001C P:envMxdizc - Store Str/4 into AA.
$03/9C98 AD 77 39 LDA $3977 [$7E:3977] A:0003 X:0000 Y:001C P:envMxdizc - Load "Weapon Equipped - Is it Yang?" into A.
$03/9C9B 29 01 AND #$01 A:0001 X:0000 Y:001C P:envMxdizc - Is it 01?
$03/9C9D F0 0B BEQ $0B [$9CAA] A:0001 X:0000 Y:001C P:envMxdizc - If not branch to 039DAA.
$03/9C9F AD 65 39 LDA $3965 [$7E:3965] A:0001 X:0000 Y:001C P:envMxdizc - Load Character's Level.
$03/9CA2 0A ASL A A:000A X:0000 Y:001C P:envMxdizc - Level x2.
$03/9CA3 18 CLC A:0014 X:0000 Y:001C P:envMxdizc - Clear Carry Flag.
$03/9CA4 65 AA ADC $AA [$00:00AA] A:0014 X:0000 Y:001C P:envMxdizc - Add Levelx2 + Str/4 into A.
$03/9CA6 69 02 ADC #$02 A:0017 X:0000 Y:001C P:envMxdizc - Add 02 onto the value.
$03/9CA8 80 66 BRA $66 [$9D10] A:0019 X:0000 Y:001C P:envMxdizc - Branch to 03D910
-----------------------------------------------------------------------------------
$03/9CAA AD 77 39 LDA $3977 [$7E:3977] A:0000 X:0000 Y:001C P:envMxdiZc - Load A from "Is it Yang?" Byte.
$03/9CAD 29 C0 AND #$C0 A:0080 X:0000 Y:001C P:eNvMxdizc - Is it C0?
$03/9CAF F0 57 BEQ $57 [$9D08] A:0080 X:0000 Y:001C P:eNvMxdizc - If it is, branch to 039D08.
$03/9CB1 49 C0 EOR #$C0 A:0080 X:0000 Y:001C P:eNvMxdizc - Get rid of inapplicable bits.
$03/9CB3 D0 17 BNE $17 [$9CCC] A:0040 X:0000 Y:001C P:envMxdizc - If not 00 branch to 039CCC
--------------------------------------------------------------------------------------
(Unique to Dual-Wielding?)
03/9CB5 18 CLC A:0000 X:0000 Y:001C P:enVMxdiZC - Clear Carry Flag.
$03/9CB6 AD 9D 28 LDA $289D [$7E:289D] A:0000 X:0000 Y:001C P:enVMxdiZc - Load 1st Weapon Attack Power into A.
$03/9CB9 65 A9 ADC $A9 [$00:00A9] A:0019 X:0000 Y:001C P:enVMxdizc - Add Level /4 onto A.
$03/9CBB 65 AA ADC $AA [$00:00AA] A:001F X:0000 Y:001C P:envMxdizc - Add Str/4 onto A.
$03/9CBD 85 AB STA $AB [$00:00AB] A:0026 X:0000 Y:001C P:envMxdizc - Store Weapon +Str/4 +Lvl/4 into AB.
$03/9CBF 18 CLC A:0026 X:0000 Y:001C P:envMxdizc - Clear Carry Flag.
$03/9CC0 AD A8 28 LDA $28A8 [$7E:28A8] A:0026 X:0000 Y:001C P:envMxdizc - Load 2nd Weapon Attack Power into A.
$03/9CC3 65 A9 ADC $A9 [$00:00A9] A:0019 X:0000 Y:001C P:envMxdizc -Add Level/4 into A.
$03/9CC5 65 AA ADC $AA [$00:00AA] A:001F X:0000 Y:001C P:envMxdizc - Add Str/4 into A.
$03/9CC7 18 CLC A:0026 X:0000 Y:001C P:envMxdizc - Clear Carry Flag.
$03/9CC8 65 AB ADC $AB [$00:00AB] A:0026 X:0000 Y:001C P:envMxdizc - Add 1st Weapon Power + Str/4 + Level/4 onto A.
$03/9CCA 80 44 BRA $44 [$9D10] A:004C X:0000 Y:001C P:envMxdizc - Branch to 039D10.
-------------------------------------------------------------------------------------------
$03/9CCC AD 77 39 LDA $3977 [$7E:3977] A:0040 X:0000 Y:001C P:envMxdizc - Load A from "Is it Yang?" Byte.
$03/9CCF 29 20 AND #$20 A:0080 X:0000 Y:001C P:eNvMxdizc - Get rid of inapplicable bits.
$03/9CD1 F0 35 BEQ $35 [$9D08] A:0000 X:0000 Y:001C P:envMxdiZc - Branch if 00 to 039D08
------------------------------------------------------------------------------------------------
(Only carried through by Bow+Arrow?)
$03/9CD3 AD 9D 28 LDA $289D [$7E:289D] A:0020 X:0000 Y:001C P:envMxdizc - Load Bow's Attack Power into A.
$03/9CD6 4A LSR A A:000A X:0000 Y:001C P:envMxdizc - /2.
$03/9CD7 18 CLC A:0005 X:0000 Y:001C P:envMxdizc - Clear Carry Flag.
$03/9CD8 6D A8 28 ADC $28A8 [$7E:28A8] A:0005 X:0000 Y:001C P:envMxdizc - Add the Value of the Arrow into A.
$03/9CDB 65 AA ADC $AA [$00:00AA] A:000A X:0000 Y:001C P:envMxdizc - Add the value from Str/4 onto A.
$03/9CDD 85 BF STA $BF [$00:00BF] A:000C X:0000 Y:001C P:envMxdizc - Store A in BF.
$03/9CDF A0 00 00 LDY #$0000 A:000C X:0000 Y:001C P:envMxdizc - Load 00 into Y.
$03/9CE2 B1 80 LDA ($80),y[$7E:2080] A:000C X:0000 Y:0000 P:envMxdiZc - Load Character ID.
$03/9CE4 29 C0 AND #$C0 A:0086 X:0000 Y:0000 P:eNvMxdizc - Get rid of inapplicable bits.
$03/9CE6 2D 78 39 AND $3978 [$7E:3978] A:0080 X:0000 Y:0000 P:eNvMxdizc - Get rid of inapplicable bits.
$03/9CE9 F0 19 BEQ $19 [$9D04] A:0000 X:0000 Y:0000 P:envMxdiZc - Branch if 00 to 039D04.
-----------------------------------------------------------------------------------------------------------------------------------------
(Only accessible if the Bow is in the dominant hand and the Arrow is in the recessive hand)
$03/9CEB A5 BF LDA $BF [$00:00BF] A:0080 X:0000 Y:0000 P:eNvMxdizc - Load A from Culminated Attack Power
$03/9CED AA TAX A:000C X:0000 Y:0000 P:envMxdizc - Transfer A to X.
$03/9CEE 8E 45 39 STX $3945 [$7E:3945] A:000C X:000C Y:0000 P:envMxdizc - Store X in 7E3945.
$03/9CF1 A2 05 00 LDX #$0005 A:000C X:000C Y:0000 P:envMxdizc - Load 0005 into X.
$03/9CF4 8E 47 39 STX $3947 [$7E:3947] A:000C X:0005 Y:0000 P:envMxdizc - Store X in 7E3947.
$03/9CF7 20 07 84 JSR $8407 [$03:8407] A:000C X:0005 Y:0000 P:envMxdizc - Jump to Subroutine (Rolls a 0 value at 3949 16 times before spitting out a 2) - In other word it takes away 1/16th of the final result)
$03/9CFB A5 BF LDA $BF [$00:00BF] A:0000 X:0000 Y:0000 P:envMxdiZC - Load A from Culminated Attack Power.
$03/9CFD ED 49 39 SBC $3949 [$7E:3949] A:000C X:0000 Y:0000 P:envMxdizC - Subtract the value from 7E3949.
$03/9D00 85 BF STA $BF [$00:00BF] A:000A X:0000 Y:0000 P:envMxdizC - Store A in Culminated Attack Power
$03/9D02 80 0F BRA $0F [$9D13] A:000A X:0000 Y:0000 P:envMxdizC - Branch to 039D13.
----------------------------------------------------------------------------------------------------------------------------------
(Only Accessible from Bows)
$03/9D04 A5 BF LDA $BF [$00:00BF] A:0000 X:0000 Y:0000 P:envMxdiZc - Load A from Bow Attack /2, +Arrow Attack + Str/4.
$03/9D06 80 0B BRA $0B [$9D13] A:000C X:0000 Y:0000 P:envMxdizc - Branch to 039D13
-------------------------------------------------------------------------------------------------
$03/9D08 18 CLC A:0000 X:0000 Y:001C P:envMxdiZc - Clear Carry Flag.
$03/9D09 AD 9D 28 LDA $289D [$7E:289D] A:0000 X:0000 Y:001C P:envMxdiZc - Load Weapon's Physical Attack.
$03/9D0C 65 A9 ADC $A9 [$00:00A9] A:001E X:0000 Y:001C P:envMxdizc - Add the value from A9 into it (Level/4)
$03/9D0E 65 AA ADC $AA [$00:00AA] A:0020 X:0000 Y:001C P:envMxdizc - Add the value from AA into it. (Str/4)
$03/9D10 20 31 9E JSR $9E31 [$03:9E31] A:0023 X:0000 Y:001C P:envMxdizc - Jump to Subroutine (Checking to see if it is above 00)
(Continued in the second section of code, below)
-----------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
$03/9E31 90 02 BCC $02 [$9E35] A:0019 X:0000 Y:001C P:envMxdizc - If more than 00 branch to 039E35.
$03/9E35 60 RTS A:0019 X:0000 Y:001C P:envMxdizc - Return
Well, well! Looks like DeathLike2's Formula for Yang's Attack was almost 100% on the mark! The only miscalculation was Level x2 +2 rather than +1, but its so miniscule anyhow. This is where I would normally stop and look at the collected results above, but unlike a normal routine, this just ends abruptly so I have to follow it back from the RTS. Maybe this will, in the end, reveal the location of all Attack Formula.
$03/9D13 A0 1D 00 LDY #$001D A:0019 X:0000 Y:001C P:envMxdizc - Load Slot's Attack Base into A.
$03/9D16 91 80 STA ($80),y[$7E:201D] A:0019 X:0000 Y:001D P:envMxdizc - Store Levelx2 +2 + Str/4 into Physical Attack Base.
$03/9D18 AD A5 28 LDA $28A5 [$7E:28A5] A:0019 X:0000 Y:001D P:envMxdizc - Load Slot's Attack Status from Weapon into A.
$03/9D1B 0D B0 28 ORA $28B0 [$7E:28B0] A:0000 X:0000 Y:001D P:envMxdiZc - Add the value from the other weapon onto that if applicable.
$03/9D1E A0 1E 00 LDY #$001E A:0000 X:0000 Y:001D P:envMxdiZc - Load Slot's Attack Status into A.
$03/9D21 91 80 STA ($80),y[$7E:201E] A:0000 X:0000 Y:001E P:envMxdizc - Store A in Attack Status 1.
$03/9D23 AD A6 28 LDA $28A6 [$7E:28A6] A:0000 X:0000 Y:001E P:envMxdizc - Load Slot's Attack Status 2 from Weapon into A.
$03/9D26 0D B1 28 ORA $28B1 [$7E:28B1] A:0000 X:0000 Y:001E P:envMxdiZc - Add the value from the other weapon onto that if applicable.
$03/9D29 C8 INY A:0000 X:0000 Y:001E P:envMxdiZc - +1 to Y (making it read the very next byte)
$03/9D2A 91 80 STA ($80),y[$7E:201F] A:0000 X:0000 Y:001F P:envMxdizc - Store A in Attack Status 2.
$03/9D2F B1 80 LDA ($80),y[$7E:2041] A:0000 X:0000 Y:0041 P:envMxdizc - Load A from Slot's Unknown.
$03/9D31 85 A9 STA $A9 [$00:00A9] A:0000 X:0000 Y:0041 P:envMxdiZc - Store A in A9
$03/9D33 C8 INY A:0000 X:0000 Y:0041 P:envMxdiZc - +1 to Y.
$03/9D34 B1 80 LDA ($80),y[$7E:2042] A:0000 X:0000 Y:0042 P:envMxdizc - Load A from Slot's Unknown2.
$03/9D36 85 AA STA $AA [$00:00AA] A:0000 X:0000 Y:0042 P:envMxdiZc - Store A in AA.
$03/9D38 AD 77 39 LDA $3977 [$7E:3977] A:0000 X:0000 Y:0042 P:envMxdiZc - Load A from "No Weapon, is it Yang?" Byte.
$03/9D3B 29 C0 AND #$C0 A:0001 X:0000 Y:0042 P:envMxdizc - Get rid of inapplicable bits.
$03/9D3D F0 51 BEQ $51 [$9D90] A:0000 X:0000 Y:0042 P:envMxdiZc - Branch if 00 to 039D90.
-----------------------------------------------------------------------------------------
$03/9D3F 49 C0 EOR #$C0 A:0080 X:0000 Y:0042 P:eNvMxdizc - Get rid of inapplicable bits.
$03/9D41 F0 4D BEQ $4D [$9D90] A:0040 X:0000 Y:0042 P:envMxdizc - If 00 branch to 039D90
$03/9D43 AD 77 39 LDA $3977 [$7E:3977] A:0040 X:0000 Y:0042 P:envMxdizc - Load A from "Is it Yang?" byte.
$03/9D46 29 20 AND #$20 A:0080 X:0000 Y:0042 P:eNvMxdizc - Get rid of inapplicable bits.
$03/9D48 F0 22 BEQ $22 [$9D6C] A:0000 X:0000 Y:0042 P:envMxdiZc - If 00 branch to 039D6C
--------------------------------------------------------------------------------------------------------------------------
(Unique to Bow/Arrows?)
$03/9D4A A5 A9 LDA $A9 [$00:00A9] A:0020 X:0000 Y:0042 P:envMxdizc - Load A from Level/4.
$03/9D4C C9 21 CMP #$21 A:0002 X:0000 Y:0042 P:envMxdizc - Is it the same value that is in 21?
$03/9D4E 90 02 BCC $02 [$9D52] A:0002 X:0000 Y:0042 P:eNvMxdizc - If greater than or equal branch to 039D52.
------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------
$03/9D52 85 DF STA $DF [$00:00DF] A:0002 X:0000 Y:0042 P:eNvMxdizc - Store Level /4 into DF.
$03/9D54 A9 03 LDA #$03 A:0002 X:0000 Y:0042 P:eNvMxdizc - Load 03 into A.
$03/9D56 85 E1 STA $E1 [$00:00E1] A:0003 X:0000 Y:0042 P:envMxdizc - Store A in E1.
$03/9D58 20 E0 83 JSR $83E0 [$03:83E0] A:0003 X:0000 Y:0042 P:envMxdizc - Jump to Subroutine (??)
$03/9D5D 85 A9 STA $A9 [$00:00A9] A:0006 X:0000 Y:0042 P:envMxdizc - Store A in A9.
$03/9D5F 18 CLC A:0006 X:0000 Y:0042 P:envMxdizc - Clear Carry Flag.
$03/9D60 A5 AA LDA $AA [$00:00AA] A:0006 X:0000 Y:0042 P:envMxdizc - Load A from AA.
$03/9D62 6D A8 28 ADC $28A8 [$7E:28A8] A:003C X:0000 Y:0042 P:envMxdizc - Add Arrow's Attack Power onto A.
$03/9D65 20 31 9E JSR $9E31 [$03:9E31] A:0041 X:0000 Y:0042 P:envMxdizc - Jump to Subroutine.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$03/9E31 90 02 BCC $02 [$9E35] A:0041 X:0000 Y:0042 P:envMxdizc - Is it less than 00 or 00 if so branch to 039E35.
$03/9E35 60 RTS A:0041 X:0000 Y:0042 P:envMxdizc - Return.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$03/9D68 85 AA STA $AA [$00:00AA] A:0041 X:0000 Y:0042 P:envMxdizc - Store A in AA.
$03/9D6A 80 18 BRA $18 [$9D84] A:0041 X:0000 Y:0042 P:envMxdizc - Branch to 039D84.
------------------------------------------------------------------------------------------------------------------------------
$03/9D6C 06 A9 ASL $A9 [$00:00A9] A:0000 X:0000 Y:0042 P:envMxdiZc - x2 the Slot Unknown.
$03/9D6E 90 04 BCC $04 [$9D74] A:0000 X:0000 Y:0042 P:envMxdizc - Branch if 00 or less to 039D74
----------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------
$03/9D74 A5 A9 LDA $A9 [$00:00A9] A:0000 X:0000 Y:0042 P:envMxdizc - Load A from Unknown x2
$03/9D76 85 A9 STA $A9 [$00:00A9] A:0004 X:0000 Y:0042 P:envMxdizc - Store A in A9.
$03/9D78 AD 9D 28 LDA $289D [$7E:289D] A:0004 X:0000 Y:0042 P:envMxdizc - Load Weapon's Attack.
$03/9D7B 4A LSR A A:001E X:0000 Y:0042 P:envMxdizc - /2.
$03/9D7C 18 CLC A:000F X:0000 Y:0042 P:envMxdizc - Clear Carry Flag.
$03/9D7D 65 AA ADC $AA [$00:00AA] A:000F X:0000 Y:0042 P:envMxdizc - Add A from Slot's Unknown2.
$03/9D7F 20 31 9E JSR $9E31 [$03:9E31] A:0023 X:0000 Y:0042 P:envMxdizc - If over 99, make 99 routine.
$03/9D82 85 AA STA $AA [$00:00AA] A:0023 X:0000 Y:0042 P:envMxdizc - Store A in AA.
$03/9D84 A0 2D 00 LDY #$002D A:0023 X:0000 Y:0042 P:envMxdizc - Load 2D into Y.
$03/9D87 A5 A9 LDA $A9 [$00:00A9] A:0023 X:0000 Y:002D P:envMxdizc - Load A from Level/4. (Or in Arrow/Bow's Case Load A from ???)
$03/9D89 91 80 STA ($80),y[$7E:202D] A:0004 X:0000 Y:002D P:envMxdizc - Store A in Critical Hit%.
$03/9D8C A5 AA LDA $AA [$00:00AA] A:0004 X:0000 Y:002E P:envMxdizc - Load A from Str/4. (In Bow/Arrow's Case Load A from ?Levelx6?)
$03/9D8E 91 80 STA ($80),y[$7E:202E] A:0023 X:0000 Y:002E P:envMxdizc - Store A in Critical Hit Bonus.
--------------------------------------------------------------------------------------------------------------------------------------------------
$03/9D90 AD 77 39 LDA $3977 [$7E:3977] A:0023 X:0000 Y:002E P:envMxdizc - Load "Is it Yang?" byte.
$03/9D93 29 20 AND #$20 A:0080 X:0000 Y:002E P:eNvMxdizc - Get rid of bits.
$03/9D95 D0 07 BNE $07 [$9D9E] A:0000 X:0000 Y:002E P:envMxdiZc - If not 00 branch to 039D9E.
$03/9D97 AD 9C 28 LDA $289C [$7E:289C] A:0000 X:0000 Y:002E P:envMxdiZc - Load A from Weapon Properties.
$03/9D9A 29 20 AND #$20 A:0001 X:0000 Y:002E P:envMxdizc - Get rid of bits.
$03/9D9C F0 09 BEQ $09 [$9DA7] A:0000 X:0000 Y:002E P:envMxdiZc - If 00 branch to 039DA7
-------------------------------------------------------------------------------------------
(Only for Bow/Arrow?)
$03/9DA1 B1 80 LDA ($80),y[$7E:2081] A:0020 X:0000 Y:0001 P:envMxdizc - Load Character Class/Row/Long Range.
$03/9DA3 09 20 ORA #$20 A:0025 X:0000 Y:0001 P:envMxdizc - Add Long Range Bit.
$03/9DA5 91 80 STA ($80),y[$7E:2081] A:0025 X:0000 Y:0001 P:envMxdizc - Store A in Character Class/Row/Long Range.
----------------------------------------------------------------------------------------------------------------------
$03/9DA7 60 RTS A:0000 X:0000 Y:0042 P:envMxdiZc - Return
----------------------------------------------------------------------------------------------
And there we go! I have to head out for a short while, but this should be good enough to post. It is clear now that the other attack formula are probably very nearby. Likely in between the bytes that read specifically Yang in the first bit of code above. Because clearly this second portion of code is used by every attack formula I would imagine.
And it seems I was right. The normal attack building formula is within. Though there is a lot of reference to this 3977 byte that I've erroneously called "Is it Yang?" since it seems to be used for a lot of other dealings as well.
And it would seem I was wrong all around for Critical Hits and Critical Hit Bonuses. They aren't unique to each character but it seemed that way to me because I did not think Level or Strength would play into it at all.
This did reveal two more things as well...
Bytes 41 and 42 of Character's data is Level /4 and Levelx2. When not cheating, it appears. Hence why just changing the levell doesn't actually appear to do much of anything on its own.

And the Bow and Arrow section has been added! That only leaves dual weapons, I would think.
As to how to figure out Bow/Arrow Formula... well let's see...
$03/9CD3 AD 9D 28 LDA $289D [$7E:289D] A:0020 X:0000 Y:001C P:envMxdizc - Load Left-Handed Weapon's Power.
$03/9CD6 4A LSR A A:000A X:0000 Y:001C P:envMxdizc - /2.
$03/9CD7 18 CLC A:0005 X:0000 Y:001C P:envMxdizc - Clear Carry Flag.
$03/9CD8 6D A8 28 ADC $28A8 [$7E:28A8] A:0005 X:0000 Y:001C P:envMxdizc - Add the Value of the Right Handed Weapon onto A.
$03/9CDB 65 AA ADC $AA [$00:00AA] A:000A X:0000 Y:001C P:envMxdizc - Add the value from Level/4 onto A.
$03/9CDD 85 BF STA $BF [$00:00BF] A:000C X:0000 Y:001C P:envMxdizc - Store A in BF.
$03/9CDF A0 00 00 LDY #$0000 A:000C X:0000 Y:001C P:envMxdizc - Load 00 into Y.
$03/9CE2 B1 80 LDA ($80),y[$7E:2080] A:000C X:0000 Y:0000 P:envMxdiZc - Load Character ID.
$03/9CE4 29 C0 AND #$C0 A:0086 X:0000 Y:0000 P:eNvMxdizc - Get rid of inapplicable bits.
$03/9CE6 2D 78 39 AND $3978 [$7E:3978] A:0080 X:0000 Y:0000 P:eNvMxdizc - Get rid of inapplicable bits.
$03/9CE9 F0 19 BEQ $19 [$9D04] A:0000 X:0000 Y:0000 P:envMxdiZc - Branch if 00 to 039D04.
-----------------------------------------------------------------------------------------------------------------------------------------------------
(Only accessible if the Bow is in the dominant hand and the Arrow is in the recessive hand)
$03/9CEB A5 BF LDA $BF [$00:00BF] A:0080 X:0000 Y:0000 P:eNvMxdizc - Load A from Culminated Attack Power
$03/9CED AA TAX A:000C X:0000 Y:0000 P:envMxdizc - Transfer A to X.
$03/9CEE 8E 45 39 STX $3945 [$7E:3945] A:000C X:000C Y:0000 P:envMxdizc - Store X in 7E3945.
$03/9CF1 A2 05 00 LDX #$0005 A:000C X:000C Y:0000 P:envMxdizc - Load 0005 into X.
$03/9CF4 8E 47 39 STX $3947 [$7E:3947] A:000C X:0005 Y:0000 P:envMxdizc - Store X in 7E3947.
$03/9CF7 20 07 84 JSR $8407 [$03:8407] A:000C X:0005 Y:0000 P:envMxdizc - Jump to Subroutine (Rolls a 0 value at 3949 16 times before spitting out a 1/5 value)
$03/9CFB A5 BF LDA $BF [$00:00BF] A:0000 X:0000 Y:0000 P:envMxdiZC - Load A from Culminated Attack Power.
$03/9CFD ED 49 39 SBC $3949 [$7E:3949] A:000C X:0000 Y:0000 P:envMxdizC - Subtract the value from 7E3949.
$03/9D00 85 BF STA $BF [$00:00BF] A:000A X:0000 Y:0000 P:envMxdizC - Store A in Culminated Attack Power
$03/9D02 80 0F BRA $0F [$9D13] A:000A X:0000 Y:0000 P:envMxdizC - Branch to 039D13.
-----------------------------------------------------------------------------------------------------------------------------------------
$03/9D04 A5 BF LDA $BF [$00:00BF] A:0000 X:0000 Y:0000 P:envMxdiZc - Load A from Bow Attack /2, +Arrow Attack + Str/4.
$03/9D06 80 0B BRA $0B [$9D13] A:000C X:0000 Y:0000 P:envMxdizc - Branch to 039D13
Deathlike 2's formula says...
Bow and Arrow (with Bow in recessive hand):
Base Attack Power = Bow's Attack Power/2 + Arrow's Attack Power + Str/4
This is entirely accurate as the data above would attest.
It appears to be Bow Attack /2 + Arrow Attack, + Str/4 = Attack Power. Testing with default Rosa shows the power of the bow is turned to 05, then the Arrow's attack is added and the Strength bonus is included.
Now for...
If the bow is in the character's primary hand...
Base Attack Power = Base Attack Power (Bow and Arrow) * 4/5
That too is 100% accurate. The game takes it through a routine which chops the main power of the attack by 1/5 in total.

And Dual Wielding is finished which means this Formula Building should be done all in all.
03/9CB5 18 CLC A:0000 X:0000 Y:001C P:enVMxdiZC - Clear Carry Flag.
$03/9CB6 AD 9D 28 LDA $289D [$7E:289D] A:0000 X:0000 Y:001C P:enVMxdiZc - Load 1st Weapon Attack Power into A.
$03/9CB9 65 A9 ADC $A9 [$00:00A9] A:0019 X:0000 Y:001C P:enVMxdizc - Add Level /4 onto A.
$03/9CBB 65 AA ADC $AA [$00:00AA] A:001F X:0000 Y:001C P:envMxdizc - Add Str/4 onto A.
$03/9CBD 85 AB STA $AB [$00:00AB] A:0026 X:0000 Y:001C P:envMxdizc - Store Weapon +Str/4 +Lvl/4 into AB.
$03/9CBF 18 CLC A:0026 X:0000 Y:001C P:envMxdizc - Clear Carry Flag.
$03/9CC0 AD A8 28 LDA $28A8 [$7E:28A8] A:0026 X:0000 Y:001C P:envMxdizc - Load 2nd Weapon Attack Power into A.
$03/9CC3 65 A9 ADC $A9 [$00:00A9] A:0019 X:0000 Y:001C P:envMxdizc -Add Level/4 into A.
$03/9CC5 65 AA ADC $AA [$00:00AA] A:001F X:0000 Y:001C P:envMxdizc - Add Str/4 into A.
$03/9CC7 18 CLC A:0026 X:0000 Y:001C P:envMxdizc - Clear Carry Flag.
$03/9CC8 65 AB ADC $AB [$00:00AB] A:0026 X:0000 Y:001C P:envMxdizc - Add 1st Weapon Power + Str/4 + Level/4 onto A.
$03/9CCA 80 44 BRA $44 [$9D10] A:004C X:0000 Y:001C P:envMxdizc - Branch to 039D10.
The Algorithm FAQ says...
Edge (when he has both hands in use):
Base Attack Power = Weapon on Left Hand's Attack Power +
Weapon on Right Hand's Attack Power +
(Str/4 + Level/4)*2
And it was right on the dot. Weapon Attack Power + Str/4 + Level/4 * 2 is indeed the formula that is put together for this.