If you want to poke around in my source and look over my shoulder, I'm working on this simple Coco3 graphics program, practicing in preparation for my next project. Written in lwasm for a CocoPI but adaptable to other platforms.

I'm really glad you are back into the CoCo it is a real boost to our community!

Thanks for sharing your code, it's great for beginner programmers to have real world examples to learn from. Your line assembly code is very cool! I haven't followed how your code works yet but it's nice that I now have a reference if I need it. I was recently just wondering myself how to go about drawing a line from x,y to x1,y1 in assembly now I can steal your code. Of course the unravelled series is a great resource too. But like I said, it's great to see real world examples.

About a year ago when I got back into programming on the CoCo I had looked through a bunch of projects to figure out how the graphics is setup. It was quite a pain. That is also why I've been releasing the source code to my projects too, so others won't have to fight to find this information. You broke down the graphics setup routines nicely explaining what modes you wanted and how to set them up.

A few things you might or might not know about lwasm is that you can use binary notation in your source code. It sometimes helps when you are setting up hardware bits to use binary for the Load instruction for example:

One other feature I really like with lwasm is how you don't always need to create labels to branch/jump to in your code. The use of the "greater than" > and "less than" < signs which point to an exclamation mark in your code. For example:

LDB #30! STA ,X+ * Line starts with exclamation mark (this replaces the need for a label) DECB BNE < * The "less than" sign tells the assembler to branch to the first line it finds above the current line that starts with an exclamation mark.

It's easier then coming up with another label especially if you are doing some small branches.

It is a really nice feature of the assembler, I only found it by looking at some body else's source code and wondered what are those "<" and ">" and "!" for? Then with a little trial and error I figured it out and now I use it all the time.

The user manual for LWASM is pretty hard for me to understand, I think William Astle should be a lawyer as it's very technical, it's kind of like reading a legal contract. I think some examples of how to use it's powerful features would be nice to have if someone is up to the challenge.

Maybe we should have a new section called using LWASM to it's full potential. Just kidding...

I like the idea of heavily documented and detailed graphics/sound examples. This is the sort of stuff that lead me to buy a somewhat overpriced book in search of pretty much the same thing. I haven't started doing coco3 stuff yet but I plan to and everything I can get my hands on for the coco3 will be much appreciated.