Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: Notesfiles; site uokvax.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxl!ihnp4!inuxc!pur-ee!uiucdcs!parsec!ctvax!uokvax!emjej From: emjej@uokvax.UUCP Newsgroups: net.micro.6809 Subject: Re: Bug (Feature?) in BASIC09 CHR$(N) fu - (nf) Message-ID: <3500036@uokvax.UUCP> Date: Sun, 6-May-84 22:53:00 EDT Article-I.D.: uokvax.3500036 Posted: Sun May 6 22:53:00 1984 Date-Received: Wed, 9-May-84 01:45:15 EDT References: <2054@ihnss.UUCP> Lines: 20 Nf-ID: #R:ihnss:-205400:uokvax:3500036:000:888 Nf-From: uokvax!emjej May 6 21:53:00 1984 #R:ihnss:-205400:uokvax:3500036:000:888 uokvax!emjej May 6 21:53:00 1984 /***** uokvax:net.micro.6809 / ihnss!knudsen / 3:28 am Apr 28, 1984 */ A limitation in BASIC09's CHR(n) function is probably irrelevant to text-only computer users, but quite irksome to Coco hackers. CHR$(n) masks off the high-order bit (bit 7), so your argument is interpreted modulo 128. Not only can you not print pretty semigraphics characters, but you cannot send X and Y values to CCIO's hi-res graphics routines that are >127. A real loser, which went undetected all those years on GIMIX and SSB OS9 machines. /* ---------- */ Yes, you *can* print semigraphics. Use the PUT command with an array of BYTEs. Characters are glyphs on the screen; the fact that they are often stored one per byte is an accident of implementation. Years of C programming, in which one uses the char type for BYTE, or worse yet, as short short int, tend to make one forget this. James Jones