![]() |
![]() |
![]() |
![]() |
![]() |
Make "quake.elf" work.
Posted on 2005-11-05 00:00:00 |
Lots of bug fixing today.
Fixed a bug in LDL and SDR. LDL is using a 64-bits shift routine which was broken because of the emission of a "xor eax, edx" instruction instead of "xor eax, eax". SDR was using the same tables as SDL for some reason. I was probably not paying a lot of attention when I implemented these instructions. Implemented instruction BC1TL. Fixed a bug in C.EQ.S and C.LT.S instructions. First of all those weren't compiled to use the right comparaison instruction in x86 language. Unsigned jumps need to be used when moving the condition code register from the FPU to the main CPU and I was using signed ones. The order of the operands was also reversed. Implemented instruction BC1FL. The game now seems to be able to load, but it's still screwy. There's still some missing instructions that I'll need to implement. |