Sunday, December 16, 2007

XEO3 Lives!

Well I will forgive you for thinking that this project has gone on indefinite hiatus, but it has not been forgotten, when I have had the time (we have had a daughter, now 6 months old, so my "free" time has been limited), I have been moving the project to my new assembler, RKASM.

I am pleased to report that it has all been moved over, and while I would like to do a bit of optimisation (plenty of scope for that), I have it all compiling and back in ship shape.

I've actually had it mostly done for a while now, but I could not get it running on the emulator... turns out I had just one or two bits wrong in the SNA file format

  1. No system variables in the output file... caused interrupts to go haywire
  2. Wrong page value written out for port $7ffd
  3. Wrong interrupt mode value....

Once I had sorted these out it worked like a charm and then I just had a couple of crashes to sort out, just little bugs in the assembler... but these are all sorted.

Now I want to add a few items to the assembler to help with packing all the code in (there is a lot of wasted space at the moment), so I am going to add in sections, like I would use with a linker.. but I am going to omit the linker and just build it into the assembler so it will reorder the sections before saving out.

At that point, I'll fix the 128K code (currently broken) and sort out how I will work with the level data (looking at having everything loaded and not have any loading going on, using a single 128K snapshot).

Once I have that in place I will then be in a position to add content and work on the first level!

I think I'll even put the assembler up as a download for anyone else sad enough wants to use... once I have speeded it all up, shamefully it is taking a full 3s to assemble the code (not very big)... but I know that this is mostly going on tokenising the input stream, as that is painfully slow (and written far too quickly), the good news is that this is easily fixed... I just need to find the time to do so... probably over Christmas sometime.

This page is powered by Blogger. Isn't yours?