Classic Computer Magazine Archive COMPUTE! ISSUE 67 / DECEMBER 1985 / PAGE 10

Apple Mousetext

I own an Apple IIc and have heard it has 32 special "Mousetext" characters built into ROM. How can I access these characters? Can I use them in my BASIC programs?

Murray Hanstead

Apple's Mousetext characters are designed especially for mouse-driven (Macintosh-style) software, but they can be used any time you need additional characters. Available on the enhanced IIe as well as the He, they include line segments, arrows, open and closed apples, cursors, and more. The Mousetext character set works in 40 or 80 columns and is easy to use from BASIC.

Apple II computers with Mousetext also contain enhanced video firmware, a collection of screen routines in ROM (Read Only Memory) used in place of the original monitor routines. One advantage of the enhanced firmware is that it makes Mousetext much easier to use. When enhanced video is activated, the cursor is an inverse box instead of the normal flashing box. To turn on the firmware on the Apple IIc, press the ESC key, followed by the 4 key for 40 columns or the 8 key for 80 columns. On the extended He, type PR #3 and press RETURN (this also works on the He). PR #3 puts you in 80-column mode; use ESC-4 and ESC-8 to switch between 40 and 80 columns.

Once the enhanced firmware is on, PRINT CHR$(27) replaces inverse mode uppercase characters with Mousetext.

Now the INVERSE command turns Mousetext on and the NORMAL command turns it off. Uppercase characters printed in inverse mode appear as Mousetext, but inverse lowercase characters are still available. PRINT CHR$(24) restores the normal inverse uppercase characters without affecting Mousetext already on the screen. By using the INVERSE and NORMAL commands and PRINTing CHR$(27) and CHR$(24), it's possible to mix Mousetext, inverse uppercase, and normal uppercase on the screen at once. To see all the Mousetext characters, type in and run the following one-line program:

10 PRINT CHR $ (4); "PR #3 ": PRINT CHR$ (27) : FOR I = 64 TO 95 : INVERSE : PRINT CHR$ (I); : NOR MAL : PRINT " "; : NEXT : PRINT : FOR I = 64 TO 95 : PRINT C HR $(I); : NEXT