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.

Tuesday, February 21, 2012

A year later...

Sooo... Here we are. *nervous giggle* The year just passed and probably you have guessed already that the project is not finished yet.

But worry not: things are moving forward (or rather crawling slowly). Well, this is the fate of the hobby projects, I guess.

About the recent state:
The environment for the compiling and the callback mechanism for the interpretive instruction emulation is close to be ready. Unfortunately, there is some glitch in the cache handling mechanism that prevents Kickstart from running under JIT compiled emulation. I have spent lot of time to find out why it is not working, but I was not able to find the issue yet.
On the other side: my Kickstart replacement test codes are working properly, so it is most likely just matter of time.
The addressing modes and the instructions are not finished yet, that won't take a very long time hopefully.

But let's not show up on the birthday party empty-handed: I have created a public SourceForge project, so now you can get the source code from there and try compiling it, if you didn't have anything better to do. (I mean: really nothing better at all. Like combing the cat, folding paper unicorns or develop an iPhone application.)
I left out the half-baked instruction emulation code for now, so this published version is for compiling callback code to the interpretive emulation functions only. Let me know if you found why the cache handling is not working... ;)

You can find the SourceForge project here:

From now on, as soon as something is mostly ready then I am going to commit it into the Subversion repository. Later on, the AmigaOS4 binaries will be uploaded to the project site (or binaries for other OSes if volunteers do the compiling).

Thank you for your patience...

Before I forgot, you need to change three things in your UAE config:
  • change the processor type to 68020: cpu_type=68020
  • specify some code cache size for the compiling (in MB): cachesize=8192
  • turn off constant jump direct compiling: comp_constjump=no

6 comments:

  1. Thanks for the update. I'll be having a look at the changes soon, so I can figure out how to merge it into the sources I use, or vice versa.

    ReplyDelete
    Replies
    1. Is this source supposed to work at all? I compiled it (albeit with some mods, but nothing that should break it) but the red LED flashes and it goes into a reset loop. I've stripped the config file of everything but memory, cachesize, rom and cpu type (and comp_constjump=no).

      I suppose it's possible that I broke it when fiddling. Works OK with JIT turned off.

      The post suggests that there's some very basic crude JIT that I should be able to test.

      Delete
  2. As I wrote in the post: the kickstart is not working due to a cache handling problem. The emulation ends up in a reset loop becaus of this bug, exactly what you experieced. I will publish some test codes that are working with it, so you can see it running at least.

    ReplyDelete
    Replies
    1. Ahh, I took "I left out the half-baked instruction emulation code for now" as meaning that the code that didn't work, was removed/disabled in what you've published, and what was left was something that works, though poorly.

      Looking forward to grabbing the test codes.

      Delete
    2. I hope good progress is being made on this project. I will donate from next retirement check, or sooner. This is an important project (at least I think it is important to OS4.x, MorphOS, and AROS PPC users).

      Delete