;**************************************************************************
;
; Filename : BABYRUF.ASM
; ----------------------
;
; (c) 1991 by Thomas Lehmann
;
;
; Jackophone V5.00
;
;
; Babyruf Funktion
;
;
;**************************************************************************

MODUL_START	set	*	; Größe des Moduls berechnen



; =========================================================================
;
; Type	: Hauptprg.
;
; Eingang	: bei Babyruf Taste
;	: Offset auf Tastaturtabelle in X-Reg.
;	: Tastenwert im Accu
;
; Ausgang	:
;
; Register	: Accu, X, Y
;
; (c) by Thomas Lehmann Juni 1991
;
; =========================================================================

key_baby
	block
	bbs MOD_BABY,modus,baby_aktiv	; 2. Tastendruck

	jsr key_ende	; Ende ausführen
	ldy #LD_L|LD_T	; LED-Wert laden
	jsr set_prgled	; LED schalten
	smb MOD_BABY,modus	; Babyruf Funktion vorbereitet

baby_aktiv	lda #00		; NT Nr.
	smb ST_2SP,feap_stat	; 2.SP ist aktiv
	jmp keynam_sp
	bend


baby_end	rts


	; ========================
	; Einsprung bei SS aus/ein
	; ========================
baby_ss	bbs SS_STAT,allg_stat,babyss_on	; SS wurde eingeschaltet

	; SS wurde ausgeschaltet
	; ----------------------
	bbr MOD_BABY,modus,baby_end	; Babyruf nicht vorbereitet, RTS

	jsr put_baby_nr		; Rufnummer und Text anzeigen

	; Babyruf Funktion aktivieren
	; ---------------------------
	jsr key_ende		; Ende Babyruf Eingabe, Fkt. ist aktiv
	lda #NO_DISPL		; kein Display-Prg. ausführen
	sta displ_prg		; Text bis Timeout stehen lassen
	smb ST_BABY,no_ini_flag	; Babyruf Funktion aktiv

	; LED phasenverschoben schalten
	; -----------------------------
baby_led	lda #KEY_BABY		; Tastenwert laden
	ldy #LD_L|LD_T		; LED Wert laden
	jsr set_prgled		; zum Tastenwert gehörende LED schalten
	ldy #LD_R|LD_TP		; LED Wert laden
	jmp set_prgled		; zum Tastenwert gehörende LED schalten


	; Babyruf Funktion deaktivieren
	; -----------------------------
babyss_on	bbr ST_BABY,no_ini_flag,baby_end ;	Babyruf nicht aktiv, RTS

	rmb ST_BABY,no_ini_flag	; Babyruf Funktion deaktivieren
	jmp key_ende		; Ende Taste ausführen





	; Rufnummer für Babyphone ausgeben / wählen
	; =========================================
put_baby_nr
	block
	lda #NT_BABYRUF			; NT Nr. für Babyphone Rufnr.
	smb ST_2SP,feap_stat		; 2.SP ist aktiv
	bbs MOD_BABY,modus,baby_nr	; Rufnummer und Text zeigen

	rmb NT_OUT,allg_stat		; Rufnr. auf NT wählen
	jmp put_nt			; NT wählen


baby_nr	jsr keynam_out			; Rufnr. der NT ausgeben
	jmp put_babyruf			; "Baybyruf" ausgeben
	bend





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

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

