Sunday, August 03, 2008

Squeezing it all in.

Now that things are working better I've started to try and squeeze it all down a little. It's not finished by any means, but I think it's at a reasonable stage where I can start to think about the memory foot print. The inital goal was to have the stub take up around 1k, but I now have it down to under 0.5k which is great news. I'm sure there's going to be more added to it, but its pretty complete for now. As a default setup, I've put the debug variables on the unused bits of the stack ($100 to $138) which is usually free - although since I'll give away the source - you can put it where you like. I only use 5 bytes of zero page $FA-$FF so as along as you avoid these locations, all should be well.

I've made pretty good progress today, and while tracing still isn't finished (still jumps off into the wilds now and then), it's now progressing nicely. I'll fix up JSRs, RTSs, RTIs and branches tomorrow night if I get time, then I can move on to making the dissassembly window nicer along with a user controlable BAR for scrolling the view around, and then start on the symbol table and displaying a proper symbolic dissassembly.


Anonymous said...

I found about you and your productionz via, and I find them very nice and useful, but next year I plan to buy a MAC, do you've any plan to bring your software on the MAC plateform?
It would be cool if we could download all the tools you're using to develop Xeo3 :)

I read many posts on your site, and woaw you know so much!, it very interesting and informative.

keep it up :)

Regards Kamelito

Blog: The life of a Games Programmer
Post: Squeezing it all in.

Mike said...

Mmmmm... not sure. The debugger will work on the mac (I think) via mono, but I'll need to port SNasm over to C# at somepoint. Now thats not as bad as it seems, as you can still use pointers and the like in C#. This means I could probably just port the code directly and it'll work, but it would be better to make a full C# version.

This isn't as bad as it sounds as once I port the basic version, I could just update it in bits.