Discussion:
[WEB] new page about Powerbook 040 and Atari emulation with MagicMac
(too old to reply)
Guillaume Tello
2010-07-22 13:26:21 UTC
Permalink
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
2010-08-01 22:13:41 UTC
Permalink
Post by Guillaume Tello
http://gtello.pagesperso-orange.fr/pb520c_e.htm
"2x256k static RAM, a second level cache?"
I'd say this is the video RAM.
Post by Guillaume Tello
"frequency/x2/x4 (343S1108), so the processor gets its 50/25MHz."
No 50 MHz. The 040 doesn't use clock doubling for executing units.
Post by Guillaume Tello
"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.
Post by Guillaume Tello
"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
2010-08-02 06:36:44 UTC
Permalink
Post by Götz Hoffart
"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).
Post by Götz Hoffart
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...
Post by Götz Hoffart
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...!
Post by Götz Hoffart
Regards
Götz
Guillaume.
Götz Hoffart
2010-08-03 15:40:27 UTC
Permalink
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.

Regards
Götz
--
http://www.knubbelmac.de/
Guillaume Tello
2010-08-04 10:22:02 UTC
Permalink
Post by Götz Hoffart
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
Post by Götz Hoffart
comp
0 >exec "f:\assemble\asm.ttp"
"f:\_test.s"

0 >include "f:\_test.prg"
Post by Götz Hoffart
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
;

Loading...