;**************************************************************************
;
; Filename : KEY_ENDE.ASM
; -----------------------
;
; (c) 1990/91 by Thomas Lehmann
;
;
; Jackophone V5.00
;
;
; Ende Taste auswerten
;
;
;**************************************************************************

MODUL_START	set	*	; Größe des Moduls berechnen

; =========================================================================
;
; Type	: Hauptprg.
;
; Eingang	: bei Endetaste
;	: Offset auf Tastaturtabelle in X-Reg.
;	: Tastenwert im Accu
;
; Ausgang	: Displayanzeige umgeschaltet
;	: Speichern, Kontrolle ... ausgeschaltet
;	: Wähltastenprg. wieder original
;
; Register	: ------
;
; (c) by Thomas Lehmann März 1990
;
; =========================================================================

;	Tabelle der Tasten deren LED`s bei Ende-Taste ausgeschaltet werden
;	------------------------------------------------------------------
key_e_tab	byte KEY_SP,LD_L|LD_OFF				Speichertaste
	byte KEY_KO,LD_L|LD_OFF				Kontrolltaste
	byte KEY_UHR,LD_L|LD_OFF			Uhr stellen Taste
	byte KEY_TELBUCH,LD_L|LD_OFF		Telefonbuch Taste
	byte KEY_NAM,LD_L|LD_R|LD_OFF 	Namentaste
	byte KEY_TMODE,LD_L|LD_R|LD_OFF 	Terminal Mode Taste

TAB_LEN	set *-key_e_tab


key_ende
	block
	pha
	phy
	phx

	bbr MOD_NT_SPEC,modus,kend_1	Sonder NT eingegeben
	jsr zwsp_off	2. Speicher ausschalten (Sonder NT speichern)

kend_1	stz namsp_fkt	NamenSpeicher hat NT Funktion
	stz modus	kein Modus aktiv eintragen
	stz menu	Hauptmenu bei Speichern/Kontrolle
	stz wta_prg	Wähltasten normal auswerten
	stz displ_prg	Display Reset
	rmb NT_OUT,allg_stat	Rufnr. auf NT wählen
	rmb TTY_CON,tty_sts		Terminal Modus ist nicht aktiv
	ldy #$ff
	sty last_nt	keine NT gedrückt

	lda #$ff
	sta term_nr	Text eines erreichten Termins erneut ausgeben

	ldx #TAB_LEN-2	Offs. auf Tabelle
loop	lda key_e_tab,x	Tastenwert laden
	ldy key_e_tab+1,x	LED-Status laden
	jsr set_prgled	zum Tastenwert gehörende LED schalten
	dex		; nächste Taste einstellen
	dex
	bpl loop

	bbs ST_BABY,no_ini_flag,end	Babyphone aktiv, LED bleibt ein

	; Babyruf LED`s löschen
	; ---------------------
	lda #KEY_BABY	Tastenwert laden
	ldy #LD_L|LD_R|LD_OFF
	jsr set_prgled	zum Tastenwert gehörende LED schalten

end	jsr set_postbea	Post und Beantworter-Relais + LED zurück
	plx
	ply
	pla
	rts
	bend




; --------------------------------------------------------------------------

HLP	set	*
_KEY_ENDE	equ	HLP-MODUL_START		; Größe des Moduls

