mirror of
https://github.com/pret/pokered.git
synced 2024-10-23 06:58:24 +00:00
Add random number generation functions.
hg-commit-id: e7d865799d77
This commit is contained in:
parent
0152e33909
commit
c44b52577b
2 changed files with 36 additions and 4 deletions
|
@ -112,7 +112,11 @@ W_ENEMYMON5MOVE3 EQU $D95E
|
||||||
|
|
||||||
W_ENEMYMON6MOVE3 EQU $D98A
|
W_ENEMYMON6MOVE3 EQU $D98A
|
||||||
|
|
||||||
|
H_RAND1 EQU $FFD3
|
||||||
|
H_RAND2 EQU $FFD4
|
||||||
|
|
||||||
; hardware registers, from the pandocs http://nocash.emubase.de/pandocs.htm
|
; hardware registers, from the pandocs http://nocash.emubase.de/pandocs.htm
|
||||||
|
rDIV EQU $FF04
|
||||||
rBGP EQU $FF47
|
rBGP EQU $FF47
|
||||||
rOBP0 EQU $FF48
|
rOBP0 EQU $FF48
|
||||||
rOBP1 EQU $FF49
|
rOBP1 EQU $FF49
|
||||||
|
|
36
pokered.asm
36
pokered.asm
|
@ -1121,7 +1121,21 @@ Delay3: ; 3DD7
|
||||||
ld c,3
|
ld c,3
|
||||||
jp DelayFrames
|
jp DelayFrames
|
||||||
|
|
||||||
INCBIN "baserom.gbc",$3DDC,$3E6D - $3DDC
|
INCBIN "baserom.gbc",$3DDC,$3E5C - $3DDC
|
||||||
|
|
||||||
|
GenRandom: ; 3E5C
|
||||||
|
; store a random 8-bit value in a
|
||||||
|
push hl
|
||||||
|
push de
|
||||||
|
push bc
|
||||||
|
ld b,BANK(GenRandom_)
|
||||||
|
ld hl,GenRandom_
|
||||||
|
call Bankswitch
|
||||||
|
ld a,[H_RAND1]
|
||||||
|
pop bc
|
||||||
|
pop de
|
||||||
|
pop hl
|
||||||
|
ret
|
||||||
|
|
||||||
Predef: ; 3E6D
|
Predef: ; 3E6D
|
||||||
; runs a predefined ASM command, where the command ID is read from $D0B7
|
; runs a predefined ASM command, where the command ID is read from $D0B7
|
||||||
|
@ -3558,7 +3572,7 @@ GoodRodCode: ; 6259
|
||||||
call $62B4
|
call $62B4
|
||||||
jp c,$6581
|
jp c,$6581
|
||||||
Next625F:
|
Next625F:
|
||||||
call $3E5C
|
call GenRandom
|
||||||
srl a
|
srl a
|
||||||
jr c,Next6278
|
jr c,Next6278
|
||||||
and 3
|
and 3
|
||||||
|
@ -3729,7 +3743,21 @@ ShrinkPic1:
|
||||||
ShrinkPic2:
|
ShrinkPic2:
|
||||||
INCBIN "pic/trainer/shrink2.pic"
|
INCBIN "pic/trainer/shrink2.pic"
|
||||||
|
|
||||||
INCBIN "baserom.gbc",$13074,$13AA0-$13074
|
INCBIN "baserom.gbc",$13074,$13A8F-$13074
|
||||||
|
|
||||||
|
GenRandom_: ; 7A8F
|
||||||
|
; generate a random 16-bit integer and store it at $FFD3,$FFD4
|
||||||
|
ld a,[rDIV]
|
||||||
|
ld b,a
|
||||||
|
ld a,[H_RAND1]
|
||||||
|
adc b
|
||||||
|
ld [H_RAND1],a
|
||||||
|
ld a,[rDIV]
|
||||||
|
ld b,a
|
||||||
|
ld a,[H_RAND2]
|
||||||
|
sbc b
|
||||||
|
ld [H_RAND2],a
|
||||||
|
ret
|
||||||
|
|
||||||
SECTION "bank5",DATA,BANK[$5]
|
SECTION "bank5",DATA,BANK[$5]
|
||||||
INCBIN "baserom.gbc",$14000,$4000
|
INCBIN "baserom.gbc",$14000,$4000
|
||||||
|
@ -5635,7 +5663,7 @@ TrainerAI: ; 652E
|
||||||
ld a,[hli]
|
ld a,[hli]
|
||||||
ld h,[hl]
|
ld h,[hl]
|
||||||
ld l,a
|
ld l,a
|
||||||
call $3E5C
|
call GenRandom
|
||||||
jp [hl]
|
jp [hl]
|
||||||
|
|
||||||
TrainerAIPointers: ; 655C
|
TrainerAIPointers: ; 655C
|
||||||
|
|
Loading…
Reference in a new issue