Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.sys.apple2.programmer > #2015
| From | D Finnigan <dog_cow@macgui.com> |
|---|---|
| Newsgroups | comp.sys.apple2.programmer |
| Subject | ProDOS and the random seed RNDL |
| Date | 2015-12-21 19:45 +0000 |
| Organization | Mac GUI |
| Message-ID | <dog_cow-1450727254@macgui.com> (permalink) |
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/
Back to comp.sys.apple2.programmer | Previous | Next — Next in thread | Find similar
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