[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [MiNT] Shutdown() discussion
On Fri, 2003-12-12 at 02:41, Odd Skancke wrote:
> > I'll move with some technical details back to ARAnyM or EmuTOS lists
> > since I don't feel like bothering MiNT list readers anymore.
> So, whatcha gonna do?
I'll explain (below).
> Leave constructive discussion and split off the CVS?
> You dont wanna bother us, just because we're trying to keep FreeMiNT
> as clean as possible?
> If not, fix ARAnyM, NOT FreeMINT
Actually ARAnyM is OK. And FreeMiNT is OK as well.
Let me explain the way NatFeats were developed.
First, we decided to use illegal opcodes to invoke certain functions.
This was OK.
Then, we decided to make it easier for users of NF - instead of setting
up an illegal insn vector and checking if this platform handles the
particular insn or not etc. they just checked if __NF cookie is
available and if yes they knew the NF were available. This was OK as
At this point NF could have been used on all emulators and also on real
(new) hardware. Even current hardware could emulate NF by catching the
illegal insn exc.
But then some guys thought it wasn't general enough and wanted to make
it even more general and even more flexible. So they decided to add
pointers to the NF cookie so that some platforms could offer NF based on
completely different base (say HW I/O) and the NF applications
(drivers/libraries/programs) would still be OK since NF cookie pointers
would be the only way to call the NF.
And this was sick.
Actually it worked OK in TOS and as it followed good examples of say
XHDI it looked OK. But the discussion here made it clear that cookie
pointers is NOT the way to go.
So what I am going to do is to propose (in ARAnyM/EmuTOS list) a step
back - to deprecate the NF cookie pointers and to use the illegal
instructions as the only and direct method of invoking the NF.
That way we don't need any support from the MiNT kernel which hopefully
makes everyone happy.
BTW, I hope you now finally understand that NF was never ARAnyM specific
and that we meant it as a general interface usable even on non
emulators. We spent lot of time discussing it and it turned against us.
Too much generalization and flexibility almost killed the whole idea.
Well, I still think that the NF is a neat extension and that it would
work for everybody if you weren't so convinced that it's emulator
specific and that it bloats the kernel. But I don't have time to keep
explaining and arguing. Everybody can read the NF proposal (link was
posted yesterday) and make his opinion by himself. Further NF related
discussion (perhaps leading to improving the NF spec) can be hosted by
ARAnyM or EmuTOS lists (the key NF people read both lists so it doesn't
matter which one).