POV-Ray : Newsgroups : povray.beta-test : How to Unexpire POV Ray Beta Server Time
30 Jul 2024 06:26:09 EDT (-0400)
  How to Unexpire POV Ray Beta (Message 11 to 20 of 20)  
<<< Previous 10 Messages Goto Initial 10 Messages
From: Coridon Henshaw
Subject: Re: How to Unexpire POV Ray Beta
Date: 16 Jan 2002 17:05:48
Message: <Xns9198ADEB0D8F9CQ@204.213.191.226>
"Thorsten Froehlich" <tho### [at] trfde> wrote in
news:3c45ecc8@news.povray.org: 

> Oh, I could reproduce it on my Mac!  So it will be fixed in the next
> beta. I had to make the code a bit harder to reverse engineer anyway so
> simple patches like Ron uses for Windows won't work either...

Might I suggest that there are more than enough legitimate bugs that are 
far more worthy of repair than rather than 'repairing' this useful 
workaround just to spite a poster who can't seem to check if a new beta 
versions has been uploaded?

A little perspective would seem to be in order.


Post a reply to this message

From: Thorsten Froehlich
Subject: Re: How to Unexpire POV Ray Beta
Date: 16 Jan 2002 17:11:18
Message: <3c45fa86@news.povray.org>
In article <slr### [at] fwicom> , Ron Parker 
<ron### [at] povrayorg>  wrote:

>> Oh, I could reproduce it on my Mac!  So it will be fixed in the next beta.
>> I had to make the code a bit harder to reverse engineer anyway so simple
>> patches like Ron uses for Windows won't work either...
>
> Good luck. :)

Sharing global data in two (cooperative) threads and a bit of platform
specific C code, plus a RISC processor as target, together with a heavily
optimizing compiler.  This is the "easy" version (PowerPC code, sorry!) of
the not-yet-linked code, with all symbols in plain text:

RTOC, SP - integer registers with special names
cr0 - special condition code "register"

bl - branch and link (subroutine call)
b - branch unconditional
li(s) - load immediate (signed), extended to 32-bit
lwz - load word
lfd - load floating-point double
stw - store word, 32-bit
srwi - shift right word immediate
mfcr - move from condition code register

Order of instruction parameters is destination followed by one or more
sources, store instructions use reverse order.

Tip:  The function is a big while loop and inside a try-catch block.

Hunk: Kind=HUNK_LOCAL_CODE     Align=16  Class=PR
Name=".Mac__ThreadProc"(135)  Size=520
00000000: 7C0802A6  mflr       r0
00000004: BF01FFE0  stmw       r24,-32(SP)
00000008: 83220000  lwz        r25,gThetmPtr(RTOC)
0000000C: 83420000  lwz        r26,gTimeoutFlag(RTOC)
00000010: 83620000  lwz        r27,@doubleBase0(RTOC)
00000014: 83820000  lwz        r28,gMacThreadStopFlag(RTOC)
00000018: 83020000  lwz        r24,Mac__ReceiveHandler__FP9PO...tai(RTOC)
0000001C: 83A20000  lwz        r29,gMacMemoryCache(RTOC)
00000020: 83C20000  lwz        r30,@stringBase0(RTOC)
00000024: 90010008  stw        r0,8(SP)
00000028: 9421FF80  stwu       SP,-128(SP)
0000002C: 7C3F0B78  mr         r31,SP
00000030: 48000001  bl         .povray_init__FPv
00000034: 60000000  nop
00000038: 3C804D69  lis        r4,19817
0000003C: 3CA02A2A  lis        r5,10794
00000040: 7F03C378  mr         r3,r24
00000044: 38847363  addi       r4,r4,29539
00000048: 38A52A2A  addi       r5,r5,10794
0000004C: 48000001  bl         .POVMS_InstallReceiver
00000050: 60000000  nop
00000054: 3C804F75  lis        r4,20341
00000058: 3CA02A2A  lis        r5,10794
0000005C: 7F03C378  mr         r3,r24
00000060: 38847470  addi       r4,r4,29808
00000064: 38A52A2A  addi       r5,r5,10794
00000068: 48000001  bl         .POVMS_InstallReceiver
0000006C: 60000000  nop
00000070: 389E00B0  addi       r4,r30,176
00000074: 38600000  li         r3,0
00000078: 48000001  bl         .Warning__FUiPce
0000007C: 60000000  nop
00000080: 903F0050  stw        SP,80(r31)
00000084: 48000020  b          *+32                    ; $000000A4
00000088: C83B0000  lfd        fp1,0(r27)
0000008C: C01A0000  lfs        fp0,0(r26)
00000090: FC010000  fcmpu      cr0,fp1,fp0
00000094: 7C000026  mfcr       r0
00000098: 54001FFE  extrwi     r0,r0,1,2
0000009C: 68000001  xori       r0,r0,$0001
000000A0: 981C0000  stb        r0,0(r28)
000000A4: 387F0038  addi       r3,r31,56
000000A8: 48000001  bl         .time
000000AC: 60000000  nop
000000B0: 387F0038  addi       r3,r31,56
000000B4: 48000001  bl         .localtime
000000B8: 60000000  nop
000000BC: 90790000  stw        r3,0(r25)
000000C0: 3C004330  lis        r0,17200
000000C4: 3C80000B  lis        r4,11
000000C8: C85B0008  lfd        fp2,8(r27)
000000CC: 80C30014  lwz        r6,20(r3)
000000D0: 38A45D71  addi       r5,r4,23921
000000D4: 901F0054  stw        r0,84(r31)
000000D8: 54A40FFE  srwi       r4,r5,31
000000DC: 3806076C  addi       r0,r6,1900
000000E0: C83B0000  lfd        fp1,0(r27)
000000E4: 90030014  stw        r0,20(r3)
000000E8: 80D90000  lwz        r6,0(r25)
000000EC: 80660010  lwz        r3,16(r6)
000000F0: 38030001  addi       r0,r3,1
000000F4: 90060010  stw        r0,16(r6)
000000F8: 80F90000  lwz        r7,0(r25)
000000FC: 80C7000C  lwz        r6,12(r7)
00000100: 80670014  lwz        r3,20(r7)
00000104: 80070010  lwz        r0,16(r7)
00000108: 1C630174  mulli      r3,r3,372
0000010C: 1C00001F  mulli      r0,r0,31
00000110: 7C003214  add        r0,r0,r6
00000114: 7C030214  add        r0,r3,r0
00000118: 7C03FE70  srawi      r3,r0,31
0000011C: 7C050010  subfc      r0,r5,r0
00000120: 7C032114  adde       r0,r3,r4
00000124: 5400063E  clrlwi     r0,r0,24
00000128: 901F0058  stw        r0,88(r31)
0000012C: C81F0054  lfd        fp0,84(r31)
00000130: EC001028  fsubs      fp0,fp0,fp2
00000134: D01A0000  stfs       fp0,0(r26)
00000138: C01A0000  lfs        fp0,0(r26)
0000013C: FC010000  fcmpu      cr0,fp1,fp0
00000140: 41820014  beq        *+20                    ; $00000154
00000144: 387E00B0  addi       r3,r30,176
00000148: 48000001  bl         .PossibleError__FPce
0000014C: 60000000  nop
00000150: 4800003C  b          *+60                    ; $0000018C
00000154: 48000001  bl         .povray_cooperate__Fv
00000158: 60000000  nop
0000015C: 48000001  bl         .YieldToAnyThread
00000160: 60000000  nop
00000164: 881C0000  lbz        r0,0(r28)
00000168: 28000000  cmplwi     r0,$0000
0000016C: 4182FF1C  beq        *-228                   ; $00000088
00000170: 4800001C  b          *+28                    ; $0000018C
00000174: 387F003C  addi       r3,r31,60
00000178: 48000001  bl         .__end__catch
0000017C: 60000000  nop
00000180: 80010000  lwz        r0,0(SP)
00000184: 803F0050  lwz        SP,80(r31)
00000188: 90010000  stw        r0,0(SP)
0000018C: 3C604D69  lis        r3,19817
00000190: 3C802A2A  lis        r4,10794
00000194: 38637363  addi       r3,r3,29539
00000198: 38842A2A  addi       r4,r4,10794
0000019C: 48000001  bl         .POVMS_RemoveReceiver
000001A0: 60000000  nop
000001A4: 3C604F75  lis        r3,20341
000001A8: 3C802A2A  lis        r4,10794
000001AC: 38637470  addi       r3,r3,29808
000001B0: 38842A2A  addi       r4,r4,10794
000001B4: 48000001  bl         .POVMS_RemoveReceiver
000001B8: 60000000  nop
000001BC: 48000001  bl         .povray_terminate__Fv
000001C0: 60000000  nop
000001C4: 80820000  lwz        r4,gMacCallbackBlock(RTOC)
000001C8: 807D0000  lwz        r3,0(r29)
000001CC: 80840000  lwz        r4,0(r4)
000001D0: 81840064  lwz        r12,100(r4)
000001D4: 48000001  bl         .__ptr_glue
000001D8: 60000000  nop
000001DC: 80820000  lwz        r4,gPOVRayMacThread(RTOC)
000001E0: 38000000  li         r0,0
000001E4: 901D0000  stw        r0,0(r29)
000001E8: 38600000  li         r3,0
000001EC: 981C0000  stb        r0,0(r28)
000001F0: 90040000  stw        r0,0(r4)
000001F4: 801F0088  lwz        r0,136(r31)
000001F8: 80210000  lwz        SP,0(SP)
000001FC: 7C0803A6  mtlr       r0
00000200: BB01FFE0  lmw        r24,-32(SP)
00000204: 4E800020  blr

____________________________________________________
Thorsten Froehlich, Duisburg, Germany
e-mail: tho### [at] trfde

Visit POV-Ray on the web: http://mac.povray.org


Post a reply to this message

From: Thorsten Froehlich
Subject: Re: How to Unexpire POV Ray Beta
Date: 16 Jan 2002 17:19:12
Message: <3c45fc60$1@news.povray.org>
In article <Xns### [at] 204213191226> , che### [at] sympaticoca 
(Coridon Henshaw) wrote:

> Might I suggest that there are more than enough legitimate bugs that are
> far more worthy of repair than rather than 'repairing' this useful
> workaround just to spite a poster who can't seem to check if a new beta
> versions has been uploaded?
>
> A little perspective would seem to be in order.

Actually, the Mac code had a real bug (I knew about for some time) in this
place anyway in that with a trick one could slip through the timeout
unintentionally in _very_ rare, but fully reproducible cases.

    Thorsten

____________________________________________________
Thorsten Froehlich, Duisburg, Germany
e-mail: tho### [at] trfde

Visit POV-Ray on the web: http://mac.povray.org


Post a reply to this message

From: Mitchell Waite
Subject: Re: How to Unexpire POV Ray Beta
Date: 16 Jan 2002 19:34:40
Message: <3c461c20@news.povray.org>
I am very proud of my breakthru and expect to be in the hall of fame now
<wink>.

"Fabien Mosen" <fab### [at] skynetbe> wrote in message
news:3C4### [at] skynetbe...
> Mitchell Waite wrote:
>
> > But here is a way around it.
> > Just set your clock back to Jan 14th, start the program, and reset the
clock
> > to today's date. As long as you don't quit the program that will work.
>
>
> What an amazing discovery.  I would never have thought about
> doing that.  Really.
>
> Fabien.
>


Post a reply to this message

From: Mitchell Waite
Subject: Re: How to Unexpire POV Ray Beta
Date: 16 Jan 2002 19:40:57
Message: <3c461d99@news.povray.org>
Wow I really set off a tempest here. BTW I (Mitch) did check to see if the
beta was up at least 10 times over w days, I asked about it and got no
response, so I finally posted a message tongue in cheek asking if this was
something done to make us low life users suffer. I did not call it a bug and
did not expect to generate so much venom for asking an innocent question. It
was a beta question (where is the beta) and the nuances of bugs vs.
questions about the beta is not extraordinarily clear from the name of this
group. Still I enjoy watching the flames fly on this post, its amazing how
much time people have to waste on my trivial question.


"Coridon Henshaw" <che### [at] sympaticoca> wrote in message
news:Xns### [at] 204213191226...
> "Thorsten Froehlich" <tho### [at] trfde> wrote in
> news:3c45ecc8@news.povray.org:
>
> > Oh, I could reproduce it on my Mac!  So it will be fixed in the next
> > beta. I had to make the code a bit harder to reverse engineer anyway so
> > simple patches like Ron uses for Windows won't work either...
>
> Might I suggest that there are more than enough legitimate bugs that are
> far more worthy of repair than rather than 'repairing' this useful
> workaround just to spite a poster who can't seem to check if a new beta
> versions has been uploaded?
>
> A little perspective would seem to be in order.


Post a reply to this message

From: Rick [Kitty5]
Subject: Re: How to Unexpire POV Ray Beta
Date: 16 Jan 2002 20:51:54
Message: <3c462e3a$2@news.povray.org>
> group. Still I enjoy watching the flames fly on this post, its amazing how
> much time people have to waste on my trivial question.

and now you know why there is a off-topic group for all our trivial opinions
:)


--

Rick

Kitty5 WebDesign - http://Kitty5.com
POV-Ray News & Resources - http://Povray.co.uk
TEL : +44 (01270) 501101 - FAX : +44 (01270) 251105 - ICQ : 15776037

PGP Public Key
http://pgpkeys.mit.edu:11371/pks/lookup?op=get&search=0x231E1CEA


Post a reply to this message

From: Ron Parker
Subject: Re: How to Unexpire POV Ray Beta
Date: 17 Jan 2002 08:43:41
Message: <slrna4dl8f.3et.ron.parker@fwi.com>
On Wed, 16 Jan 2002 23:11:16 +0100, Thorsten Froehlich wrote:
> 00000134: D01A0000  stfs       fp0,0(r26)
> 00000138: C01A0000  lfs        fp0,0(r26)
> 0000013C: FC010000  fcmpu      cr0,fp1,fp0
> 00000140: 41820014  beq        *+20                    ; $00000154

Could we just replace this line with
 
  00000140: 48000014  b          *+20                    ; $00000154

 ?

> 00000144: 387E00B0  addi       r3,r30,176
> 00000148: 48000001  bl         .PossibleError__FPce
> 0000014C: 60000000  nop
> 00000150: 4800003C  b          *+60                    ; $0000018C
> 00000154: 48000001  bl         .povray_cooperate__Fv


-- 
#macro R(L P)sphere{L F}cylinder{L P F}#end#macro P(V)merge{R(z+a z)R(-z a-z)R(a
-z-z-z a+z)torus{1F clipped_by{plane{a 0}}}translate V}#end#macro Z(a F T)merge{
P(z+a)P(z-a)R(-z-z-x a)pigment{rgbt 1}hollow interior{media{emission T}}finish{
reflection.1}}#end Z(-x-x.2y)Z(-x-x.4x)camera{location z*-10rotate x*90}


Post a reply to this message

From: Thorsten Froehlich
Subject: Re: How to Unexpire POV Ray Beta
Date: 17 Jan 2002 10:08:47
Message: <3c46e8ff$1@news.povray.org>
In article <slr### [at] fwicom> , Ron Parker 
<ron### [at] povrayorg>  wrote:

> Could we just replace this line with
>
>   00000140: 48000014  b          *+20                    ; $00000154

Sure, but why would anybody want to disable the "This beta expired"
messsage?  Sure, the loop will be left after that, but can you be really
sure the loop won't exit elsewhere? ;-)

    Thorsten

____________________________________________________
Thorsten Froehlich, Duisburg, Germany
e-mail: tho### [at] trfde

Visit POV-Ray on the web: http://mac.povray.org


Post a reply to this message

From: Ron Parker
Subject: Re: How to Unexpire POV Ray Beta
Date: 17 Jan 2002 10:40:02
Message: <slrna4ds2j.3im.ron.parker@fwi.com>
On Thu, 17 Jan 2002 16:08:46 +0100, Thorsten Froehlich wrote:
> In article <slr### [at] fwicom> , Ron Parker 
><ron### [at] povrayorg>  wrote:
> 
>> Could we just replace this line with
>>
>>   00000140: 48000014  b          *+20                    ; $00000154
> 
> Sure, but why would anybody want to disable the "This beta expired"
> messsage?  Sure, the loop will be left after that, but can you be really
> sure the loop won't exit elsewhere? ;-)

Well, I missed the tip about it being a loop, to be honest.  And I'm not
familiar with some of the PPC and Mac-centric things about that code.  
But this fragment:

00000094: 7C000026  mfcr       r0
00000098: 54001FFE  extrwi     r0,r0,1,2
0000009C: 68000001  xori       r0,r0,$0001
000000A0: 981C0000  stb        r0,0(r28)

looks suspicious.

0000009c: li r0,0

might go a long way toward fixing the problem, but I don't know what 
extrwi does.

(Windows threads fall off the end of the thread function to exit.  Apparently
Mac threads set a flag, or at least this one does.)

--
#macro R(L P)sphere{L __}cylinder{L P __}#end#macro P(_1)union{R(z+_ z)R(-z _-z)
R(_-z*3_+z)torus{1__ clipped_by{plane{_ 0}}}translate z+_1}#end#macro S(_)9-(_1-
_)*(_1-_)#end#macro Z(_1 _ __)union{P(_)P(-_)R(y-z-1_)translate.1*_1-y*8pigment{
rgb<S(7)S(5)S(3)>}}#if(_1)Z(_1-__,_,__)#end#end Z(10x*-2,.2)camera{rotate x*90}


Post a reply to this message

From: Thorsten Froehlich
Subject: Re: How to Unexpire POV Ray Beta
Date: 17 Jan 2002 11:56:26
Message: <3c47023a@news.povray.org>
In article <slr### [at] fwicom> , Ron Parker 
<ron### [at] povrayorg>  wrote:

> might go a long way toward fixing the problem, but I don't know what
> extrwi does.

It is a bit manipulation function (actually, the simple name of a very
complex rotate and mask instruction), that moved the condition code register
(now stored in r0) into a form usable by the xor.  The sequence is part of
optimized code like "a = (b != 0.0)".

And indeed what you suggest gets rid of yet another exit condition, but
after the code already left!  You forgot the note about the (two) cooperate
threads...

> (Windows threads fall off the end of the thread function to exit.  Apparently
> Mac threads set a flag, or at least this one does.)

Mac threads do, too, but it is sitting in a loop calling povray_cooperate,
which is what drives the core code.  Leaving this thread, the core code no
longer runs and cannot accept control messages via POVMS.  As the
povray_cooperate function takes care of the repeated rendering there is no
call to povray_render!

    Thorsten

____________________________________________________
Thorsten Froehlich, Duisburg, Germany
e-mail: tho### [at] trfde

Visit POV-Ray on the web: http://mac.povray.org


Post a reply to this message

<<< Previous 10 Messages Goto Initial 10 Messages

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.