Korg Poly800/EX800 Users group photo

Yahoo Groups archive

Korg Poly800/EX800 Users

Index last updated: 2026-04-28 23:27 UTC

Message

random LFO

2008-09-20 by Atom Smasher

assembler?!?! i should have known.... and i've always considered C a low 
level language...

despite the verbose comments (is all of the code commented that well?) i 
can't follow it. can you give a brief explanation?




On Thu, 18 Sep 2008, korgpolyex800 wrote:

> Here's my pseudo random number generator.
>
> It is by no means very random.
>
> ; my pseudo random number generator - used for the LFO randomiser
> ; returns a random number in A
>
> RANDOMIZE:	push	h ; save HL
> 		lxi	h, M_RANDOM ; point at the previous value (seed)
> 		mov	a, m ; put the seed value into A
> 		cpi	0 ; check for seed equals zero
> 		jnz	RANDOMIZEA ; if seed is zero jump to randomizea
> 		cma ; compliment A
> 		mov	m, a ; put A back into seed
> RANDOMIZEA:	rlc ; rotate left through carry
> 		adi	43 ; add 43 offset
> 		mov	m, a ; save in seed
> 		pop	h ; load HL
> 		ret ; return with pseudo random in A
>
> I would be more than happy for you to suggest something better as long
> as it doesn't add any CPU cycles. :-)


-- 
         ...atom

  ________________________
  http://atom.smasher.org/
  762A 3B98 A3C3 96C9 C6B7 582A B88D 52E4 D9F5 7808
  -------------------------------------------------

 	"It has become appallingly obvious that our
 	 technology has exceeded our humanity."
 		-- Albert Einstein

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.