;**************************************************************************
;
; Filename : VERSION.ASM
; ----------------------
;
; (c) 1990/91 by Thomas Lehmann
;
;
; Jackophone V5.00
;
;
; Programmversion und Datum der Assemblierung eintragen
;
;
;**************************************************************************

MODUL_START	set	*	; Größe des Moduls berechnen



; =========================================================================
;
; Funktion	: Version und Datum Meldung für Displayausgabe vorbereiten
;
; Eingang	: bei ausgewähltem Kontrollmenu oder Direktwahltaste
;
; Ausgang	: Displayausgabe auf Versionstext umgeleitet
;
; Register	: Accu, X, Y
;
; (c) by Thomas Lehmann März 1990
;
; =========================================================================

	; Einsprung bei Auswahl über Direktwahl Taste
	; -------------------------------------------
key_vers	jsr key_ende	; andere Modi`s verlassen
	stz vers_stat	; Versiontext einstellen
	bra put_vers	; und toggeln


	; Einsprung bei Auswahl über Kontrolle
	; ------------------------------------
show_vers	stz vers_stat	; Versiontext einstellen
	lda #MENU_VERS	; Programmnr. für Kontrolltaste laden
	sta menu	; und bei Taste ausführen


	; Einsprung bei Kontrolltaste
	; ---------------------------
vers_out	lda vers_stat	; Textart laden
	eor #$ff	; nächsten Text einstellen
	sta vers_stat
	beq put_dattxt	; Version-Datum ausgeben

put_verstxt	ldx #<version	; Versiontext ausgeben
	ldy #>version
	bra put_txt

put_dattxt	ldx #<vers_date	; Version Datum ausgeben
	ldy #>vers_date
put_txt	jmp puttxt	; Text ins Display


; =========================================================================
;
; Funktion	: Version und Datum im Display anzeigen
;
; Eingang	: zyklisch von Displayprg. Verteiler
;
; Ausgang	: -----------
;
; Register	: X, Y
;
; (c) by Thomas Lehmann Feb. 1990
;
; =========================================================================

put_vers	jsr st_dp_tim	; Displayanzeige Timer aufziehen
	bbs 1,vers_stat,vers_wait	; Timer abgelaufen testen
	bbs 0,vers_stat,put_vdat	; Version Datum ausgeben

	; Version Text ausgeben
	; ---------------------
	jsr put_verstxt	; Version ausgeben
	bra vers_s_tim	; Timer aufziehen


	; Version Datum ausgeben
	; ----------------------
put_vdat	jsr put_dattxt	; Datum ausgeben


	; Timer aufziehen
	; ---------------
vers_s_tim	smb 1,vers_stat	; Timer abgelaufen testen
	ldx #VERS_TIM	; Timerstartwert laden
	stx struct_tim100+VERS_TIM_O	; Timer starten
	lda #VER_DISPL	; Displayprgnr. für Version anzeigen laden
	sta displ_prg	; und Displayprg. bei Anzeige ausführen
	rts


	; Timer abgelaufen testen
	; -----------------------
vers_wait	lda struct_tim100+VERS_TIM_O	; Timerwert laden
	bne vers_w_end	; nicht abgelaufen, Ende

	rmb 1,vers_stat	; Timer nicht mehr testen
	lda #01		; Datum BIT laden
	tsb vers_stat	; wurde Datum bereits ausgegeben ?
	beq vers_w_end	; nein, Datum Ausgabe ist vorbereitet

	stz displ_prg	; Display Reset, Ende Taste ausführen
vers_w_end	rts




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

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

