random seed initialization added, tweaked sequence generation
This commit is contained in:
1 parent
103325cc53
commit
de605cd5ee
7 files changed
+119
-9
No files matched your search
@@ -3,7 +3,7 @@
|
||||
// #LAYOUT# * * #IGNORE
|
||||
|
||||
//
|
||||
// A fast random generator, idea from:
|
||||
// A fast pseudorandom generator, modified idea from:
|
||||
// - https://codebase64.org/doku.php?id=base:32bit_galois_lfsr
|
||||
//
|
||||
// Output:
|
||||
@@ -15,8 +15,6 @@
|
||||
|
||||
rnd_generate:
|
||||
|
||||
// Generate new 4-byte random number
|
||||
|
||||
asl RNDX+1
|
||||
rol RNDX+2
|
||||
rol RNDX+3
|
||||
@@ -27,12 +25,15 @@ rnd_generate:
|
||||
lda RNDX+1
|
||||
eor #$B7
|
||||
sta RNDX+1
|
||||
|
||||
lda RNDX+2
|
||||
eor #$1D
|
||||
sta RNDX+2
|
||||
|
||||
lda RNDX+3
|
||||
eor #$C1
|
||||
sta RNDX+3
|
||||
|
||||
lda RNDX+4
|
||||
eor #$04
|
||||
sta RNDX+4
|
||||
@@ -41,23 +42,32 @@ rnd_generate:
|
||||
|
||||
rnd_generate_copy:
|
||||
|
||||
// Copy the number to FAC1, order changed on purpose
|
||||
// Copy the generated number to FAC1, mangle it a little
|
||||
|
||||
lda RNDX+3
|
||||
eor #$62
|
||||
sta FAC1_mantissa+0
|
||||
|
||||
lda RNDX+1
|
||||
eor #$4E
|
||||
sta FAC1_mantissa+1
|
||||
lda RNDX+2
|
||||
sta FAC1_mantissa+2
|
||||
|
||||
lda RNDX+4
|
||||
eor #$97
|
||||
sta FAC1_mantissa+2
|
||||
|
||||
lda RNDX+2
|
||||
sta FAC1_mantissa+3
|
||||
|
||||
|
||||
// FALLTROUGH
|
||||
|
||||
rnd_generate_finalize:
|
||||
|
||||
lda #$00
|
||||
sta FACOV
|
||||
sta FAC1_sign
|
||||
|
||||
lda #$80
|
||||
sta FACOV // just to prevent 0 after normalization
|
||||
sta FAC1_exponent
|
||||
sta RNDX+0 // in case someone tries to use the float directly
|
||||
|
||||
jmp normal_FAC1
|
||||
Reference in new issue
Block a user