Adriano Camargo Rodrigues da Cunha wrote:
>As we said many times... Marat Fayzullin is fudeba.

You're a bit of a fudeba yourself, I recieved that message 4 times! :/

Manuel Bilderbeek wrote:
>THanks!!

^___^

>Let's see what 0.6 does compared to 0.5. :-)

Hehe, not much ^^; Although the new hardware sprite renderer is okay for 
playing Tetris :)

> >IN YOUR FACE! :)
>
>Har har! If he didn't get it yet, I forwarded this to him. :-)

You naughty boy ;)
Well at least now I'm sure he knows of GEM's existance. Sometimes I wonder 
what he feels like after seeing GEM and remembering his words ;)

>Will you now go for another platform, since you say it is the last GEM 
>*for MSX2/turboR*?

You're very observant aren't you?

<LONG ANSWER>
Like I wrote before, all my efforts to get more speed into GEM with a MSX2 
or turboR have failed. I tried allowing the Z80 to execute gameboy 
instructions directly, as follows:
1. A PC program followed the game's program code as far as possible, thus 
seperating code from data.
2. The program then analyzed all opcodes found for Z80 compatibility, 
skipping memory read/write instructions (they HAVE to be emulated)
3. this data was used to create a gameboy romimage with double it's normal 
size. The first half would have an illegal opcode on the start of a series 
of compatible instructions. The second half would have a RST18 instruction 
at the end of each series of instructions.
4. GEM would encounter the illegal opcode, and switch to the second half. 
It would start executing at the current address, which contains a normal 
instruction in the 2nd half. Then, when GEM encountered the RST18, it would 
switch back to the first half and start interpreting opcodes normally.

But, this approach failed. I tested several 32kB games, and with some the 
program scanned 30% of the ROM. That's about 10kB of code. I would guess 
the rest of the ROM (22kB) would be data (graphics, music, whatever).
However, there was NO noticable speed-up! :(

I'm 100% certain the technique sped up SOMETHING, it just skipped the 
actual game! (Maybe it was behind a jump-table, or something else not 
scannable) I was not about to include such a feature just for faster 
initialization routines or faster title screens!

For me, this was the last possible solution. Those who are familiar with 
the term 'Dynamic Recompilation' will know what another solution could be. 
But they will also understand it's close to impossible to achieve on MSX, 
with its limited memory.

So I was left with a slow, but capable emulator. It's possible to extend 
its functionality more, raising compatibility etc. But, it will remain this 
slow (or even slower). So I asked people if they REALLY played games on 
GEM, and nobody answered "Yes, I'm playing Zelda" or something like that.

GEM had already proven it was possible to emulate Gameboy on MSX. If nobody 
uses it to play the games, there is no use in developing it further.
</LONG ANSWER>

I won't keep GEM's future a secret. Next week, a special parcel will arrive 
at my house. It will contain a certain Spanish hardware, the LPE-Z380 ^____^
I've already started reprogramming GEM for Z380, and IF I succeed, I will 
show GEM380 on April 21th 2001 at the International MSX Fair in Tilburg 
(Netherlands)! (If that isn't a good reason to come, I don't know what is ^_^)

GEM is dead, long live GEM!

    Patriek


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

Reply via email to