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


version	.shift	"Jackophone V5.0 (c)87-90"


	; ====================================================
	; Datum und Zeit sind vom Assemblierzeitpunkt abhängig
	; folgender String wird erzeugt:
	;
	; "assm: 12.Feb.1990, 17:20"
	;
	; ====================================================

vers_date	.text	"as:"
	.time	weekdayg
	.byte	" "
	.time	day
	.byte	"."
	.time	monthe
	.byte	"."
	.time	year
	.byte	" "
	.time	hour
	.byte	":"
	.time	min
	.shift	" "


; =========================================================================
;
; Type	: Unterprg.
;	: Type, Version und Datum im Display anzeigen
;
; Eingang	: -------
;
; Ausgang	: Displayausgabe auf Versionstext umgeleitet
;
; Register	: -----
;
; (c) by Thomas Lehmann März 1990
;
; =========================================================================

show_vers	jsr key_ende	; Ende Taste ausführen
 	stz vers_stat	; Status Byte löschen
	bra put_vers	; und Text anzeigen


; =========================================================================
;
; Type	: Unterprg.
;	: Type, Version und Datum im Display anzeigen
;
; Eingang	: ------
;
; Ausgang	: String ab Cursorposition im Display ausgegeben
;
; Register	: X
;
; (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
	; ---------------------
	ldx #TXT_VERS	; Textnr. Version laden
	jsr puttxt	; Text ins Display
	bra vers_s_tim	; Timer aufziehen


	; Version datum ausgeben
	; ----------------------
put_vdat	ldx #TXT_VDATE	; Textnr. Versionsdatum laden
	jsr puttxt	; Text ins Display
	bra vers_s_tim	; Timer aufziehen


	; 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	; Uhranzeige einschalten
vers_w_end	rts



