Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
111 user(s) are online (61 user(s) are browsing Forums)

Members: 1
Guests: 110

nbache, more...

Headlines

 
  Register To Post  

Coding a soft emulation for 68881 ?
Not too shy to talk
Not too shy to talk


See User information
Hello

I am following a few the forum about Vampire that is fast but dont have (yet) 68881 fpu support for legacy softwares

And I was asking myself "How difficult would it be to code a soft fpu emulation"
(slow but that will allow to run NOW the legacy apps)

I mean something that "trap" the fpu calls to a software
emulation written in C

So it seems there are 2 starting points:

1)Acopro: That dont seems to be complete (?) but contain UAE code for soft fpu

http://aminet.net/package/util/misc/acopro

2)shoebill: a mac emulator that contain a soft fpu implementation supposed to works well enough to run a mac

https://github.com/pruten/shoebill/tree/master/core/SoftFloat

So the question is how to glue all that to the Amiga "traps" system ?

based on this
http://wiki.amigaos.net/wiki/Exec_Tasks
it will need some kind of code like this (example for zero division trap)
http://amigadev.elowar.com/read/ADCD_ ... anual_guide/node0591.html

But this code only trap ONE task so how to apply this patch to the whole OS ?
Also how to glue this TrapCode <-> Fpu emulation code


Many questions... for a trap & fpu domain that I dont know ...

Alain Thellier











Go to top
Re: Coding a soft emulation for 68881 ?
Supreme Council
Supreme Council


See User information
Don't know if you can jam those into it.

I'd probably just trap all the relevant illegal OP's first that runs into stub code for each OP.

And then either start implementing one OP after the other or if it's feasible borrow the OP implementations from those other soft-fpu's. Together with a framework for holding the FPU register values, flags and whatnot.

Vacca foeda. Sum, ergo edo

Mr Bobo Cornwater
Go to top

  Register To Post

 




Currently Active Users Viewing This Thread: 1 ( 0 members and 1 Anonymous Users )




Powered by XOOPS 2.0 © 2001-2023 The XOOPS Project