Skip to content

Commit 22d271b

Browse files
committed
rng optimization
1 parent 5a390c3 commit 22d271b

File tree

6 files changed

+8
-30
lines changed

6 files changed

+8
-30
lines changed

src/gamemode/levelmenu.asm

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -165,16 +165,14 @@ levelMenuCheckGoBack:
165165
shredSeedAndContinue:
166166
; seed shredder
167167
@chooseRandomHole_player1:
168-
ldx #$17
169-
ldy #$02
168+
ldx #rng_seed
170169
jsr generateNextPseudorandomNumber
171170
lda rng_seed
172171
and #$0F
173172
cmp #$0A
174173
bpl @chooseRandomHole_player1
175174
@chooseRandomHole_player2:
176-
ldx #$17
177-
ldy #$02
175+
ldx #rng_seed
178176
jsr generateNextPseudorandomNumber
179177
lda rng_seed
180178
and #$0F

src/gamemodestate/initstate.asm

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,6 @@ gameModeState_initGameState:
103103
sta currentPiece
104104
jsr incrementPieceStat
105105
ldx #rng_seed
106-
ldy #$02
107106
jsr generateNextPseudorandomNumber
108107
jsr chooseNextTetrimino
109108
sta nextPiece
@@ -269,8 +268,7 @@ L87E7: lda generalCounter
269268
sta vramRow
270269
lda #$09
271270
sta generalCounter3
272-
L87FC: ldx #$17
273-
ldy #$02
271+
L87FC: ldx #rng_seed
274272
jsr generateNextPseudorandomNumber
275273
lda rng_seed
276274
and #$07
@@ -289,8 +287,7 @@ L87FC: ldx #$17
289287
dec generalCounter3
290288
jmp L87FC
291289

292-
L8824: ldx #$17
293-
ldy #$02
290+
L8824: ldx #rng_seed
294291
jsr generateNextPseudorandomNumber
295292
lda rng_seed
296293
and #$0F

src/modes/tspins.asm

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@ advanceGameTSpins_actual:
7070

7171
generateNewTSpin:
7272
ldx #rng_seed
73-
ldy #$2
7473
jsr generateNextPseudorandomNumber
7574
lda rng_seed
7675
tax

src/nmi/nmi.asm

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ nmi: pha
2121
adc frameCounter+1
2222
sta frameCounter+1
2323
ldx #rng_seed
24-
ldy #$02
2524
jsr generateNextPseudorandomNumber
2625
jsr copyCurrentScrollAndCtrlToPPU
2726
jsr pollControllerButtons

src/playstate/spawnnext.asm

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@ pickRandomTetrimino:
6161
bne useNewSpawnID
6262
@invalidIndex:
6363
ldx #rng_seed
64-
ldy #$02
6564
jsr generateNextPseudorandomNumber
6665
lda rng_seed
6766
and #$07
@@ -152,7 +151,6 @@ pickTetriminoSeed:
152151
bne @useNewSpawnID
153152
@invalidIndex:
154153
ldx #set_seed
155-
ldy #$02
156154
jsr generateNextPseudorandomNumber
157155
lda set_seed
158156
and #$07
@@ -174,7 +172,6 @@ pickTetriminoSeed:
174172

175173
setSeedNextRNG:
176174
ldx #set_seed
177-
ldy #$02
178175
jsr generateNextPseudorandomNumber
179176
rts
180177

src/util/core.asm

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -48,19 +48,14 @@ resetScroll:
4848

4949
random10:
5050
ldx #rng_seed
51-
ldy #$02
5251
jsr generateNextPseudorandomNumber
5352
ldx #rng_seed
54-
ldy #$02
5553
jsr generateNextPseudorandomNumber
5654
ldx #rng_seed
57-
ldy #$02
5855
jsr generateNextPseudorandomNumber
5956
ldx #rng_seed
60-
ldy #$02
6157
jsr generateNextPseudorandomNumber
6258
ldx #rng_seed
63-
ldy #$02
6459
jsr generateNextPseudorandomNumber
6560
lda rng_seed
6661
and #$0F
@@ -249,19 +244,12 @@ copyAddrAtReturnAddressToTmp_incrReturnAddrBy2:
249244
;reg x: zeropage addr of seed; reg y: size of seed
250245
generateNextPseudorandomNumber:
251246
lda tmp1,x
247+
eor tmp2,x
252248
and #$02
253-
sta tmp1
254-
lda tmp2,x
255-
and #$02
256-
eor tmp1
257-
clc
258-
beq @updateNextByteInSeed
259-
sec
260-
@updateNextByteInSeed:
249+
lsr
250+
lsr
261251
ror tmp1,x
262-
inx
263-
dey
264-
bne @updateNextByteInSeed
252+
ror tmp2,x
265253
lda #$00
266254
adc oneThirdPRNG
267255
cmp #$03

0 commit comments

Comments
 (0)