Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[WEB] new page about Powerbook 040 and Atari emulation with MagicMac

4 views
Skip to first unread message

Guillaume Tello

unread,
Jul 22, 2010, 9:26:21 AM7/22/10
to
Hello,

Here is a new page about the Powerbook 520c.
I tried MagicMAC on it, you can see photos, snapshots, etc...

http://gtello.pagesperso-orange.fr/pb520c_e.htm

Guillaume.

Götz Hoffart

unread,
Aug 1, 2010, 6:13:41 PM8/1/10
to
Guillaume Tello <houte...@orange.fr> wrote:

> http://gtello.pagesperso-orange.fr/pb520c_e.htm

>"2x256k static RAM, a second level cache?"

I'd say this is the video RAM.

>"frequency/x2/x4 (343S1108), so the processor gets its 50/25MHz."

No 50 MHz. The 040 doesn't use clock doubling for executing units.

>"Sure, on the TT, the MC68882 helps a lot! "

Sure? Really sure? To my knowledge a 68LC040 even when using FPU
emulation is roughly as fast as a 68882.

>"Replace the 68LC040 with a full 68040 to get the FPU instructions."

a) It is really hard to replace a SMD mounted CPU like the 68LC040
without damaging the logic board.
b) Which Atari programs besides benchmark and mandelbrot programs gain a
recognizable speed bump from a FPU? I know only a few like POVRAY. I'd
say that a hint would be nice, that a FPU is not needed for ~90% of all
Atari programs.

Regards
Götz
--
http://www.knubbelmac.de/

Guillaume Tello

unread,
Aug 2, 2010, 2:36:44 AM8/2/10
to
Le 02/08/2010 00:13, Götz Hoffart a écrit :

>> "Sure, on the TT, the MC68882 helps a lot!"
>
> Sure? Really sure? To my knowledge a 68LC040 even when using FPU
> emulation is roughly as fast as a 68882.

For the OpenGL test, I think the TT48MHz + 68882 is faster than a
68LC040 25MHz. (as the FPU is clocked at 48MHz on the TT+CaTTamaran).

> a) It is really hard to replace a SMD mounted CPU like the 68LC040
> without damaging the logic board.

That's what I think too...

> b) Which Atari programs besides benchmark and mandelbrot programs gain a
> recognizable speed bump from a FPU? I know only a few like POVRAY. I'd
> say that a hint would be nice, that a FPU is not needed for ~90% of all
> Atari programs.

Sure, you're right, very few programs actually use the FPU. But... who
knows...!

>
> Regards
> Götz

Guillaume.

Götz Hoffart

unread,
Aug 3, 2010, 11:40:27 AM8/3/10
to
Guillaume Tello <houte...@orange.fr> wrote:

> For the OpenGL test, I think the TT48MHz + 68882 is faster than a 68LC040
> 25MHz. (as the FPU is clocked at 48MHz on the TT+CaTTamaran).

Do you have data for this? Higher FPU clock speed doesn't necessarily
mean it's faster.

Guillaume Tello

unread,
Aug 4, 2010, 6:22:02 AM8/4/10
to
Le 03/08/2010 17:40, Götz Hoffart a écrit :
> Guillaume Tello<houte...@orange.fr> wrote:
>
>> For the OpenGL test, I think the TT48MHz + 68882 is faster than a 68LC040
>> 25MHz. (as the FPU is clocked at 48MHz on the TT+CaTTamaran).
>
> Do you have data for this? Higher FPU clock speed doesn't necessarily
> mean it's faster.

****************First test, arithmetic******************

Sure I have made some tests, the first one is arithmetic
(+,-,/,*,sqrt), I have compiled it with Pure C with 68020 option and, of
course, I don't use the FPU!!!
(source at the end of the mail named TESTREAL)

Arithmetic test (duration in seconds, 32000 iterations):

TT 68030 32MHz 9,39
TT 68030 48MHz 8,12
MagicMAC 68LC040 25MHz 5,01

This is to be compared with the FPU use made in assembler:
(Source at the end of the mail named FPU_TEST in Forth+Assembler)

TT + 68882 32 MHz 0,44
TT + 68882 48 MHz 0,40

Yeepa!!!
So, sure the 68040 is really faster than a 68030, even with a lower
clock it overpasses the 68030! But, it can't compare with the power of a
FPU unit.

***************Second test, scientific functions**********

The second one uses cosins, exponential, etc...
(Source at the end of the mail named TESTRL2)

Scientific test (duration in seconds, 5000 iterations):

TT 68030 32MHz 15,52
TT 68030 48MHz 13,30
MagicMAC 68LC040 25MHz 8,13

This is to be compared with the FPU use made in assembler:
(Source at the end of the mail named FPU_TEST in Forth+Assembler)

TT + 68882 32 MHz 0,40
TT + 68882 48 MHz 0,27

The same, no comparison... the FPU is really a great thing!

Guillaume.


***********TESTREAL*********
With 32000 iterations, results should be close to:
-1 670 603 994,438.... and 396,061 ...

#include "fcntl.h"
#include "stdio.h"
#include "math.h"

main()
{
int i,top;
double a,x;
unsigned char c;
printf("\nNombre d'iterations:");
scanf("%d",&top);
a=10.0;
x=1.0;
for (i=0;i<top;i++)
{
a+=x;
a/=x;
a-=x;
a*=x;
x+=0.0123456789;
a+=sqrt(x);
}
printf("\nResultat:%f %f",a,x);
c=getch();
}

*************TESTRL2*************
with 5000 iterations, results should be
11 549,666.... and 62,728 ....

#include "fcntl.h"
#include "stdio.h"
#include "math.h"

main()
{
int i,top;
double a,x;
unsigned char c;
printf("\nNombre d'iterations:");
scanf("%d",&top);
a=10.0;
x=1.0;
for (i=0;i<top;i++)
{
a+=cos(x)+sin(x)+tan(x)+log(x)+exp(-x);
x+=0.0123456789;
}
printf("\nResultat:%f %f",a,x);
c=getch();
}

************FPU_TEST**************

0 >export "f:\_test.s"

OPT p=68882

text

arithm:
dc.w 437 ; to interface with FORTH
bsr.s init
.lb0:
fadd fp2,fp1 ; a=a+x
fdiv fp2,fp1 ; a=a/x
fsub fp2,fp1 ; a=a-x
fmul fp2,fp1 ; a=a*x
fadd fp4,fp2 ; x=x+0.0123456789
fsqrt fp2,fp3 ; fp3=sqrt(x)
fadd fp3,fp1 ; a=a+sqrt(x)
dbf d0,.lb0
commun:
fmove.d fp1,-(a6) ; return values to FORTH on the stack
fmove.d fp2,-(a6)
rts

autre:
dc.w 437
bsr.s init
.lb0:
fcos fp2,fp3
fadd fp3,fp1 ; a=a+cos(x)
fsin fp2,fp3
fadd fp3,fp1 ; a=a+sin(x)
ftan fp2,fp3
fadd fp3,fp1 ; a=a+tan(x)
flogn fp2,fp3
fadd fp3,fp1 ; a=a+log(x)
fneg fp2,fp3 ; -x
fetox fp3,fp3 ; exp(-x)
fadd fp3,fp1 ; a=a+exp(-x)
fadd fp4,fp2 ; x=x+0.0123456789
dbf d0,.lb0
bra.s commun
rts

init:
move.l (a6)+,d0 ; iterations
subq.l #1,d0 ; for dbf
fmove.d (a6)+,fp4 ; increment 0,0123456789
fmove.d (a6)+,fp1 ; initial a=10
fmove.d (a6)+,fp2 ; initial x=1
rts

data

dc.b "ADD_DEFS"
dc.l arithm,autre,-1
dc.b "arithm",0,"autre",0

end

>comp

0 >exec "f:\assemble\asm.ttp"
"f:\_test.s"

0 >include "f:\_test.prg"

>comp

: go
." test arithmetique: " cr
timer
%f1 %f10 %f0.0123456789
32000 arithm
f. space f.
timer swap - 2/ cr .
cr
." second test: " cr
timer
%f1 %f10 %f0.0123456789
5000 autre
f. space f.
timer swap - 2/ cr .
cr
;

0 new messages