So after sleeping for about 15 hours yesterday, I decided to get up. I could have slept longer since I have no life. I could sleep all day and all night just waiting to die. But that wouldn't be very exciting. Anyway, once I woke up, I began to work on Chris the Cranberry for the Odyssey2 again. I was trying to get a second track in the game, but with no luck.
Until I tried some idea I had. Why not make all four tracks just one giant data table and put different starting and ending points in there? So that's what I did and I think it works well. So for instance, if the player selects track 2, the beginning piece of data is byte #44 and the program will run until object 1 reaches a value of #0ffh in the table. This method unfortunately means I can only have 240 or so bytes in the table, with only a tiny bit of room for some needed code for the program to read the table. Each "page" (they call it) is only 256 bytes long. But fortunately for me, I can tell the program to make a new page with "align 256". So I put that immediately before my giant value table. I tried the method I used in GoSub 2, but it kept being stubborn and didn't want to work, so I had to use this method.
So my program is now at 1800 or so bytes which means I only have 200 or so bytes left until I run out of room (or bump it to 4k.) But since I've released 9 2k games for the Odyssey2, I figure why do that? It's always such an interesting challenge to keep my Odyssey 2 ideas in 2k. And I still need help trying to make a random track, which is track #5. Also another job is to create tracks 3 and 4. Right now they're blank. I figure if it's so picky about when the pages begin and end, why not just plan ahead - and see if it will compile - sooner?
One disadvantage of sleeping 15 hours though, is that it's 3 a.m. right now and it's boring here.