;**************************************************************************
;
; Filename : KEY_LÖSCH.ASM
; ------------------------
;
; (c) 1990 by Thomas Lehmann
;
;
; Jackophone V5.00
;
;
; Lösch-Funktionen
;
;
;**************************************************************************


; =========================================================================
;
; Type	: Hauptprg.
;
; Eingang	: bei Löschentaste
;	: Offset auf Tastaturtabelle in X-Reg.
;	: Tastenwert in "tw"
;
; Ausgang	: Löschfunktion in Abhängigkeit des Wta-Prg. ausgeführt
;
; Register	: Accu, X
;
; (c) by Thomas Lehmann März 1990
;
; =========================================================================

loesch_tab	.rta err_ter_clr	; erreichten Termin clr, (Wahl auf Leitung)
	.rta no_loesch	; kein Löschprg., (BTA Modus auswählen)
	.rta no_loesch	; kein Löschprg., (BTA Modus Tastenber.)
	.rta no_loesch	; kein Löschprg., (BTA Modus Textberechtigung)
	.rta no_loesch	; kein Löschprg., (Uhr stellen)
	.rta no_loesch	; kein Löschprg., (Speichern aktiv)
	.rta no_loesch	; kein Löschprg., (Kontrolle aktiv)
	.rta no_loesch	; kein Löschprg., (Namentasten speichern)
	.rta no_loesch	; kein Löschprg., (Terminnr. auswählen)
	.rta term_clr	; Termin löschen, (Terminzeit eingeben)
	.rta no_loesch	; kein Löschprg., (Termintext eingeben)
	.rta no_loesch	; kein Löschprg., (Termintage eingeben)
	.rta no_loesch	; kein Löschprg., (Termindaten kontrollieren)

TAB_LEN	.set	*-loesch_tab	; Tabellenlänge


key_loesch	lda wta_prg	; Wähltastenprg. laden
	asl		; Offset auf Programmtabelle erzeugen
	cmp #TAB_LEN	; Wert außerhalb des Gültigkeitsbereichs ?
	bcs no_loesch	; ja, nicht ausführen

	tax
	lda loesch_tab+1,x	; high Byte der Programmadr. laden
	pha
	lda loesch_tab,x	; dito low Byte
	pha
no_loesch	rts		; und Programm ausführen
