Home  
Login
Username:

Password:

Remember me



Lost Password?

Register now!
Sections
Who's Online
77 user(s) are online (59 user(s) are browsing Forums)

Members: 0
Guests: 77

more...
Support us!
Recent OS4 Files
OS4Depot.net





Coding a soft emulation for 68881 ?
Just popping in
Joined:
2011/6/3 12:49
Posts: 178
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











   Report Go to top

Re: Coding a soft emulation for 68881 ?
Supreme Council
Joined:
2006/11/16 19:25
From Sweden
Posts: 3089
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
   Report Go to top





[Advanced Search]


Powered by XOOPS 2.0 © 2001-2016 The XOOPS Project