Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.sys.apple2.programmer > #2017

Re: ProDOS and the random seed RNDL

Newsgroups comp.sys.apple2.programmer
Date 2015-12-23 09:23 -0800
References <dog_cow-1450727254@macgui.com>
Message-ID <2297cc94-d8cc-4313-aff1-866df28a164e@googlegroups.com> (permalink)
Subject Re: ProDOS and the random seed RNDL
From gids.rs@sasktel.net

Show all headers | View raw


On Monday, December 21, 2015 at 1:47:36 PM UTC-6, D Finnigan wrote:
> Since converting the Marina IP source from DOS 3.3 to ProDOS, I've noticed
> that link-local addresses, which were previously randomly generated, were no
> longer random. I took the time to track down this issue yesterday.
> 
> I'm using ProDOS 8 v1.9 on an enhanced (platinum) Apple IIe but I believe
> all versions of ProDOS have this problem.
> 
> I had been using RNDL and RNDH ($4E and $4F) as my random seed. I put
> together this program to test what was happening:
> 
> A5 4E
> 20 DA FD
> A5 4F
> 20 DA FD
> 4C D0 03
> 
> ]BRUN RND
> 0D80
> 
> *8000G
> 958E
> 
> When I saved it as RND and did BRUN from the Applesoft prompt, I always got
> 0D80. But when I ran the program using the Monitor G command, I got changing
> results, which is what I expected. It looked like ProDOS was setting RNDL
> and RNDH to some constant value. Neither the white ProDOS Technical
> Reference Manual nor Gary B. Little's Apple ProDOS book mentioned this
> behavior. Nor could I find any mention of it from searching these
> newsgroups.
> 
> Poking around in the LC RAM area for ProDOS I found this code at $E189:
> 	LDY #1
> 	LDA ($40),y
> 	STA $4E
> 	INY
> 	LDA ($40),Y
> 	STA $4F
> 
> I went back to the ProDOS 8 source in MliSrc.aii and found that it's a part
> of the get_prefix routine:
> 
> getprefx	clc			; calculate how	big a buffer is	needed to 
> 		ldy	#c_path		; get index to users pathname buffer
> 		lda	(par),y
> 		sta	usrbuf
> 		iny
> 		lda	(par),y
> 		sta	usrbuf+1
> 
> So it is seen that RNDL and RNDH are being used as part of a buffer for
> ProDOS.
> 
> My work-around was to insert a call to GETLN ($FD6A) at the beginning of
> Marina in order to reseed the random number.
> 
> Hum-ho.
> 
> -- 
> ]DF$
> The Marina IP stack for Apple II--
> http://marina.a2hq.com/


To get away from the key press, one could use a pseudo-random routine.

One way is to have a list of link-local addresses in non-sequential or manually generated random order but selected sequentially.


I am curious as to what routines are at each of link-local addresses that one could possibly want to be so random after loading or running a new file each time?

Back to comp.sys.apple2.programmer | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

ProDOS and the random seed RNDL D Finnigan <dog_cow@macgui.com> - 2015-12-21 19:45 +0000
  Re: ProDOS and the random seed RNDL awanderin <awanderin@gmail.com> - 2015-12-22 23:38 -0700
    Re: ProDOS and the random seed RNDL D Finnigan <dog_cow@macgui.com> - 2015-12-23 19:39 +0000
  Re: ProDOS and the random seed RNDL gids.rs@sasktel.net - 2015-12-23 09:23 -0800
    Re: ProDOS and the random seed RNDL D Finnigan <dog_cow@macgui.com> - 2015-12-23 19:51 +0000
      Re: ProDOS and the random seed RNDL gids.rs@sasktel.net - 2015-12-23 17:25 -0800
        Re: ProDOS and the random seed RNDL D Finnigan <dog_cow@macgui.com> - 2016-01-04 19:02 +0000

csiph-web