[Coco] CCASM winclude/wincludebin

Roger Taylor operator at coco3.com
Tue Jan 23 14:45:52 EST 2007


Call me crazy, but I'm one of the kind that gets insanely great ideas 
and actually makes them happen sometimes, so here goes...

I think some of us would create new games and software for the CoCo 
if we had a little help in doing the work, so here's yet another 
incentive along with ofcourse, the Rainbow IDE, which lends itself to 
CoCo newbies and pros alike.

You might be faced with the questions one day like "how can I create 
a CoCo game that has graphics and music?", "where do I find out how 
to do this?", "how do I print to the graphics screen?", "what about 
joystick control?", "sound effects?", "are there any fully-working 
game templates that I can hack into my own games?", etc.

I think that if most of the hard work is already done and you could 
easily include this work in your programs for calling, this will give 
you a huge head start and when you see some INSTANT results, and I 
mean INSTANT as in clicking Go! and then when the CoCo pops up on 
your PC, type in LOADM "MYGAME" at the prompt and then EXEC to see it 
run, you will be so thrilled that you might go ahead and start adding 
more to the program and turn it into a nice jewel.

Rainbow uses CCASM automatically if you like for CoCo programming, 
and your source code itself can hold the answer to some of those 
questions above.  There's already CoCo source code available so why 
not use it in the easiest way possible, by including it in your own 
source code from a maintained depot on the web.

CCASM is about to gain two new features. A "winclude" directive for 
including source code sections, and a similar "wincludebin" directive 
for including raw data right into the codestream, from any web 
server.  Let me explain...

	org	3584
	winclude	"http://www.rainbowide.com/source/coco3/lib/gamelibrary.asm"
font1	wincludebin	"http://www.rainbowide.com/source/coco3/fonts/space.fnt"
	align	256
song1	wincludebin	"http://www.rainbowide.com/source/coco3/music/starwars.mus"
	align	256
song2	wincludebin	"http://www.rainbowide.com/source/coco3/music/darth.mus"
title	fcn	"Star Warz"
start	ldx	#640
	ldy	#200
	jsr	VideoBlank
	jsr	SetGraphics
	ldb	#0
	jsr	Cls
	jsr	VideoOn
	lda	#30	x
	ldb	#10	y
	ldx	#title
	jsr	HPrint
	ldx	#song1
	jsr	PlayMusB	4-voice MUSICA file player, in the background
	bra	*
	end	start

Such a limited example but you get the idea which is also what 
Rainbow does... to help people write new games or programs for the 
CoCo.  With a prewritten and maintained CoCo 3 library of routines, 
you can get around some of the problems with writing programs that 
need graphics and music, etc.

The above example could very well build directly into an early game 
model that switches into graphics mode with a black screen and starts 
playing a Star Wars theme in the background while your title is 
displayed.  This is a form of co-development because I could improve 
on my library routines 24/7, fix bugs, etc. with the results carrying 
directly into your latest build of your game or software.

Ofcourse, you could do all of this without the winclude functions if 
you have those library files on your PC, but that's more work you 
want to avoid, right?

Also, I know that I get very little feedback from my CoCo ventures I 
mention here, but rest assured I'm going strong and coming up with 
new ideas that you'll want to see sooner or later if you're a true 
CoCoNut.  Let me know your thoughts.

Cheers, and have a great day.

Roger Taylor




More information about the Coco mailing list