Generator szumu SID-a to bardzo dobre źródło liczb losowych o rzeczywiście losowym rozkładzie wyników.
Ale faktycznie z odczytem komórki $d41b SID-a będzie problem gdy chce się mieć w programie melodię.
Jako inne źródło liczb losowych można wykorzystać:
$d012 - aktualna pozycja rastra
$d01e - rejestr kolizji sprite - sprite
$d01f - rejestr kolizji sprite - tło
$dc04 - młodszy bajt timera ACIA#1
$dc05 - starszy bajt timera ACIA#1
$dc06 - młodszy bajt timera BCIA#1
$dc07 - starszy bajt timera BCIA#1
$dd04 - młodszy bajt timera ACIA#2
$dd05 - starszy bajt timera ACIA#2
$dd06 - młodszy bajt timera BCIA#2
$dd07 - starszy bajt timera BCIA#2
Ponieważ niektóre z tych komórek mają niejednorodny rozkład wartości (np. $d012 ma dwa razy większe prawdopodobieństwo "wylosowania" wartości z przedziału 0-54niż z przedziału 55-255) celem poprawienia "losowości" należy dodać do siebie wartości otrzymane z kilku powyższych komórek:
Kod: Zaznacz cały
lda $d012
adc $dc04
adc $dc05
adc $dc06
adc $dc07
adc $20 ;ostatnio "wylosowana" wartość
sta $20
READY.
◼