[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] Shutdown() discussion



>> Thanks for explaining it.  Why can't aranym intercept a pre-existing
>> call? In my mind the emulator
>
> :) Because it's not really pre-existing code. Natfeat shutdown was
> defined almost at the same time as Rodolphe implemented the shutdown
> in the logic of the CT60. At least nobody else than us (Rodolphe,
> Didier and me) knew how to shutdown the CT60 when natfeat shutdown
> was designed.
>
> Because ARAnyM is not a CT60 emulator. So even if someone a CT60
> shutdown emulation in ARAnyM, we would still need some specific code
> in the kernel to detect ARAnyM (in addition of the CT60).

No, the code to detect the CT060 (like all other hardware MiNT detects)
would be enough.

> Because the natfeat shutdown is not specific to ARAnyM, but to any
> emulator implementing natfeats (which is an open interface to use
> advanced features of emulators). So, by implementing it, we add
> support for any emulator using it, without having to add specific
> code to detect each emulator, and without having to implement CT60
> shutdown in every emulator.
>
> Given this, I don't see any good reason not to support natfeat in the
> kernel.

I remember some discussion about this on the Aranym list not so long time
ago. IIRC, I have pointed out, that the natfeat makes direct JSR calls to
ROM, and this is illegal, because in virtualized memory (which MiNT does not
YET feature) you cannot make assumptions on presence of anything outside the
area you have allocated, and despite that it can create problems with memory
protection (which MiNT DOES feature). All this applies of course mainly for
applications, but I guess that it is not good generally to do that.

It was then argued on the list, that it does not matter, because *Aranym*
does not support memory protection and it generally does not hurt real
machines since the natfeat has been designed for emulators.

*However* I see now that natfeat is also to be accepted on real machines,
despite the fact that it does with memory something it should not. As I see
it, it is simply yet another cookie-jar-alike thing with its famous pointers
to global memory. And after two-three years we will hear that memory
virtualization on MiNT is impossible, because of the precious nifty features
offerred by natfeat, which however makes VM no-work.

--
CVV
Konrad M.Kokoszkiewicz, http://draco.atari.org

** Ea natura multitudinis est, aut seruit humiliter, aut superbe dominatur.
** Taka to już natura pospólstwa, albo służalczo się płaszczy,
** albo bezczelnie się panoszy. (T. Liuius XXIV, 25).