M.J. Bethlehem wrote:
>A technique similar to dynamic recompilation is also used in Transmeta's
>Crusoe chips, where it is called CodeMorphing(tm).

Yes. With the difference that is only purely has to emulate the x86 CPU. In 
the case of an emulator like GEM, not only the CPU must be emulated. Also 
RAM, ROM, I/O, video, sound etc...

Where the Crusoe can just communicate with the system RAM and I/O directly, 
in GEM every memory access must be examined to see if it's in RAM, ROM (if 
so which segment), memory-mapped I/O, VRAM, SpriteRAM or CPU-internal RAM.

>The thing that is very surprising is that, though not as fast as the 
>"real" CPU doing the job, it allows programs to run at almost the speed 
>that it would run on a "real" CPU.

Because of the above, a full-system emulator has a much harder time than a 
piece of hardware like the Crusoe.

>Unfortunately I have neither a Gameboy, nor an MSX with enough memory
>to test your product.

You can use an MSX emulator ofcourse. In fact, GEM is developed on PC using 
BrMSX and tniASM.

>Are you intending to release the source code of your product? It would 
>enable many developers of free software to use your knowledge for the 
>common good.

I currently have no plans to release the source code. If by 'developers of 
free software' you mean PC-people, they will be better of reading the 
several documents on Dynamic Recompilation on the 'net.

>Furthermore, the best and fastest way to do dynamic recompilation is
>either in assembly or a programming language that allows for very fast
>code generation, such as C or Pascal.

As you may have read, GEM is programmed in 100% assembly.


Greetz,
         Patriek

--
For info, see http://www.stack.nl/~wynke/MSX/listinfo.html

Reply via email to