home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
World of A1200
/
World_Of_A1200.iso
/
programs
/
develop
/
as65
/
demo
/
s1
/
speicher.asm
< prev
next >
Wrap
Assembly Source File
|
1995-02-27
|
4KB
|
144 lines
;**************************************************************************
;
; Filename : SPEICHER.ASM
; -----------------------
;
; (c) 1990 by Thomas Lehmann
;
;
; Jackophone V5.00
;
;
; Speicher Funktionen
;
;
;**************************************************************************
MODUL_START set * ; Größe des Moduls berechnen
; =========================================================================
;
; Funktion : Speichermodus einleiten
;
; Eingang : bei Speichertaste
; : Offset auf Tastaturtabelle in X-Reg.
;
; Ausgang : Speichertext ausgegeben
; : LED eingeschaltet
; : Wähltasten umgeleitet
; : letzte Textnr. in X-Reg
; : erste Textnr. in Y-Reg
;
; Register : Accu, X, Y
;
; (c) by Thomas Lehmann März 1990
;
; =========================================================================
spmenu_tab word sp_h_menu ; Speichern Hauptmenu
word rel_out ; Untermenu Relais ist aktiv
word _rts ; Untermenu Statisktik, nicht bei Speichern
word term_spkey ; Untermenu Termin ist aktiv
word _rts ; Untermenu Version, nicht bei Speichern
word notruf_nxt ; Untermenu Notruf ist aktiv
spwhl_txt byte DSP_CLR
shift "1=NT 2=Term 3=Ports -->"
byte DSP_CLR
shift "4=Beantw. 5=Zweitapp.-->"
byte DSP_CLR
shift "6=Notruf 7=Gebuehren -->"
byte DSP_CLR
shift "8=Terminzyklus -->"
speich_tab word spko_namkey ; 1=Namentaste speichern
word spko_term ; 2=Termin speichern
word sp_rel ; 3=Relais speichern
word spko_bea ; 4=Beantworter ein/aus
word spko_post ; 5=Postapparat ein/aus
word sp_notruf ; 6=Notrufnummern
word sp_gebfakt ; 7=Gebührenfaktor
word sp_termzykl ; 8=Termin Wiederholung
TAB_LEN set *-speich_tab ; Tabellenlänge
key_sp bbs MOD_KO,modus,sp_h_menu ; Kontrolle ist aktiv, SP einschalten
ldx menu ; ausgewähltes Menu laden
jmp (spmenu_tab,x) ; Programm ausführen
sp_h_menu bbr MOD_SP,modus,key_sp_1 ; Speichern nicht aktiviert
jsr nxt_dsptxt ; nächstes Menu ausgeben
bra speich_wta ; Wähltastenfunktion installieren
; Speichermodus einschalten
; -------------------------
key_sp_1 jsr key_ende ; Kontrolle ausschalten
smb MOD_SP,modus ; Speichermodus aktiv eintragen
ldy #LD_L|LD_ON ; LED-Wert laden
jsr set_prgled ; und LED einschalten
ldx #<spwhl_txt ; Textadr. laden
ldy #>spwhl_txt
lda #ANZ_SPTXT ; Anzahl der Texte laden
jsr init_dsptxt ; Textwahl initialisieren
; Funktionstabelle für Wähltasten
; -------------------------------
speich_wta lda #TAB_LEN ; Tabellenlänge laden
ldx #<speich_tab ; Adresse der Tabelle
ldy #>speich_tab
jmp set_wta_fkt ; Funktionstabelle für Wähltasten installieren
; =========================================================================
;
; Type : Hauptprg.
;
; Eingang : bei 2.Speichertaste
; : Offset auf Tastaturtabelle in X-Reg.
; : Tastenwert im Accu
;
; Ausgang : 2. Speicher aktiv/unaktiv
;
; Register : Accu
;
; (c) by Thomas Lehmann März 1990
;
; =========================================================================
key_2sp bbs ST_2SP,feap_stat,zwsp_off ; 2.SP deaktivieren
smb ST_2SP,feap_stat ; Modus 2.Speicher aktiv eintragen
ldy #LD_R|LD_ON ; rechte LED einschalten
bra zwsp_setled ; und LED einschalten
; Einsprung um 2. SP auszuschalten
; ================================
zwsp_off rmb ST_2SP,feap_stat ; Modus 2.Speicher nicht aktiv eintragen
ldy #LD_R|LD_OFF ; rechte LED ausschalten
zwsp_setled lda #KEY_2SP ; Tastenwert laden
jmp set_prgled ; LED ausschalten
; --------------------------------------------------------------------------
HLP set *
_SPEICHER equ HLP-MODUL_START ; Größe des Moduls