[Coco] CMOC 0.1.53 is out

Pierre Sarrazin sarrazip at sarrazip.com
Thu Sep 20 22:05:56 EDT 2018

Hi folks,

I have just published version 0.1.53 of CMOC, a 6809-targeting
cross-compiler for a large subset of the C language. Here are the
recent developments.

Aside from a few bug fixes, I have added functions pmode() and screen()
to CMOC's "standard" library, to simplify the transition from Basic.

Also to that end, I have published the "bgraph" library, which offers
a function that acts like most of Basic's DRAW command and another
function that is similar to PAINT.  The "Drawer" object can be used
the following way, for example in PMODE 4 graphics:

    pmode(4, 0x0E00);  /* PMODE 4 in the default 6k buffer */
    pcls(0);  /* clear screen with byte 0 */
    screen(1, 1);
    Drawer drawer;
    Drawer_initForPMODE(&drawer, 0x0E00, 4);
    Drawer_draw(&drawer, "U20R35D20L35");

The Drawer structure can be used in all five PMODEs.  I have also made
it work with the HSCREEN 2 mode on the CoCo 3 as well as with the 64x64
and 128x64 modes of the CoCo 1 and 2. The bgraph.c program demonstrates
this as well as the "Painter" object and a line-drawing function.

Yet another new development is "cc3dblb", a CoCo 3 double buffering
demo in C (with some inline assembly).

This demo is where I tested Drawer_initForHSCREEN() and Drawer_draw()
in the HSCREEN 2 (320x160x16) mode.

cc3dblb depends on "bgraph", but also on the "cardgame" library,
which despite its dubious name, can be used for graphics other than
a card game like Color Eights (http://sarrazip.com/dev/color8.html).
This library facilitates creating a graphical program and it comes
with an 8x8 font that can be used to write on a 32x24 grid in a PMODE
4 screen, or a 40x24 grid in an HSCREEN 2 screen.

These libraries ("bgraph", "cc3dblb" and "cardgame") are in the public
domain, while CMOC is distributed under the GNU GPL version 3.

For details: http://sarrazip.com/dev/cmoc.html

Pierre Sarrazin <sarrazip @ sarrazip . com>

More information about the Coco mailing list