A82: Convert to 83asm!!
[Prev][Next][Index][Thread]
A82: Convert to 83asm!!
This is the source to the small, usefull utility called program hider.
All it does is display text, it would be soo easy to convert. I need it
for the 83 because everybody else at my school has an 83 and they need
it for class.
D_ZT_STR = displays a zero termination string in normal text at current
location
set 3,(iy+05) = write inverse text
res 3,(iy+05) = write normal text
Somebody, please convert this! It is easy!!
#INCLUDE "ti82.h"
STATUS = TEXT_MEM+1 ;the only variable
.ORG START_ADDR
.DB "Program Hider",0
jp FIRST
ld a,1
ld (STATUS),a
MAIN:
HALT
call GET_KEY ;get key press into a
cp $03
jr z,RIGHT
cp $02
jp z,LEFT
cp 15
jr z,QUIT
jr MAIN
QUIT:
RET
RIGHT:
ld a,(STATUS)
inc a
ld (STATUS),a
cp 4
jp z,FIRST
cp 3
jp z,LAST
cp 2
jp z,MIDDLE
LEFT:
ld a,(STATUS)
dec a
ld (STATUS),a
cp 0
jp z,LAST
cp 1
jp z,FIRST
cp 2
jp z,MIDDLE
FIRST:
ROM_CALL(CLEARLCD) ;clear screen
ld a,1
ld (STATUS),a
ld hl,$0000
ld (CURSOR_ROW),hl ;screen row
ld hl,EXEC
SET 3, (IY+05)
ROM_CALL(D_ZT_STR)
RES 3, (IY+05)
ld hl,$0500
ld (CURSOR_ROW),hl
ld hl,EDIT
ROM_CALL(D_ZT_STR)
ld a,10
ld (CURSOR_COL),a ;screen column
ld a,0
ld (CURSOR_ROW),a
ld hl,NEW ;string to display
ROM_CALL(D_ZT_STR)
jp MAIN
MIDDLE:
ROM_CALL(CLEARLCD)
ld hl,$0000
ld (CURSOR_ROW),hl
ld hl,EXEC
ROM_CALL(D_ZT_STR)
ld hl,$0500
ld (CURSOR_ROW),hl
SET 3, (IY+05)
ld hl,EDIT
ROM_CALL(D_ZT_STR)
RES 3, (IY+05)
ld a,10
ld (CURSOR_COL),a
ld a,0
ld (CURSOR_ROW),a
ld hl,NEW
ROM_CALL(D_ZT_STR)
jp MAIN
LAST:
ROM_CALL(CLEARLCD)
ld a,3
ld (STATUS),a
ld hl,$0000
ld (CURSOR_ROW),hl
ld hl,EXEC
ROM_CALL(D_ZT_STR)
ld hl,$0500
ld (CURSOR_ROW),hl
ld hl,EDIT
ROM_CALL(D_ZT_STR)
ld a,10
ld (CURSOR_COL),a
ld a,0
ld (CURSOR_ROW),a
SET 3,(IY+05)
ld hl,NEW
ROM_CALL(D_ZT_STR)
ld hl,$0001
ld (CURSOR_ROW),hl
ld hl,NUMBER1
ROM_CALL(D_ZT_STR)
RES 3,(IY+05)
ld hl,$0201
ld (CURSOR_ROW),hl
ld hl,CREATE
ROM_CALL(D_ZT_STR)
jp MAIN
EXEC:
.db "EXEC",0
EDIT:
.db "EDIT",0
NEW:
.db "NEW",0
NUMBER1:
.db "1:",0
CREATE:
.db "Create New",0
.end
.end