Nouvelle version. Vous pouvez la télechager sur
http://www.boogersoft.com/projects/tigb comme d'hab.
Cette version ne présente pas de changements importants en ce qui concerne l'émulateur, mais elle ajoute support pour du code récompilé, comme j'en ai déjà parlé tt à l'heure. Pour ceux qui veulent tester le récompilateur j'ai ajouté une section très détaillée au readme (2.3 - Recompiler) qui explique comment s'en servir. Si qq chose n'est pas claire (l'anglais, c'est ahhhhhh) je suis prêt à répondre vos questions.
Voilà le changelog:
03/14/2003 - v0.5.0
This version adds support for statically recompiled code. This should become a
dynamic recompiler somewhere in the future, but for now it is only intended for
developpers. The mechanism for stating executed code is also different (much
more accurate). Please check the readme for information on how to recompile code
for your favorite game.
- Rewrote the call stat feature so that instead of stating function calls it
stats instruction executions. This requires *huge* amounts of RAM, but gives a
much better idea of what would be good to recompile.
- Optimized 'ld A,($FF00+C)' inst (-8 cycles).
- Made all invalid opcodes have the same handler (-160 bytes).
- Dasm.asm was being compiled even with debug disabled. I fixed that so now the
emu takes 6162 bytes less when debug is disabled. As a consequence Hexlib is
also no longer needed when debug is disabled, wich saves another 981 bytes.
- Some optimizations to the flag altering/setting macros.
- Optimized copying the Z80 C flag to the 68K X flag (-32 to -38 cycles in insts
'rl (hl)', 'rl r8', 'rla', 'rr (hl)', 'rr r8' and 'rra', -14 to -20 cycles in
insts 'adc (hl)', 'adc r8', 'adc v8', 'sbc (hl)', 'sbc r8' and 'sbc v8', and
-468 bytes in the tigb binary).
- Optimized 'pop r16' (-6 cycles).
- Merged all audio-related io register handler into one (-40 bytes).
- Rewrote the HW2 ROM copy routine as a loop, thus saving 3116 bytes at the cost
of a 4% slowdown (3090 cycles). What a deal.
- Rewrote the HW1 ROM copy routine to use bigger loops (= less dbras), wich is
now 41% faster (-35840 cycles) at the cost of a 16 byte larger binary. Another
great deal.
- Optimized macro SetSHfr (-6 cycles average, -140 bytes).
- Now the default compile options are debug disabled (wich suppresses the need
for hexlib and considerably reduces the binary size), and a frameskip of 2
(I got tired of people saying 'that thing is damn slow' :^P ).