• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Development: Wild Pokémon Double Battles

JPAN

pokemon rom researcher
104
Posts
15
Years
    • Seen Jul 2, 2016
    I hope I'm using this thread correctly.
    I have found, while searching for something else, a string in FR, at 0x3fd2bf, that may be something you might want to research.
    This position is the start of a string that says, quite simply "Wild [buffer1] and [buffer2] appeared!" This indicates that double wild battles were intended for the game, but I personally don't remember seeing it before D\P\Pt. So, I thought it was dead code, an artifact of an old idea laid to waste. But after searching some more, I found that the battle message printing routine has a way to reach it, using valid addresses. The printing function is quite big, so I'll only post the relevant part:
    Code:
     ; =============== S U B R O U T I N E =======================================
    ROM:080D7274
    ROM:080D7274
    ROM:080D7274 Battle_printing                         ; CODE XREF: sub_80DDBA0+18p
    ROM:080D7274                 PUSH    {R4-R7,LR}
    ROM:080D7276                 MOV     R7, R10
    ROM:080D7278                 MOV     R6, R9
    ROM:080D727A                 MOV     R5, R8
    ROM:080D727C                 PUSH    {R5-R7}
    ROM:080D727E                 LSL     R0, R0, #0x10
    ROM:080D7280                 LSR     R6, R0, #0x10
    ROM:080D7282                 MOV     R7, #0
    ROM:080D7284                 LDR     R4, =0x2039A34
    ROM:080D7286                 LDR     R0, =0x2023BC4
    ROM:080D7288                 MOV     R8, R0
    ROM:080D728A                 LDRB    R1, [R0]
    ROM:080D728C                 LSL     R1, R1, #9
    ROM:080D728E                 LDR     R0, =0x2022BC8
    ROM:080D7290                 ADD     R1, R1, R0
    ROM:080D7292                 STR     R1, [R4]
    ROM:080D7294                 LDR     R2, =0x2023D68
    ROM:080D7296                 LDRH    R0, [R1,#4]
    ROM:080D7298                 STRH    R0, [R2]
    ROM:080D729A                 LDR     R2, =0x2023D6A
    ROM:080D729C                 LDRB    R0, [R1,#6]
    ROM:080D729E                 STRB    R0, [R2]
    ROM:080D72A0                 LDR     R5, =0x2023FC4
    ROM:080D72A2                 LDRB    R0, [R1,#7]
    ROM:080D72A4                 STRB    R0, [R5,#0x17]
    ROM:080D72A6                 LDR     R3, =0x2023FE8
    ROM:080D72A8                 LDR     R0, [R3]
    ROM:080D72AA                 ADD     R0, #0x52
    ROM:080D72AC                 LDRB    R1, [R1,#8]
    ROM:080D72AE                 STRB    R1, [R0]
    ROM:080D72B0                 LDR     R0, [R3]
    ROM:080D72B2                 ADD     R0, #0xAD
    ROM:080D72B4                 LDR     R1, [R4]
    ROM:080D72B6                 LDRB    R1, [R1,#9]
    ROM:080D72B8                 STRB    R1, [R0]
    ROM:080D72BA                 LDR     R1, =0x2023D6F
    ROM:080D72BC                 LDR     R2, [R4]
    ROM:080D72BE                 LDRB    R0, [R2,#0xA]
    ROM:080D72C0                 STRB    R0, [R1]
    ROM:080D72C2                 LDR     R0, [R3]
    ROM:080D72C4                 ADD     R0, #0x8E
    ROM:080D72C6                 LDRB    R1, [R2,#0xB]
    ROM:080D72C8                 STRB    R1, [R0]
    ROM:080D72CA                 MOV     R2, #0
    ROM:080D72CC                 MOV     R12, R8
    ROM:080D72CE                 MOV     R10, R5
    ROM:080D72D0                 LDR     R1, =0x2022AB8
    ROM:080D72D2                 MOV     R9, R1
    ROM:080D72D4                 LDR     R3, =0x2039A30
    ROM:080D72D6
    ROM:080D72D6 loc_80D72D6                             ; CODE XREF: Battle_printing+72j
    ROM:080D72D6                 ADD     R0, R2, R3
    ROM:080D72D8                 LDR     R1, [R4]
    ROM:080D72DA                 ADD     R1, #0xC
    ROM:080D72DC                 ADD     R1, R1, R2
    ROM:080D72DE                 LDRB    R1, [R1]
    ROM:080D72E0                 STRB    R1, [R0]
    ROM:080D72E2                 ADD     R2, #1
    ROM:080D72E4                 CMP     R2, #3
    ROM:080D72E6                 BLE     loc_80D72D6
    ROM:080D72E8                 MOV     R2, #0
    ROM:080D72EA                 LDR     R0, =0x2022AB8
    ROM:080D72EC                 MOV     R8, R0
    ROM:080D72EE                 LDR     R3, =0x2039A34
    ROM:080D72F0                 LDR     R5, =0x2022AC8
    ROM:080D72F2                 LDR     R4, =0x2022AD8
    ROM:080D72F4
    ROM:080D72F4 loc_80D72F4                             ; CODE XREF: Battle_printing+AAj
    ROM:080D72F4                 MOV     R0, R8
    ROM:080D72F6                 ADD     R1, R2, R0
    ROM:080D72F8                 LDR     R0, [R3]
    ROM:080D72FA                 ADD     R0, #0x10
    ROM:080D72FC                 ADD     R0, R0, R2
    ROM:080D72FE                 LDRB    R0, [R0]
    ROM:080D7300                 STRB    R0, [R1]
    ROM:080D7302                 ADD     R1, R2, R5
    ROM:080D7304                 LDR     R0, [R3]
    ROM:080D7306                 ADD     R0, #0x20
    ROM:080D7308                 ADD     R0, R0, R2
    ROM:080D730A                 LDRB    R0, [R0]
    ROM:080D730C                 STRB    R0, [R1]
    ROM:080D730E                 ADD     R1, R2, R4
    ROM:080D7310                 LDR     R0, [R3]
    ROM:080D7312                 ADD     R0, #0x30
    ROM:080D7314                 ADD     R0, R0, R2
    ROM:080D7316                 LDRB    R0, [R0]
    ROM:080D7318                 STRB    R0, [R1]
    ROM:080D731A                 ADD     R2, #1
    ROM:080D731C                 CMP     R2, #0xF
    ROM:080D731E                 BLE     loc_80D72F4
    ROM:080D7320                 CMP     R6, #5
    ROM:080D7322                 BLS     loc_80D7326
    ROM:080D7324                 B       loc_80D77B8
    ROM:080D7326 ; ---------------------------------------------------------------------------
    ROM:080D7326
    ROM:080D7326 loc_80D7326                             ; CODE XREF: Battle_printing+AEj
    ROM:080D7326                 LSL     R0, R6, #2
    ROM:080D7328                 LDR     R1, =off_80D7364
    ROM:080D732A                 ADD     R0, R0, R1
    ROM:080D732C                 LDR     R0, [R0]
    ROM:080D732E                 MOV     PC, R0
    ROM:080D732E ; ---------------------------------------------------------------------------
    ROM:080D7330 dword_80D7330   DCD 0x2039A34           ; DATA XREF: Battle_printing+10r
    ROM:080D7330                                         ; Battle_printing+7Ar
    ROM:080D7334 dword_80D7334   DCD 0x2023BC4           ; DATA XREF: Battle_printing+12r
    ROM:080D7338 dword_80D7338   DCD 0x2022BC8           ; DATA XREF: Battle_printing+1Ar
    ROM:080D733C dword_80D733C   DCD 0x2023D68           ; DATA XREF: Battle_printing+20r
    ROM:080D7340 dword_80D7340   DCD 0x2023D6A           ; DATA XREF: Battle_printing+26r
    ROM:080D7344 dword_80D7344   DCD 0x2023FC4           ; DATA XREF: Battle_printing+2Cr
    ROM:080D7348 dword_80D7348   DCD 0x2023FE8           ; DATA XREF: Battle_printing+32r
    ROM:080D734C dword_80D734C   DCD 0x2023D6F           ; DATA XREF: Battle_printing+46r
    ROM:080D7350 dword_80D7350   DCD 0x2022AB8           ; DATA XREF: Battle_printing+5Cr
    ROM:080D7350                                         ; Battle_printing+76r
    ROM:080D7354 dword_80D7354   DCD 0x2039A30           ; DATA XREF: Battle_printing+60r
    ROM:080D7358 dword_80D7358   DCD 0x2022AC8           ; DATA XREF: Battle_printing+7Cr
    ROM:080D735C dword_80D735C   DCD 0x2022AD8           ; DATA XREF: Battle_printing+7Er
    ROM:080D7360 off_80D7360     DCD off_80D7364         ; DATA XREF: Battle_printing+B4r
    ROM:080D7364 off_80D7364     DCD loc_80D737C         ; DATA XREF: Battle_printing:off_80D7360o
    ROM:080D7368                 DCD loc_80D7428
    ROM:080D736C                 DCD loc_80D74C8
    ROM:080D7370                 DCD loc_80D7558
    ROM:080D7374                 DCD loc_80D75F0
    ROM:080D7378                 DCD loc_80D7654
    ROM:080D737C ; ---------------------------------------------------------------------------
    ROM:080D737C
    ROM:080D737C loc_80D737C                             ; DATA XREF: Battle_printing:off_80D7364o
    ROM:080D737C                 LDR     R0, =0x2022B4C
    ROM:080D737E                 LDR     R1, [R0]
    ROM:080D7380                 MOV     R0, #8
    ROM:080D7382                 AND     R0, R1
    ROM:080D7384                 CMP     R0, #0
    ROM:080D7386                 BEQ     loc_80D73C4
    ROM:080D7388                 MOV     R0, #2
    ROM:080D738A                 AND     R0, R1
    ROM:080D738C                 CMP     R0, #0
    ROM:080D738E                 BEQ     loc_80D73B4
    ROM:080D7390                 MOV     R0, #0x40
    ROM:080D7392                 AND     R1, R0
    ROM:080D7394                 CMP     R1, #0
    ROM:080D7396                 BEQ     loc_80D73A4
    ROM:080D7398                 LDR     R7, =unk_83FD397
    ROM:080D739A                 B       loc_80D77DC
    ROM:080D739A ; ---------------------------------------------------------------------------
    ROM:080D739C dword_80D739C   DCD 0x2022B4C           ; DATA XREF: Battle_printing:loc_80D737Cr
    ROM:080D73A0 off_80D73A0     DCD unk_83FD397         ; DATA XREF: Battle_printing+124r
    ROM:080D73A4 ; ---------------------------------------------------------------------------
    ROM:080D73C4 ; ---------------------------------------------------------------------------
    ROM:080D73C4
    ROM:080D73C4 loc_80D73C4                             ; CODE XREF: Battle_printing+112j
    ROM:080D73C4                 MOVL    R0, 0x8000
    ROM:080D73C8                 AND     R0, R1
    ROM:080D73CA                 CMP     R0, #0
    ROM:080D73CC                 BEQ     loc_80D73E8
    ROM:080D73CE                 MOVL    R0, 0x2000
    ROM:080D73D2                 AND     R1, R0
    ROM:080D73D4                 LDR     R7, =unk_83FD2D9
    ROM:080D73D6                 CMP     R1, #0
    ROM:080D73D8                 BNE     loc_80D73DC
    ROM:080D73DA                 B       loc_80D77DC
    ROM:080D73DC ; ---------------------------------------------------------------------------
    ROM:080D73DC
    ROM:080D73DC loc_80D73DC                             ; CODE XREF: Battle_printing+164j
    ROM:080D73DC                 LDR     R7, =unk_83FD30D
    ROM:080D73DE                 B       loc_80D77DC
    ROM:080D73DE ; ---------------------------------------------------------------------------
    ROM:080D73E0 off_80D73E0     DCD unk_83FD2D9         ; DATA XREF: Battle_printing+160r
    ROM:080D73E4 off_80D73E4     DCD unk_83FD30D         ; DATA XREF: Battle_printing:loc_80D73DCr
    ; ---------------------------------------------------------------------------
    ROM:080D73E8
    ROM:080D73E8 loc_80D73E8                             ; CODE XREF: Battle_printing+158j
    ROM:080D73E8                 MOVL    R0, 0x2000
    ROM:080D73EC                 AND     R0, R1
    ROM:080D73EE                 CMP     R0, #0
    ROM:080D73F0                 BEQ     loc_80D73FC
    ROM:080D73F2                 LDR     R7, =unk_83FD297
    ROM:080D73F4                 B       loc_80D77DC
    ROM:080D73F4 ; ---------------------------------------------------------------------------
    ROM:080D73F6                 DCB    0
    ROM:080D73F7                 DCB    0
    ROM:080D73F8 off_80D73F8     DCD unk_83FD297         ; DATA XREF: Battle_printing+17Er
    ROM:080D73FC ; ---------------------------------------------------------------------------
    ROM:080D73FC
    ROM:080D73FC loc_80D73FC                             ; CODE XREF: Battle_printing+17Cj
    ROM:080D73FC                 MOV     R0, #1
    ROM:080D73FE                 AND     R0, R1
    ROM:080D7400                 CMP     R0, #0
    ROM:080D7402                 BEQ     loc_80D740C
    ROM:080D7404                 LDR     R7, =unk_83FD2BF
    ROM:080D7406                 B       loc_80D77DC
    ROM:080D7406 ; ---------------------------------------------------------------------------
    ROM:080D7408 off_80D7408     DCD unk_83FD2BF         ; DATA XREF: Battle_printing+190r
    This is all the information on it. I am searching for so many things right now, that I can't take this one on for a while. So, if someone cares to give it a try, to see where the values needed to start a double wild battle, maybe then we can have double wild battles available for all.
     

    interdpth

    I've seen things, man.
    275
    Posts
    19
    Years
    • Seen Jun 8, 2021
    I was able to make a double encounter happen.
    I set a break for when the game set the encounter variable(2022B4C) 4 which is a normal battle, I then manually changed it to 1 which meant double battle. I am sstill code searching for when the game would set it to one!

    And it seems very buggy
     

    JPAN

    pokemon rom researcher
    104
    Posts
    15
    Years
    • Seen Jul 2, 2016
    I was able to make a double encounter happen.
    I set a break for when the game set the encounter variable(2022B4C) 4 which is a normal battle, I then manually changed it to 1 which meant double battle. I am sstill code searching for when the game would set it to one!

    And it seems very buggy
    Thanks for the info. I checked it out myself, and found out why this method is so buggy. First of all, about 02022b4c, it's a Battle type flag. Some combinations crash the game immediately, but most are harmless. One in particular crashes the game, probably because it needs something else to work it it.
    Code:
    Bit -> what it does
    0 -> double battle bit
    1 -> crashes, so I dunno
    2 -> normal wild battle one. seems to say not to load the randomize pokemon method, as when called combined with the next flags produces ???????s
    3 -> trainer battle flag
    4 -> dims the screen (prof oak battle). If no string is present to print, crashes
    5 -> seen nothing special yet.
    6 -> puts you to the left, and deletes your first pokemon. Meant to be used with the double battle bit, as a double battle with two different trainers. Not even developed enough to work properly.
    7 -> Starts safari encounter. If you try double battle, you mess up the whole battle.
    Also, there is only one thing wrong with this wild double battle code, and that is because it only generates one wild pokemon, so the game will try and fill that data with the previous pokemon it loaded. So, you allways battle two of the same pokemon, and if one faints the battle ends. But if you load a pokemon at the second wild battle slot manually, the code works great. Except for pokemon captures, as the ball seems to be encoded to only copy the data at the first enemy party slot.
     

    ZodiacDaGreat

    Working on a Mobile System
    429
    Posts
    17
    Years
  • I found the same thing on Ruby ^^ Except that the buffer's were different.

    Code:
    ROM:08120AA8 ; ---------------------------------------------------------------------------
    ROM:08120AA8
    ROM:08120AA8 BattlePrinting
    ROM:08120AA8                 PUSH    {R4-R7,LR}
    ROM:08120AAA                 MOV     R7, R10
    ROM:08120AAC                 MOV     R6, R9
    ROM:08120AAE                 MOV     R5, R8
    ROM:08120AB0                 PUSH    {R5-R7}
    ROM:08120AB2                 LSLS    R0, R0, #0x10
    ROM:08120AB4                 LSRS    R7, R0, #0x10
    ROM:08120AB6                 MOVS    R6, #0
    ROM:08120AB8                 LDR     R5, =0x2039270
    ROM:08120ABA                 LDR     R4, =0x2024A60
    ROM:08120ABC                 LDRB    R1, [R4]
    ROM:08120ABE                 LSLS    R1, R1, #9
    ROM:08120AC0                 LDR     R0, =0x2023A64
    ROM:08120AC2                 ADDS    R1, R1, R0
    ROM:08120AC4                 STR     R1, [R5]
    ROM:08120AC6                 LDR     R2, =0x2024C04
    ROM:08120AC8                 LDRH    R0, [R1,#4]
    ROM:08120ACA                 STRH    R0, [R2]
    ROM:08120ACC                 LDR     R2, =0x2024C06
    ROM:08120ACE                 LDRB    R0, [R1,#6]
    ROM:08120AD0                 STRB    R0, [R2]
    ROM:08120AD2                 LDR     R3, =0x2000000
    ROM:08120AD4                 LDRB    R0, [R1,#7]
    ROM:08120AD6                 MOV     R8, R0
    ROM:08120AD8                 LDR     R2, =0x16003
    ROM:08120ADA                 ADDS    R0, R3, R2
    ROM:08120ADC                 MOV     R2, R8
    ROM:08120ADE                 STRB    R2, [R0]
    ROM:08120AE0                 LDRB    R0, [R1,#8]
    ROM:08120AE2                 MOV     R8, R0
    ROM:08120AE4                 LDR     R2, =0x1605E
    ROM:08120AE6                 ADDS    R0, R3, R2
    ROM:08120AE8                 MOV     R2, R8
    ROM:08120AEA                 STRB    R2, [R0]
    ROM:08120AEC                 LDRB    R0, [R1,#9]
    ROM:08120AEE                 MOV     R8, R0
    ROM:08120AF0                 LDR     R2, =0x160C1
    ROM:08120AF2                 ADDS    R0, R3, R2
    ROM:08120AF4                 MOV     R2, R8
    ROM:08120AF6                 STRB    R2, [R0]
    ROM:08120AF8                 LDR     R2, =0x2024C0B
    ROM:08120AFA                 LDRB    R0, [R1,#0xA]
    ROM:08120AFC                 STRB    R0, [R2]
    ROM:08120AFE                 LDRB    R1, [R1,#0xB]
    ROM:08120B00                 LDR     R2, =0x160A0
    ROM:08120B02                 ADDS    R0, R3, R2
    ROM:08120B04                 STRB    R1, [R0]
    ROM:08120B06                 MOVS    R2, #0
    ROM:08120B08                 MOV     R9, R3
    ROM:08120B0A                 LDR     R3, =0x30041C0
    ROM:08120B0C                 MOV     R10, R3
    ROM:08120B0E                 LDR     R3, =0x203926C
    ROM:08120B10
    ROM:08120B10 loc_8120B10                             ; CODE XREF: ROM:08120B20j
    ROM:08120B10                 ADDS    R0, R2, R3
    ROM:08120B12                 LDR     R1, [R5]
    ROM:08120B14                 ADDS    R1, #0xC
    ROM:08120B16                 ADDS    R1, R1, R2
    ROM:08120B18                 LDRB    R1, [R1]
    ROM:08120B1A                 STRB    R1, [R0]
    ROM:08120B1C                 ADDS    R2, #1
    ROM:08120B1E                 CMP     R2, #3
    ROM:08120B20                 BLE     loc_8120B10
    ROM:08120B22                 MOVS    R2, #0
    ROM:08120B24                 LDR     R0, =0x30041C0
    ROM:08120B26                 MOV     R8, R0
    ROM:08120B28                 LDR     R3, =0x2039270
    ROM:08120B2A                 LDR     R1, =0x3004290
    ROM:08120B2C                 MOV     R12, R1
    ROM:08120B2E                 LDR     R5, =0x30042B0
    ROM:08120B30
    ROM:08120B30 loc_8120B30                             ; CODE XREF: ROM:08120B5Cj
    ROM:08120B30                 MOV     R0, R8
    ROM:08120B32                 ADDS    R1, R2, R0
    ROM:08120B34                 LDR     R0, [R3]
    ROM:08120B36                 ADDS    R0, #0x10
    ROM:08120B38                 ADDS    R0, R0, R2
    ROM:08120B3A                 LDRB    R0, [R0]
    ROM:08120B3C                 STRB    R0, [R1]
    ROM:08120B3E                 MOV     R0, R12
    ROM:08120B40                 ADDS    R1, R2, R0
    ROM:08120B42                 LDR     R0, [R3]
    ROM:08120B44                 ADDS    R0, #0x20
    ROM:08120B46                 ADDS    R0, R0, R2
    ROM:08120B48                 LDRB    R0, [R0]
    ROM:08120B4A                 STRB    R0, [R1]
    ROM:08120B4C                 ADDS    R1, R2, R5
    ROM:08120B4E                 LDR     R0, [R3]
    ROM:08120B50                 ADDS    R0, #0x30
    ROM:08120B52                 ADDS    R0, R0, R2
    ROM:08120B54                 LDRB    R0, [R0]
    ROM:08120B56                 STRB    R0, [R1]
    ROM:08120B58                 ADDS    R2, #1
    ROM:08120B5A                 CMP     R2, #0xF
    ROM:08120B5C                 BLE     loc_8120B30
    ROM:08120B5E                 CMP     R7, #5
    ROM:08120B60                 BLS     loc_8120B64
    ROM:08120B62                 B       loc_8120F50
    ROM:08120B64 ; ---------------------------------------------------------------------------
    ROM:08120B64
    ROM:08120B64 loc_8120B64                             ; CODE XREF: ROM:08120B60j
    ROM:08120B64                 LSLS    R0, R7, #2
    ROM:08120B66                 LDR     R1, =off_8120BB0
    ROM:08120B68                 ADDS    R0, R0, R1
    ROM:08120B6A                 LDR     R0, [R0]
    ROM:08120B6C                 MOV     PC, R0
    ROM:08120B6C ; ---------------------------------------------------------------------------
    ROM:08120B6E                 DCB    0
    ROM:08120B6F                 DCB    0
    ROM:08120B70 dword_8120B70   DCD 0x2039270           ; DATA XREF: ROM:08120AB8r
    ROM:08120B70                                         ; ROM:08120B28r
    ROM:08120B74 dword_8120B74   DCD 0x2024A60           ; DATA XREF: ROM:08120ABAr
    ROM:08120B78 dword_8120B78   DCD 0x2023A64           ; DATA XREF: ROM:08120AC0r
    ROM:08120B7C dword_8120B7C   DCD 0x2024C04           ; DATA XREF: ROM:08120AC6r
    ROM:08120B80 dword_8120B80   DCD 0x2024C06           ; DATA XREF: ROM:08120ACCr
    ROM:08120B84 dword_8120B84   DCD 0x2000000           ; DATA XREF: ROM:08120AD2r
    ROM:08120B88 dword_8120B88   DCD 0x16003             ; DATA XREF: ROM:08120AD8r
    ROM:08120B8C dword_8120B8C   DCD 0x1605E             ; DATA XREF: ROM:08120AE4r
    ROM:08120B90 dword_8120B90   DCD 0x160C1             ; DATA XREF: ROM:08120AF0r
    ROM:08120B94 dword_8120B94   DCD 0x2024C0B           ; DATA XREF: ROM:08120AF8r
    ROM:08120B98 dword_8120B98   DCD 0x160A0             ; DATA XREF: ROM:08120B00r
    ROM:08120B9C dword_8120B9C   DCD 0x30041C0           ; DATA XREF: ROM:08120B0Ar
    ROM:08120B9C                                         ; ROM:08120B24r
    ROM:08120BA0 dword_8120BA0   DCD 0x203926C           ; DATA XREF: ROM:08120B0Er
    ROM:08120BA4 dword_8120BA4   DCD 0x3004290           ; DATA XREF: ROM:08120B2Ar
    ROM:08120BA8 dword_8120BA8   DCD 0x30042B0           ; DATA XREF: ROM:08120B2Er
    ROM:08120BAC off_8120BAC     DCD off_8120BB0         ; DATA XREF: ROM:08120B66r
    ROM:08120BB0 off_8120BB0     DCD loc_8120BC8         ; DATA XREF: ROM:off_8120BACo
    ROM:08120BB4                 DCD unk_8120C40
    ROM:08120BB8                 DCD unk_8120CCC
    ROM:08120BBC                 DCD unk_8120D5C
    ROM:08120BC0                 DCD unk_8120DE8
    ROM:08120BC4                 DCD unk_8120E50
    ROM:08120BC8 ; ---------------------------------------------------------------------------
    ROM:08120BC8
    ROM:08120BC8 loc_8120BC8                             ; DATA XREF: ROM:off_8120BB0o
    ROM:08120BC8                 LDR     R0, =0x20239F8
    ROM:08120BCA                 LDRH    R1, [R0]
    ROM:08120BCC                 MOVS    R0, #8
    ROM:08120BCE                 ANDS    R0, R1
    ROM:08120BD0                 CMP     R0, #0
    ROM:08120BD2                 BEQ     loc_8120C00
    ROM:08120BD4                 MOVS    R0, #2
    ROM:08120BD6                 ANDS    R0, R1
    ROM:08120BD8                 CMP     R0, #0
    ROM:08120BDA                 BEQ     loc_8120BF8
    ROM:08120BDC                 MOVS    R0, #0x40
    ROM:08120BDE                 ANDS    R0, R1
    ROM:08120BE0                 LDR     R6, =unk_84005C7
    ROM:08120BE2                 CMP     R0, #0
    ROM:08120BE4                 BNE     loc_8120BE8
    ROM:08120BE6                 B       loc_8120F70
    ROM:08120BE8 ; ---------------------------------------------------------------------------
    ROM:08120BE8
    ROM:08120BE8 loc_8120BE8                             ; CODE XREF: ROM:08120BE4j
    ROM:08120BE8                 LDR     R6, =unk_84005DB
    ROM:08120BEA                 B       loc_8120F70
    ROM:08120BEA ; ---------------------------------------------------------------------------
    ROM:08120BEC dword_8120BEC   DCD 0x20239F8           ; DATA XREF: ROM:loc_8120BC8r
    ROM:08120BF0 off_8120BF0     DCD unk_84005C7         ; DATA XREF: ROM:08120BE0r
    ROM:08120BF4 off_8120BF4     DCD unk_84005DB         ; DATA XREF: ROM:loc_8120BE8r
    ROM:08120BF8 ; ---------------------------------------------------------------------------
    ROM:08120BF8
    ROM:08120BF8 loc_8120BF8                             ; CODE XREF: ROM:08120BDAj
    ROM:08120BF8                 LDR     R6, =unk_84005AA
    ROM:08120BFA                 B       loc_8120F70
    ROM:08120BFA ; ---------------------------------------------------------------------------
    ROM:08120BFC off_8120BFC     DCD unk_84005AA         ; DATA XREF: ROM:loc_8120BF8r
    ROM:08120C00 ; ---------------------------------------------------------------------------
    ROM:08120C00
    ROM:08120C00 loc_8120C00                             ; CODE XREF: ROM:08120BD2j
    ROM:08120C00                 MOVLS   R0, 0x2000
    ROM:08120C04                 ANDS    R0, R1
    ROM:08120C06                 CMP     R0, #0
    ROM:08120C08                 BEQ     loc_8120C14
    ROM:08120C0A                 LDR     R6, =unk_8400568
    ROM:08120C0C                 B       loc_8120F70
    ROM:08120C0C ; ---------------------------------------------------------------------------
    ROM:08120C0E                 DCB    0
    ROM:08120C0F                 DCB    0
    ROM:08120C10 off_8120C10     DCD unk_8400568         ; DATA XREF: ROM:08120C0Ar
    ROM:08120C14 ; ---------------------------------------------------------------------------
    ROM:08120C14
    ROM:08120C14 loc_8120C14                             ; CODE XREF: ROM:08120C08j
    ROM:08120C14                 MOVS    R0, #1
    ROM:08120C16                 ANDS    R0, R1
    ROM:08120C18                 CMP     R0, #0
    ROM:08120C1A                 BEQ     loc_8120C24
    ROM:08120C1C                 LDR     R6, =DoubleWildBattleText ; Wild [buffer1] and [buffer2] appeared!
    ROM:08120C1E                 B       loc_8120F70
    ROM:08120C1E ; ---------------------------------------------------------------------------
    ROM:08120C20 off_8120C20     DCD DoubleWildBattleText ; DATA XREF: ROM:08120C1Cr
    ROM:08120C24 ; ---------------------------------------------------------------------------
    So, I take it that Nintendo obviously planned Double Wild Battles on GBA but due to some certain *whatever* we never get to see it XD

    Edit: Looks like I have to document my Ruby ROM more :D
     
    Last edited:

    interdpth

    I've seen things, man.
    275
    Posts
    19
    Years
    • Seen Jun 8, 2021
    Can someone merge this to a new thread.
    I want to get something working and stuff :D
     

    sonic1

    ASM is my life now...
    77
    Posts
    15
    Years
  • This discovery is very useful(but buggy)!
    Even buggy,i want to test this kind of battles.

    Is there a way that we can do a double wild battle without putting manualy the values (like a routine or a modifcation in the main battle engine)?

    ~sonic1~
     

    Aro-kun

    Pokemon trainer
    152
    Posts
    15
    Years
    • Age 32
    • Orre
    • Seen Jul 11, 2014
    Is there also a way for double battles to happen with the player only having one pokemon? Without your one pokemon being cloned?
     

    Lance32497

    LanceKoijer of Pokemon_Addicts
    792
    Posts
    9
    Years
  • Hi guys and gals, I tried to look "02022b4c"

    and it seems that the rom doesnt have that offset.....
    what offset is that?
    BTW, I used Firered rom..
    Thanks for your response
     

    Shiny Quagsire

    I'm Still Alive, Elsewhere
    697
    Posts
    14
    Years
  • Hi guys and gals, I tried to look "02022b4c"

    and it seems that the rom doesnt have that offset.....
    what offset is that?
    BTW, I used Firered rom..
    Thanks for your response

    It's a RAM offset, go there in VBA's memory viewer. RAM is modified at run time to store variables and such.
     

    tayyab43

    The Don
    25
    Posts
    8
    Years
    • Age 25
    • Seen Jan 30, 2021
    How much progress have we made on this double battle front, i'm interested, i want to implement this into my new ROM-Hack
     
    3
    Posts
    15
    Years
    • Seen Sep 28, 2019
    This had to be successfully done since Pokemon double Emerald has everything doing double battles, trainers and wild encounters. I'd like to know how this was done. Also is Emerald different from the other games when it comes to double battles, cuz if I recall there was a lot more double battles in that game compared to all the others. I'm not sure if it's simply easier to do that in Emerald or not. I'd like to add it in my game as well, but mine is based off of Fire Red.
     
    Last edited:
    Back
    Top