.nolist
#include "tse.inc"
.list
progloc .equ 9872h
progsize2 .equ $9874
ProgName .equ $9876
.org $9d93
.db $BB,$6D
 bcall(_clrlcdfull)
 ld hl,0
 ld (pencol),hl
 ld hl,Title
 bcall(_vputs)
 ld hl,0700h
 ld (pencol),hl
 ld hl,Author
 bcall(_vputs)
 bcall(_zeroop1)
 ld hl,op1
 ld a,5
 ld (hl),a
 call SaveProg
 call ProgramFindDown
MainLoop:
 ei
 halt
 bcall(_getcsc)
 cp skMode
 ret z
 cp skLeft
 call z,ProgramFindUp
 cp skRight
 call z,ProgramFindDown
 cp sk2nd
 call z,Prgm2Str
 cp skEnter
 call z,Prgm2Str
 jr MainLoop
ProgramFindDown:
 ld hl,ProgName
 rst 20h
 bcall(_findalphaup)
 jr SaveProg
ProgramFindUp:
 ld hl,ProgName
 rst 20h
 bcall(_findalphadn)
 jr SaveProg
SaveProg:
 ld de,ProgName
 bcall(_movfrop1)
 ld hl,0003h
 ld (currow),hl
 ld hl,ProgName+1
 bcall(_puts)
 ld hl,Spaces
 bcall(_puts)
 ret
Prgm2Str:
 ld hl,ProgName
 rst 20h
 bcall(_chkfindsym)
 ret c
 ld a,b
 or a
 ret nz
 ex de,hl
 ld c,(hl)
 inc hl
 ld b,(hl)
 ld (progsize2),bc
 inc hl
 ld (progloc),hl
 ld hl,ProgName
 ld de,StringName
 ld bc,9
 ldir
 ld a,AppVarObj
 ld (StringName),a
 ld hl,StringName
 rst 20h
 ld hl,(progsize2)
 bcall(_createappvar)
 inc de \ inc de
 ld hl,(progloc)
 ld bc,(progsize2)
 ldir
 ret
StringName:
 .db "         ",0
Title:
 .db "Prgm2AppVar v1.0",0
Author:
 .db "Michael Vincent",0
Spaces:
 .db "        ",0
.end

