[no subject]

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


For sin(), that function is called for example with 0x480E in d2, the value=
 that gets written to the command register, which seems to be the 2nd word =
of a=C2=A0 fsin d0,fp0 instruction, but that is only a guess.
The only other hint that i found is:
"The microprocessor unit initiates the FSAVE instruction by reading the
floating-point coprocessor save CIR." in the 68000 manual. That could be $f=
ffa44, but i'm not sure about this.
Would be interesting to figure that out. But i guess it should not be repor=
ted in the _FPU cookie value, if you do that programs might assume that the=
re is a real 6888x and execute FPU instructions.

=20

     Thomas Huth <th.huth@xxxxxx> schrieb am 19:43 Dienstag, 17.Februar 201=
5:
  =20

 Am Tue, 17 Feb 2015 11:33:09 +0000 (UTC)
schrieb Thorsten Otto <halgara@xxxxxxxx>:

> > I have a 68881 in my MegaSTE, for instance.I have a 68881 in my
> > MegaSTE, for instance.=20
> Isn't that a memory mapped FPU, accessed at 0xfffa40?

D'oh, you're right ... and with a memory mapped FPU, you likely can not
have stack frames, can you? So there's likely no way to get the
revision number, I guess...

 Thomas




   
------=_Part_75237_1667056656.1424236264469
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<html><body><div style=3D"color:#000; background-color:#fff; font-family:He=
lveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;fo=
nt-size:16px">&gt; and with a memory mapped FPU, you likely can not<br styl=
e=3D"" class=3D"" clear=3D"none">&gt; have stack frames, can you? So there'=
s likely no way to get the<br style=3D"" class=3D"" clear=3D"none">&gt; rev=
ision number, I guess...<div id=3D"yui_3_16_0_1_1424193875052_15650"><br><s=
pan></span></div><div id=3D"yui_3_16_0_1_1424193875052_35681" dir=3D"ltr"><=
span id=3D"yui_3_16_0_1_1424193875052_35680">From what i understand, you co=
uld theoretically. That FPU is just a normal 68881. I didn't find good docu=
mention how to access the CIR though.&nbsp;</span></div><div id=3D"yui_3_16=
_0_1_1424193875052_35682" dir=3D"ltr"><br><span></span></div><div id=3D"yui=
_3_16_0_1_1424193875052_35683" dir=3D"ltr"><span id=3D"yui_3_16_0_1_1424193=
875052_39283">This is an example how it is done in Pure-C pcfltlib:</span><=
/div><div id=3D"yui_3_16_0_1_1424193875052_39284" dir=3D"ltr"><br><span></s=
pan></div><div id=3D"yui_3_16_0_1_1424193875052_41090" dir=3D"ltr"><span id=
=3D"yui_3_16_0_1_1424193875052_41114">T000008:&nbsp;&nbsp; MOVEQ.L&nbsp;&nb=
sp; #$7F,D0<br style=3D"" class=3D"">T00000A:&nbsp;&nbsp; MOVE.L&nbsp;&nbsp=
;&nbsp; A2,D1<br style=3D"" class=3D"">T00000C:&nbsp;&nbsp; LEA.L&nbsp;&nbs=
p;&nbsp;&nbsp; $FA50.W,A2<br style=3D"" class=3D"">T000010:&nbsp;&nbsp; CMP=
I.W&nbsp;&nbsp;&nbsp; #$0802,-$0010(A2)<br style=3D"" class=3D"">T000016:&n=
bsp;&nbsp; DBEQ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D0,T000010<br style=3D"" clas=
s=3D"">T00001A:&nbsp;&nbsp; MOVE.W&nbsp;&nbsp;&nbsp; D2,-$0006(A2)<br style=
=3D"" class=3D"">T00001E:&nbsp;&nbsp; CMPI.W&nbsp;&nbsp;&nbsp; #$960C,-$001=
0(A2)<br style=3D"" class=3D"">T000024:&nbsp;&nbsp; DBEQ&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp; D0,T00001E<br style=3D"" class=3D"">T000028:&nbsp;&nbsp; MOVE.L=
&nbsp;&nbsp;&nbsp; (A0),(A2)<br style=3D"" class=3D"">T00002A:&nbsp;&nbsp; =
MOVE.L&nbsp;&nbsp;&nbsp; $0002(A0),(A2)<br style=3D"" class=3D"">T00002E:&n=
bsp;&nbsp; MOVE.L&nbsp;&nbsp;&nbsp; $0006(A0),(A2)<br style=3D"" class=3D""=
>T000032:&nbsp;&nbsp; CMPI.W&nbsp;&nbsp;&nbsp; #$0802,-$0010(A2)<br style=
=3D"" class=3D"">T000038:&nbsp;&nbsp; DBEQ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D0=
,T000032<br style=3D"" class=3D"">T00003C:&nbsp;&nbsp; MOVE.W&nbsp;&nbsp;&n=
bsp; #$6800,-$0006(A2)<br style=3D"" class=3D"">T000042:&nbsp;&nbsp; CMPI.W=
&nbsp;&nbsp;&nbsp; #$B20C,-$0010(A2)<br style=3D"" class=3D"">T000048:&nbsp=
;&nbsp; DBEQ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D0,T000042<br style=3D"" class=
=3D"">T00004C:&nbsp;&nbsp; BNE.B&nbsp;&nbsp;&nbsp;&nbsp; T000000<br style=
=3D"" class=3D"">T00004E:&nbsp;&nbsp; MOVE.L&nbsp;&nbsp;&nbsp; (A2),(A1)<br=
 style=3D"" class=3D"">T000050:&nbsp;&nbsp; MOVE.L&nbsp;&nbsp;&nbsp; (A2),$=
0002(A1)<br style=3D"" class=3D"">T000054:&nbsp;&nbsp; MOVE.L&nbsp;&nbsp;&n=
bsp; (A2),$0006(A1)<br style=3D"" class=3D"">T000058:&nbsp;&nbsp; MOVEA.L&n=
bsp;&nbsp; D1,A2<br style=3D"" class=3D"">T00005A:&nbsp;&nbsp; RTS<br style=
=3D"" class=3D""></span></div><div id=3D"yui_3_16_0_1_1424193875052_50041" =
dir=3D"ltr"><br><span id=3D"yui_3_16_0_1_1424193875052_41114"></span></div>=
<div id=3D"yui_3_16_0_1_1424193875052_50042" dir=3D"ltr"><span id=3D"yui_3_=
16_0_1_1424193875052_41114">For sin(), that function is called for example =
with 0x480E in d2, the value that gets written to the command register, whi=
ch seems to be the 2nd word of a&nbsp; fsin d0,fp0 instruction, but that is=
 only a guess.</span></div><div id=3D"yui_3_16_0_1_1424193875052_75225" dir=
=3D"ltr"><br><span id=3D"yui_3_16_0_1_1424193875052_41114"></span></div><di=
v id=3D"yui_3_16_0_1_1424193875052_78778" dir=3D"ltr"><span id=3D"yui_3_16_=
0_1_1424193875052_41114">The only other hint that i found is:</span></div><=
div id=3D"yui_3_16_0_1_1424193875052_78779" dir=3D"ltr"><br><span id=3D"yui=
_3_16_0_1_1424193875052_41114"></span></div><div id=3D"yui_3_16_0_1_1424193=
875052_78788" dir=3D"ltr"><span id=3D"yui_3_16_0_1_1424193875052_41114">"Th=
e microprocessor unit initiates the FSAVE instruction by reading the<br sty=
le=3D"" class=3D"">floating-point coprocessor save CIR." in the 68000 manua=
l. That could be $fffa44, but i'm not sure about this.</span></div><div id=
=3D"yui_3_16_0_1_1424193875052_87771" dir=3D"ltr"><br><span id=3D"yui_3_16_=
0_1_1424193875052_41114"></span></div><div id=3D"yui_3_16_0_1_1424193875052=
_96808" dir=3D"ltr"><span id=3D"yui_3_16_0_1_1424193875052_41114">Would be =
interesting to figure that out. But i guess it should not be reported in th=
e _FPU cookie value, if you do that programs might assume that there is a r=
eal 6888x and execute FPU instructions.</span></div><div dir=3D"ltr"><span =
id=3D"yui_3_16_0_1_1424193875052_41114"><br></span></div><div id=3D"yui_3_1=
6_0_1_1424193875052_82392" dir=3D"ltr"><br><span id=3D"yui_3_16_0_1_1424193=
875052_41114"></span></div><div dir=3D"ltr"><span id=3D"yui_3_16_0_1_142419=
3875052_41114"></span></div> <div class=3D"qtdSeparateBR"><br><br></div><di=
v style=3D"display: block;" class=3D"yahoo_quoted"> <div style=3D"font-fami=
ly: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-se=
rif; font-size: 16px;"> <div style=3D"font-family: HelveticaNeue, Helvetica=
 Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;"> <div=
 dir=3D"ltr"> <font face=3D"Arial" size=3D"2"> Thomas Huth &lt;th.huth@gmx.=
de&gt; schrieb am 19:43 Dienstag, 17.Februar 2015:<br> </font> </div>  <br>=
<br> <div class=3D"y_msg_container">Am Tue, 17 Feb 2015 11:33:09 +0000 (UTC=
)<div class=3D"yqt4732793464" id=3D"yqtfd04498"><br clear=3D"none">schrieb =
Thorsten Otto &lt;<a shape=3D"rect" ymailto=3D"mailto:halgara@xxxxxxxx"; hre=
f=3D"mailto:halgara@xxxxxxxx";>halgara@xxxxxxxx</a>&gt;:<br clear=3D"none"><=
br clear=3D"none">&gt; &gt; I have a 68881 in my MegaSTE, for instance.I ha=
ve a 68881 in my<br clear=3D"none">&gt; &gt; MegaSTE, for instance. <br cle=
ar=3D"none">&gt; Isn't that a memory mapped FPU, accessed at 0xfffa40?</div=
><br clear=3D"none"><br clear=3D"none">D'oh, you're right ... and with a me=
mory mapped FPU, you likely can not<br clear=3D"none">have stack frames, ca=
n you? So there's likely no way to get the<br clear=3D"none">revision numbe=
r, I guess...<br clear=3D"none"><br clear=3D"none"> Thomas<div class=3D"yqt=
4732793464" id=3D"yqtfd13327"><br clear=3D"none"><br clear=3D"none"><br cle=
ar=3D"none"></div><br><br></div>  </div> </div>  </div> </div></body></html=
>
------=_Part_75237_1667056656.1424236264469--



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/