[Virtualacorn-list] Enhancing the RISC OS experience
David J. Ruck
druck at druck.org.uk
Sun Oct 19 08:40:23 BST 2008
Vince M Hudd wrote:
> ralph_valmai at ntlworld.com wrote:
>> In message <gemini.k8xmno003hb9t00ss.vince at softrock.co.uk>
>>> In theory, the emulator could provide hooks to allow any DLL (on the
>>> Windows version
>
> [...]
>
>>> such a feature would have either incompatibilities or limited
>>> functionality for people running on native hardware
So? That's called progress, which there has been pitiful little of in
recent years, hence the state we are in.
[snip]
> Having more than one version of a module means incompatibilities would slip
> in, and appear as bugs,
Only if being implemented by complete muppets. People are running RISC
OS apps on a variety of different OS versions, and with a huge variance
of module versions without any problems in the vast majority of cases.
> although I imagine that using GCC (which I don't
> personally use) should mean that the same sources can be used for all
> versions[1], so that might negate the issue.
That's completely irrelevant.
> In some cases, I'm sure there would be a benefit - but for the vast majority
> of modules I'd bet there would actually be very little to gain, and the
> overhead (program calls shell-module, which passes the call to a special
> module that passes it through VA to a DLL on the host, which then does the
> work and passes the return data back through VA to the shell-module to be
> returned to the calling program) would probably outweigh the gain from using
> the host system in this way.
Vince, you've obviously got no knowledge of the VRPC SDK. There is very
little overhead communicating between a RISC OS module and a native code
dll, and the native OS APIs can be called directly from RISC OS.
This feature has been available since before Red Squirrel became Virtual
Acorn/RPC, however very little has been done with it in the 5 years
between the release of the networking code and the video driver (which
I've yet to get working).
> How many modules do anything intensive enough to actually make this
> worthwhile[2] - and how many of /those/ happen to be written in C? (If not
> C, then you have to write a wholly compatible version in a different
> language/environment).
Seeing that the host system is likely to be at least 10x (probably more
than 50x faster for multimedia operations) than emulated RISC OS code ,
there is hell of a lot of things that could benefit from running native
code.
Indeed we should be abandoning emulating obsolete RISC OS hardware
completely and replacing all of the hardware related RISC OS code with
calls to the native OS. That would both greatly simplify and greatly
increase the performance of the emulator.
> [2] In some cases, there might be benefits for the developer to move some of
> their application using this mechanism, but that's not necessarily in a way
> that's good for RISC OS; as soon as any given developer starts moving any of
> his/her output to Windows (or MacOS), then that developer is starting on the
> path of porting his/her software.
The alternative is complete stagnation, which we are very close to
achieving. Is that what you are advocating?
Cheers
---Dave
--
Email: druck at druck.org.uk
Phone: +44-(0)7974 108301
More information about the Virtualacorn-list
mailing list