[Coco] Devastated. Long term OVCC project falls short

John E. Malmberg wb8tyw at qsl.net
Thu May 7 09:37:23 EDT 2020


On 5/4/2020 11:25 PM, Walter Zambotti wrote:
> Hi John Malmberg
> 
> Thanks for the long reply. Much appreciated. Nice read.
> 
> However I feel you might have the problem the wrong way around.
> 
> The problem wasn't how well the C compiler was optimizer optimizing on 
> the contrary it was my assembly was not as efficient as the code 
> produced by the compiler optimzer.

Ok, I thought I saw you state that the assembly code was 25% faster than 
the compiler code.  That is what I was going by.

I eventually want to start using / hacking OVCC, just a little short on 
time at the moment to really get into it.

Does OVCC have any accelerators or para-virtualization hooks built in to it?

An accelerator (Usually optional) is when an emulator detects a known 
code sequence and replaces it with its own subroutine.

One of the biggest uses of an accelerator is to detect the idle loops or 
polling loops in programs that are run in it, so that it does not put 
the emulator host in a CPU loop.

A accelerator can also be used to simulate all or some of the COCO ROMs, 
such as providing a minimal environment with out ROMS that could boot 
flex-09 or os-9/nitros-o9.

A para-virtualization hook is code that allows adding drivers, etc., to 
an operating system to allow it to run native code in the emulator 
instead of emulated code.

Para-virtualization can also provide replacement for idle loops and 
polling, and can be more efficient than having the emulator try to 
detect that.

The other item on my whish-list for emulators is to be able to use 
libvirt to configure them, at least on Linux.

Libvirt is also available for Windows, but the last report I read stated 
that some features where not available due to library licensing conflicts.

Libvirt is a cross platform standard GUI, CLI, and networked management 
interface that can be used standalone or by many standard system 
management tools.

On Linux this makes it so that the emulator can be run in an LXD 
container that consist of just he emulator image and some support files. 
  This is a feature unique to LXD that is ideal for emulator deployment 
on Linux.

Regards,
-John



More information about the Coco mailing list