Aufgrund dessen, dass diese Methode bisher noch nicht gefallen ist mische ich mich jetzt doch noch mal kurz ein. 
Von meinem DREAM 6800 weiß ich, dass das darauf laufende Betriebssytem einen sehr simplen und dennoch relativ gut funktionierenden Zufallsgenerator in Assembly besitzt. Dieser verwendet laut Beschreibung den beinahe zufälligen Maschinencode im ROM als Quelle für zufällige Zahlen.
Allerdings wird, wenn man mit einem schwarzen Bildschirm anfängt und man ein Programm schreibt welches zufällig ausgewählte Pixel auf dem Bildschirm bemalt, der Bildschirm nach längerer Laufzeit wieder komplett schwarz, das ganze ist also eher Pseudo-Zufällig. Aber immerhin.
Hier die kurze Beschreibung dazu wie dies funktioniert:

Achtung: die hier beschriebene "CXKK"-Instruction ist keine MC6800-Instruction, sondern eine etwas höher-levelige Anweisung für die im Betriebssystem CHIPOS implementierte Sprache "CHIP-8".
Eine, meiner Meinung nach, sehr schöne Implementation einer etwas einfacher zu verstehenden Programmiersprache in nur 1KiB EPROM!
Mehr Infos zum (auch sehr eleganten) Computer und dem darauf laufenden Betriebssystem gibts auf dieser Seite: http://www.mjbauer.biz/DREAM6800.htm
In MC6800 Assembly bin ich leider nicht so gut, aber ich poste trotzdem mal die dafür relevanten Abschnitte aus dem Listing:
RND EQU $000D ; RANDOM BYTE (SEED)
RNDX EQU $002C ; RANDOM POINTER
PIR EQU $0028 ; PSEUDO INST-REG
RANDV: BSR RANDOM ; GET RANDOM BYTE
ANDA PIR+1
BRA PUTVX
;
; RANDOM BYTE GENERATOR
;
RANDOM: LDAA #$C0 ; HIGH-ORDER BYTE OF RNDX =
STAA RNDX ; =MSB OF CHIP8 START ADRS
INC RNDX+1
LDX RNDX ; POINT TO NEXT PROGRAM BYTE
LDAA RND ; GET SEED (LAST VALUE)
ADDA 0,X ; MANGLE IT
EORA $FF,X
STAA RND ; STASH IT
RTS
Display More
(Ich hoffe das ist alles was dafür verantwortlich ist, wenn was unklar ist oder fehlt befindet sich das Listing auch auf der oben genannten Webseite.)
Wie gesagt bin ich in MC6800 Assembly relativ ratlos, aber soweit wie ich das verstehe geht das Programm abhängig vom "Startwert" durch die Daten im EPROM und behandelt diese einfach wie zufällige Zahlenwerte. Danach wird das dann noch ein bisschen durcheinandergeworfen und heraus kommen (fast) zufällige Zahlen.
Einziger Nachteil ist (soweit ich das der Funktionsweise nach deuten würde), dass diese Funktion bei gleichem Startwert auch die gleiche Zahlenfolge liefert, somit also nur zufällige Zahlen vorgetäuscht werden. Kommt natürlich sehr darauf an wofür die Zufallszahlen verwendet werden sollen.
Ich hoffe ich konnte vielleicht ein bisschen helfen oder zumindest eine neue Idee anstubsen... 
Beste Grüße,
Magnus