83Plus:Flags:2C

From WikiTI
Revision as of 04:25, 10 May 2014 by Dr. D'nar (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Synopsis

Flag Byte: 2Ch

Known Names: mouseFlag1

These flags are used with the app mouse routines. GetCSC uses bit 0 of this to decide whether to process diagonal key arrow key presses.

Bit Overview

Bit 0

Name: appWantDiagonalKeys

Set for GetCSC to process diagonal arrow key presses. Add these new scan codes to your ti83plus.inc:

skDownLeft		EQU	252
skDownRight		EQU	250
skUpLeft		EQU	245
skUpRight		EQU	243

This bit is used with the app mouse routines. The OS never uses the bit outside of those, and the OS itself never uses those routines, so this bit is there purely for our benefit.

If you set this bit, GetKey will return garbage values for diagonal arrow key presses. In particular, two of the combinations share the same value. So that flag obviously isn't meant for use with GetKey. You should not return to the OS with it set for that reason. That said, the basic getKey function will also return values for diagonal arrow key presses: DOWN+LEFT is 202, DOWN+RIGHT is 183, UP+LEFT is 118, and UP+RIGHT is 203. That behavior probably isn't intentional, but I'm sure some basic programmers would find it useful.

Bit 1

We do not have information on what this bit does, if anything.

Bit 2

BCCALL 4DC5 (BrandonW calls it AppDrawMouseDirect) uses this to decide whether to display or erase the mouse.

Bit 3

We do not have information on what this bit does, if anything.

Bit 4

We do not have information on what this bit does, if anything.

Bit 5

Certain mouse routines (4DBFh AppUpdateMouseRow and 4DA4h AppUpdateMouseCoords) will decrease the cursor row if this is set.

Bit 6

Certain mouse routines (see bit 5) will increase the cursor row if this is set.

Bit 7

We do not have information on what this bit does, if anything.