Description
TabFunctions, or TabFunc for short, is the first truly useful SE to be created with the brand-new Shell Expansion system I finished yesterday. Simply pressing [F1] and [F2] acts as the equivalent of [TAB] and [SHIFT][TAB] on a computer keyboard. The regular arrows, clicking, and keyboard shortcuts remain fully functional, so the TabFunc simply layers an extra bit of useability on top of the interface for those who don't feel like navigating manually with the mouse. Screenshot and source code below for those interested in learning about making SEs.
Screenshot
Source Code
Code:
TabFunctions, or TabFunc for short, is the first truly useful SE to be created with the brand-new Shell Expansion system I finished yesterday. Simply pressing [F1] and [F2] acts as the equivalent of [TAB] and [SHIFT][TAB] on a computer keyboard. The regular arrows, clicking, and keyboard shortcuts remain fully functional, so the TabFunc simply layers an extra bit of useability on top of the interface for those who don't feel like navigating manually with the mouse. Screenshot and source code below for those interested in learning about making SEs.
Screenshot
Source Code
Code:
.nolist ;defines, includes, and equates
#DEFINE equ .equ
#DEFINE EQU .equ
#DEFINE end .end
#IFDEF TI83
#include "doorscs.inc" ;token interpretation
SEOffset equ $8265
#ENDIF
#IFDEF TI83P
#include "doorscs.inc" ;token interpretation
SEOffset equ $86ec
#ENDIF
.list
.org 0
.db $BB,$6D
.db $AB
#IFDEF TI83P
.db $C9
#ENDIF
SEStart:
.db $31
.db $87
.db $50
.dw 0 ;.dw SELoad-SEStart
.dw SEMouse-SEStart
.dw 0
SEMouse:
ld a,(ix+1)
or a
jr nz,ycoord
ld a,(ix)
or a
jr z,incpos
bcall(_getcsc)
cp $34
jr z,incpos
cp $35
jr z,decpos
ld d,0
ret
ycoord:
add a,2+4+96
ld d,a
xor a
ld (ix+1),a
ret
incpos:
ld a,(ix)
cp 19
jr nz,inc2
xor a
inc2:
inc a
seta:
ld (ix),a
dec a
add a,a
ld e,a
ld d,0
ld hl,Vectortable-semouse+seoffset
add hl,de
inc hl
ld a,(hl)
ld (ix+1),a
dec hl
ld a,(hl)
add a,6
ld d,a
ret
decpos:
ld a,(ix)
cp 1
jr nz,dec2
ld a,20
dec2:
dec a
jr seta
leftclick:
ld d,1
ret
rightclick:
ld d,2
ret
VectorTable:
.db 13,11
.db 42,11
.db 70,11
.db 13,39
.db 42,39
.db 70,39
.db 92,3
.db 92,52
.db 8,59
.db 21,59
.db 92,59
.db 4,51
.db 10,51
.db 15,51
.db 20,51
.db 26,51
.db 33,51
.db 39,51
.db 46,51
.end
END