Bond697

Pokemon Emerald Main RNG Initial Seeding

Nov 29th, 2011
521
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ROM:08000560             @ =============== S U B R O U T I N E =======================================
  2. ROM:08000560
  3. ROM:08000560
  4. ROM:08000560             @ void __fastcall seedRNG__()
  5. ROM:08000560             seedRNG__:
  6. ROM:08000560 10 B5                       PUSH    {R4,LR}         @ this function never runs
  7. ROM:08000562 06 48                       LDR     R0, =0x4000104  @ Timer1Data
  8. ROM:08000564 04 88                       LDRH    R4, [R0]
  9. ROM:08000566 20 1C                       MOVS    R0, R4          @ Timer1Data to r0
  10. ROM:08000568 6F F0 46 F8                 BL      setRNG__        @ set rng state (0x3005D80) to result of timer1
  11. ROM:0800056C 04 49                       LDR     R1, =0x4000106  @ T1CNT
  12. ROM:0800056E 00 20                       MOVS    R0, #0
  13. ROM:08000570 08 80                       STRH    R0, [R1]        @ turn off timer1
  14. ROM:08000572 04 48                       LDR     R0, =0x2020000
  15. ROM:08000574 04 80                       STRH    R4, [R0]        @ store the result of timer1 to 0x2020000
  16. ROM:08000576 10 BC                       POP     {R4}
  17. ROM:08000578 01 BC                       POP     {R0}
  18. ROM:0800057A 00 47                       BX      R0
  19. ROM:0800057A             @ End of function seedRNG__
  20. ROM:0800057A
  21. ROM:0800057A             @ ---------------------------------------------------------------------------
  22. ROM:0800057C 04 01 00 04 dword_800057C:  .long 0x4000104         @ DATA XREF: seedRNG__+2r
  23. ROM:08000580 06 01 00 04 dword_8000580:  .long 0x4000106         @ DATA XREF: seedRNG__+Cr
  24. ROM:08000584 00 00 02 02 dword_8000584:  .long 0x2020000         @ DATA XREF: seedRNG__+12r
  25.  
  26.  
  27. ROM:0806F5F8             @ =============== S U B R O U T I N E =======================================
  28. ROM:0806F5F8
  29. ROM:0806F5F8
  30. ROM:0806F5F8             @ void __fastcall setRNG__(unsigned int T1Dat)
  31. ROM:0806F5F8             setRNG__:                               @ CODE XREF: seedRNG__+8p
  32. ROM:0806F5F8 00 04                       LSLS    R0, R0, #0x10   @ dumb typecasting
  33. ROM:0806F5FA 00 0C                       LSRS    R0, R0, #0x10
  34. ROM:0806F5FC 02 49                       LDR     R1, =0x3005D80  @ rng buffer
  35. ROM:0806F5FE 08 60                       STR     R0, [R1]        @ set rng to T1Dat
  36. ROM:0806F600 02 49                       LDR     R1, =0x20249BC  @ rng frame counter
  37. ROM:0806F602 00 20                       MOVS    R0, #0          @ set counter to 0 to signify starting seed
  38. ROM:0806F604 08 70                       STRB    R0, [R1]
  39. ROM:0806F606 70 47                       BX      LR
  40. ROM:0806F606             @ End of function setRNG__
Advertisement
Comments
  • User was banned
Add Comment
Please, Sign In to add comment