Yu-Gi-Oh! Dungeon Dice Monsters/ROM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
m (Xkeeper moved page Yu-Gi-Oh! Dungeon Dice Monsters:ROM map to Yu-Gi-Oh! Dungeon Dice Monsters/ROM map: normalize subpages and titles)
 
Line 9: Line 9:
  r3 ^ seed1
  r3 ^ seed1
  seed1 = (r3 >> 20) ^ r3
  seed1 = (r3 >> 20) ^ r3
 
  08025D3C B510    push    r4,r14                                  ;
  08025D3C B510    push    r4,r14                                  ;
  08025D3E 4C09    ldr    r4,=30008E0h                            ;r4 points to prn1
  08025D3E 4C09    ldr    r4,=30008E0h                            ;r4 points to prn1

Latest revision as of 21:30, 30 January 2024

Chip tiny.png The following article is a ROM map for Yu-Gi-Oh! Dungeon Dice Monsters.

PRNG

PRNG advance

r3 = (seed2 << 31) | (seed1 >> 1)
seed2 << 1
seed2 += seed1 & 1
seed1 << 12
r3 ^ seed1
seed1 = (r3 >> 20) ^ r3

08025D3C B510     push    r4,r14                                  ;
08025D3E 4C09     ldr     r4,=30008E0h                            ;r4 points to prn1
08025D40 6861     ldr     r1,[r4,4h]                              ;r1 = [prn2]
08025D42 07CB     lsl     r3,r1,1Fh                               ;r3 = r1 << 31
08025D44 6822     ldr     r2,[r4]                                 ;r2 = [prn1]
08025D46 0850     lsr     r0,r2,1h                                ;r0 = r2 >> 1
08025D48 4303     orr     r3,r0                                   ;r3 = r3 | r0
08025D4A 2001     mov     r0,1h                                   ;r0 = 1
08025D4C 4010     and     r0,r2                                   ;r0 = r0 & r2
08025D4E 1808     add     r0,r1,r0                                ;r0 += r1
08025D50 1809     add     r1,r1,r0                                ;r1 += r0
08025D52 6061     str     r1,[r4,4h]                              ;prn2 = r1
08025D54 0312     lsl     r2,r2,0Ch                               ;r2 << 12
08025D56 4053     eor     r3,r2                                   ;r3 = r3 ^ r2
08025D58 0D18     lsr     r0,r3,14h                               ;r0 = r3 >> 20
08025D5A 4058     eor     r0,r3                                   ;r0 = r0 ^ r3
08025D5C 6020     str     r0,[r4]                                 ;prn1 = r0
08025D5E BC10     pop     r4                                      ;
08025D60 BC02     pop     r1                                      ;
08025D62 4708     bx      r1                                      ;