Overview
What is a Run Indicator? Funny you
should ask... The Run Indicator is the marker in the upper right
corner of the calculator's display that comes up when the
calculator's CPU is busy doing something. Sort of like the light
that flashes when your computer's busy. This tutorial will show
you how to turn the Run Indicator on and off.
Programming
Let's take the Getkey program that
displays the keycode of a key press program (Tutorial
8). When the program is waiting for a key press, it displays
a Run Indicator in the corner of the screen. Isn't that thing
annoying? Simple solution is to get rid of it.
#define B_CALL(xxxx) rst 28h \ .dw
xxxx
#define B_JUMP(xxxx) call 50h \ .dw
xxxx
_clrlcdfull
=4540h
;The ususal constants and defines, look at the New Commands
section for more information
_homeup
=4558h
_puts
=450Ah
_putc
=4504h
_getkey
=4972h
_newline
=452Eh
_RunIndicOff =4570h
.org 9D95h
B_CALL(_clrlcdfull)
; clear screen
B_CALL(_homeup)
; home the cursor
B_CALL(_RunIndicOff)
; Turning off the Run Indicator
ld hl,txt1
; Display the message at the txt1 label
B_CALL(_puts)
B_CALL(_getkey)
; Detect key press
push af
; Save key press in register a
B_CALL(_clrlcdfull)
; clear screen again
B_CALL(_homeup)
; home again
ld hl,txt2
; Display msg2
B_CALL(_puts)
; Display text
pop af
; restore reg a
call dishex
; Follow commands at label dishex to find hex key code
B_CALL(_getkey)
; pause until next key press
B_CALL(_newline)
; Move cursor to next line
ret
;Return to TI-OS
dishex: push af
; keep copy of value
and 0F0h
; terminate lower nibble
rra
; shift nibble right 4
rra
rra
rra
ld l,a
; Display the Key's hex code in Str1
ld h,0
ld de,hexStr
push de
; keep for other nibbler
add hl,de
; add offset to hexStr address
ld a,(hl)
; find correct ASCII character from string below to display hex
code of key pressed.
B_CALL(_putc)
; display character
pop de
pop af
and 0Fh
; wipeout upper nibble
ld l,a
ld h,0
add hl,de
ld a,(hl)
B_CALL(_putc)
B_CALL(clrlcdfull)
ret
; Return to OS
hexStr .db
"0123456789ABCDEF" ;These are the characters used
to display the key's hex code
txt1 .db
"Push a key.",0
txt2 .db
"Key code: ",0
.end
END
New Commands
_RunIndicOff - Disables the Run
Indicator
Related Commands Click to return
to the site's menu... or here
to get back to the tutorial's menu.
There is a ROM call that does
exactly the opposite of the _RunIndicOff call, it is _RunIndicOn
( RunIndicOn = 456Dh). To use it, place it at the end
of a program to turn the Indicator back on, or put in in the
front of the program to make sure it is on.