This project is dedicated to the memory of William Morris (aka Frags), who was the main contributor to the bounty but was unable to see the final result.

Monday, June 4, 2012

God Save the Queen

Thank you dear Queen Elizabeth II that Your Majesty has birthday, just like us, puny humans do. Even if it is not on this day yet we got a day off to celebrate in New Zealand too. (Well, logic is not a strong point of human society.)

So, I decided to celebrate Her Majesty's birthday by doing some coding.

The update is a little bit short and not too interesting, just a couple more instructions implemented:
  • Implementation of
    ADDQ.x #imm,Ay,
    ADDA.x #immq,Ay,
    OR.x reg,reg,
    MOVEA.x mem,mem,
    MOVEA.x mem,Ay,
    MOVE.x mem,Dy,
    SWAP instructions.
  • Added support for saving registers to the stack frame temporarily.
  • Fix for SWAP (and other not yet implemented instructions) with one register parameter only: use destination instead of source addressing mode.
  • Added missing object to the configure script for the PowerPC disassembler and moved the header file for it to the includes folder where it belongs.
Funny story, though... I thought I had found a bug in Petunia while I implemented the moving and adding instructions where the target is an address register. Then I realized that address registers are always treated as longword sized, no matter what the size of the operation is.
But I already knew that and implemented it properly in Petunia. I just forgot about it, because it was 11 years ago! :)


  1. So you could say you experienced a "déjà vécu" ;-)

  2. Pretty sure nobody cares.

    1. If you didn't care why bother reading it? :)

    2. Pretty sure a lot of us care. Though it would seem that Mr Anonymous Troll mistakes us for giving a rats about whether he cares.

      Keep it up Àlmos

  3. Its nice there is a progress, but hope we woll get more coding then just on Her Majesty day :-)
    There are many kings days, so many kings you could a bit of coding for each of them (when we include those not in power, but existing)

    1. If you could manage a day off for each of these days then sure, why not. :)

  4. nice posting.. thanks for sharing.

  5. Did you find the "mysterious bug" yet, which prevented your kickfile from booting?
    And are there any tiny benchmarks showing that the JIT will be faster than the intepretive emulation?
    Really good work from now, I appreciate your work.

    1. I had no time to deal with the "mysterious bug", it is still around. As soon as I am finished with the instructions for the mandelbrot test I will try to chase it down again.
      For some benchmarking results wait for the next update. Things are shaping up slowly.