[Coco] BASIC09 - How good is it?

Allen Huffman alsplace at pobox.com
Mon May 13 17:28:14 EDT 2013


On May 13, 2013, at 3:17 PM, Nick Marentes <nickma at optusnet.com.au> wrote:

> Are BASIC09 programs essentially compiled for final execution?
> 
> How does it compare in speed to RS-DOS BASIC?

BASIC09 can run the text/source file, or pack it in to a binary representation of the program that runs outside of BASIC09 using the runb module. It is very fast. My first Sub-Etha Software program, MiniBanners, was an RS-DOS program. After our first 1990 CoCoFEST!, it was clear the market was "OS-9 or nothing" so I went to work porting the program over to B09.

Even with the overhead of running a full OS instead of bare-metal RS-DOS, it was noticeably faster. Some things were limited by OS overhead, such as text output going through the whole SCF I/O subsystem. I cheated in RS-DOS and would turn the text palette black while I drew the screen, then pop it on, giving it the appearance of an assembly program (it was also a packed BASIC program that you would LOADM and execute -- so it really looked like asm). In B09, I think I did something similar.

But raw code, B09 was much faster.

By the way, Nick, you could have direct access to video memory under the VDG driver. Double buffering would be done differently with an OS call to page things in/out and that would be slower, but when I wrote Invaders09, it wrote directly to the screen using assembly language. Had I known this when I was learning B09, I probably would have tried to write some graphical games.

Still, I seem to recall a number of B09 games, including a pretty good PAC-MAN, done just using the OS-9 get/put buffer stuff.

		-- A


More information about the Coco mailing list