[ Thread Index |
Date Index
| More lists.tuxfamily.org/hatari-devel Archives
]
- T000008: =C2=A0=C2=A0 MOVEQ.L=C2=A0=C2=A0 #$7F,D0
- T00000a: =C2=A0=C2=A0 MOVE.L=C2=A0=C2=A0=C2=A0 A2,D1
- T00000c: =C2=A0=C2=A0 LEA.L=C2=A0=C2=A0=C2=A0=C2=A0 $FA50.W,A2
- T000010: =C2=A0=C2=A0 CMPI.W=C2=A0=C2=A0=C2=A0 #$0802,-$0010(A2)
- T000016: =C2=A0=C2=A0 DBEQ=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 D0,T000010
- T00001a: =C2=A0=C2=A0 MOVE.W=C2=A0=C2=A0=C2=A0 D2,-$0006(A2)
- T00001e: =C2=A0=C2=A0 CMPI.W=C2=A0=C2=A0=C2=A0 #$960C,-$0010(A2)
- T000024: =C2=A0=C2=A0 DBEQ=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 D0,T00001E
- T000028: =C2=A0=C2=A0 MOVE.L=C2=A0=C2=A0=C2=A0 (A0),(A2)
- T00002a: =C2=A0=C2=A0 MOVE.L=C2=A0=C2=A0=C2=A0 $0002(A0),(A2)
- T00002e: =C2=A0=C2=A0 MOVE.L=C2=A0=C2=A0=C2=A0 $0006(A0),(A2)
- T000032: =C2=A0=C2=A0 CMPI.W=C2=A0=C2=A0=C2=A0 #$0802,-$0010(A2)
- T000038: =C2=A0=C2=A0 DBEQ=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 D0,T000032
- T00003c: =C2=A0=C2=A0 MOVE.W=C2=A0=C2=A0=C2=A0 #$6800,-$0006(A2)
- T000042: =C2=A0=C2=A0 CMPI.W=C2=A0=C2=A0=C2=A0 #$B20C,-$0010(A2)
- T000048: =C2=A0=C2=A0 DBEQ=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 D0,T000042
- T00004c: =C2=A0=C2=A0 BNE.B=C2=A0=C2=A0=C2=A0=C2=A0 T000000
- T00004e: =C2=A0=C2=A0 MOVE.L=C2=A0=C2=A0=C2=A0 (A2),(A1)
- T000050: =C2=A0=C2=A0 MOVE.L=C2=A0=C2=A0=C2=A0 (A2),$0002(A1)
- T000054: =C2=A0=C2=A0 MOVE.L=C2=A0=C2=A0=C2=A0 (A2),$0006(A1)
- T000058: =C2=A0=C2=A0 MOVEA.L=C2=A0=C2=A0 D1,A2
- T00005a: =C2=A0=C2=A0 RTS
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">> and with a memory mapped FPU, you likely can not<br styl=
e=3D"" class=3D"" clear=3D"none">> have stack frames, can you? So there'=
s likely no way to get the<br style=3D"" class=3D"" clear=3D"none">> 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. </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: MOVEQ.L &nb=
sp; #$7F,D0<br style=3D"" class=3D"">T00000A: MOVE.L  =
; A2,D1<br style=3D"" class=3D"">T00000C: LEA.L &nbs=
p; $FA50.W,A2<br style=3D"" class=3D"">T000010: CMP=
I.W #$0802,-$0010(A2)<br style=3D"" class=3D"">T000016:&n=
bsp; DBEQ D0,T000010<br style=3D"" clas=
s=3D"">T00001A: MOVE.W D2,-$0006(A2)<br style=
=3D"" class=3D"">T00001E: CMPI.W #$960C,-$001=
0(A2)<br style=3D"" class=3D"">T000024: DBEQ &=
nbsp; D0,T00001E<br style=3D"" class=3D"">T000028: MOVE.L=
(A0),(A2)<br style=3D"" class=3D"">T00002A: =
MOVE.L $0002(A0),(A2)<br style=3D"" class=3D"">T00002E:&n=
bsp; MOVE.L $0006(A0),(A2)<br style=3D"" class=3D""=
>T000032: CMPI.W #$0802,-$0010(A2)<br style=
=3D"" class=3D"">T000038: DBEQ D0=
,T000032<br style=3D"" class=3D"">T00003C: MOVE.W &n=
bsp; #$6800,-$0006(A2)<br style=3D"" class=3D"">T000042: CMPI.W=
#$B20C,-$0010(A2)<br style=3D"" class=3D"">T000048: =
; DBEQ D0,T000042<br style=3D"" class=
=3D"">T00004C: BNE.B T000000<br style=
=3D"" class=3D"">T00004E: MOVE.L (A2),(A1)<br=
style=3D"" class=3D"">T000050: MOVE.L (A2),$=
0002(A1)<br style=3D"" class=3D"">T000054: MOVE.L &n=
bsp; (A2),$0006(A1)<br style=3D"" class=3D"">T000058: MOVEA.L&n=
bsp; D1,A2<br style=3D"" class=3D"">T00005A: 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 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 <th.huth@gmx.=
de> 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 <<a shape=3D"rect" ymailto=3D"mailto:halgara@xxxxxxxx" hre=
f=3D"mailto:halgara@xxxxxxxx">halgara@xxxxxxxx</a>>:<br clear=3D"none"><=
br clear=3D"none">> > I have a 68881 in my MegaSTE, for instance.I ha=
ve a 68881 in my<br clear=3D"none">> > MegaSTE, for instance. <br cle=
ar=3D"none">> 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--