Path: csiph.com!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: D Finnigan Newsgroups: comp.sys.apple2.programmer Subject: Re: ProDOS and the random seed RNDL Date: Wed, 23 Dec 2015 19:39:44 -0000 (UTC) Organization: Mac GUI Lines: 45 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Injection-Date: Wed, 23 Dec 2015 19:39:44 -0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="ac9e0e4d7dd3957fb97803ee6801bab8"; logging-data="8987"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18DJHDUq50mA3J40Hxc0TA8" User-Agent: Mac GUI Usenet In-Reply-To: Cancel-Lock: sha1:uRyJ4RCC8yTHp4rqJk351oKKFVU= Xref: csiph.com comp.sys.apple2.programmer:2018 awanderin wrote: > D Finnigan writes: > >> 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 > > > I don't know the internals of Marina, but if you have control of when > ProDOS is called, perhaps Get_Prefix in particular, you could just save > RNDL/H on the stack before issuing the MLI call. Having to call an > interactive routine seems an ugly workaround unless you actually want > some user input. The little test program I made shows that ProDOS sets RNDL and RNDH before control passes to my program. I agree, I don't like the work-around. But many applications that use Marina will probably involve keyboard input at some point. -- ]DF$ The Marina IP stack for Apple II-- http://marina.a2hq.com/