Bouncy Ball 2 Progress report 2

Bouncy Ball 2 this week, we have been experimenting with the GIME, building utilities and playing around with some concept art.


For my part, self emersion in the land of mnemonics and registers has been a lot of bitter and sweet fun. For example, it took me 1.5 hours to produce about 100 lines of code. And it didn’t even work right! After working in C++ and Java so long, it’s hard to get into the right mindset sometimes. So I think I will have to focus on some of the basics. Like replicating for loops, and if/then/else type decision blocks.

To help study what instructions I have available to me on the 6809, I started my own quick reference sheet that is a combination of Sock’s GIME chart, an explanation of the instruction from Leventhal’s 6809 book, and example code to simplify the descriptions. I also have a chart and examples of the various addressing modes, as it’s hard to keep them in my head; and I need to, when I’m looking up cycle times.

For concept art I was playing around with some of the new hazards you will encounter, and a little animation to bring them to life. This hazard is an acid slime pit that will dissolve your ball with a single touch. Best keep your mouse away from the droplets, just in case!

I also started fleshing out After Midnight. A shape editor, written in Java, and named as a nod to a tool we used at Electronic Arts Canada called Late Night. It will be used for cutting up sprite sheets, exporting the images as FCB data to drop into ASM files, mapping colors, and allowing the user to place center points used in animations. More on that once I have a working prototype.

Simon has made some great progress on the hardware scrolling front. Since scrolling is such a huge part of Bouncy Ball, it’s good to see this type of experimentation.

3 thoughts on “Bouncy Ball 2 Progress report 2”

  1. The as6809 assembler annotates the listing with cycle counts. Much easier and less error prone than doing it by hand.

    1. I’ve been meaning to try as6809, as well as as61860 for my sharp pocket computer. Would be good to use the same asXXXXX compiler. You liking it better then lwasm? Is it easy to setup to compile multiple asm files and create libraries? Your suppose to be able to with lwasm, but there isn’t much in the way of explainations/examples of how to in it’s docs. You actually can get cycle counts with lwasm by adding “-p cd”. I use that in my sprite optimization article here:

  2. I haven’t used lwasm; went straight from A09 to as6809 as I was already using as68000 and wanted to use a common set of assemblers for 6502, 6809, Z80 and 68K. Also important for me was the fact that the IDAPro Disassembler can produce ASXXXX source files. It’s lacking in a few minor areas (I would very much like to be able to specify .defines from the command-line when invoking the assembler, for example) but otherwise I’ve been happy with it.

    I used multiple separate ASM files in my earlier projects – that was easy to do – but I’ve been lazy in recent projects and tended to simply .include other files into the main file.

    All my building is done from a standard makefile which also generates the .DSK images (if relevant) for me.

Comments are closed.