Tuesday 8 March 2016

Foreground interest

Not a lot of time to code tonight, but I fixed the location table parsing for foreground objects, added a filter for showing only selected objects, and added the pause functionality.

Some blocks and some spikes added to the mix

Thought I had a bug in my location table parsing for a while; when a dump of the graphic objects table checked against the C version I was stumped until I realised that I hadn't added the sprite update handlers for the new objects, most of which had significant (static) pixel adjustments.

There's enough being rendered now for me to implement and test Z-order rendering and requisite support routines. It's mostly a case of instruction-by-instruction translation of Z80 to 6809. I'm not expecting anything too nasty to crop up in the process. Hopefully I can have it knocked over in a single session, perhaps tomorrow night.

As an experiment I turned off the build option to render every object every frame, and there's a significant difference in rendering performance between rooms that are mostly empty, and rooms that have a few objects. Mostly empty rooms are way too fast, however those with a few objects are a little slower than I'd hoped. There may be other factors at play here; I'll reserve judgement until the rendering routines are complete, but I suspect there's a bit of optimisation that will need to be done.

No comments:

Post a Comment