home *** CD-ROM | disk | FTP | other *** search
/ World of A1200 / World_Of_A1200.iso / programs / develop / as65 / demo / s1 / speicher.asm < prev    next >
Assembly Source File  |  1995-02-27  |  4KB  |  144 lines

  1. ;**************************************************************************
  2. ;
  3. ; Filename : SPEICHER.ASM
  4. ; -----------------------
  5. ;
  6. ; (c) 1990 by Thomas Lehmann
  7. ;
  8. ;
  9. ; Jackophone V5.00
  10. ;
  11. ;
  12. ; Speicher Funktionen
  13. ;
  14. ;
  15. ;**************************************************************************
  16.  
  17. MODUL_START    set    *    ; Größe des Moduls berechnen
  18.  
  19.  
  20. ; =========================================================================
  21. ;
  22. ; Funktion    : Speichermodus einleiten
  23. ;
  24. ; Eingang    : bei Speichertaste
  25. ;    : Offset auf Tastaturtabelle in X-Reg.
  26. ;
  27. ; Ausgang    : Speichertext ausgegeben
  28. ;    : LED eingeschaltet
  29. ;    : Wähltasten umgeleitet
  30. ;    : letzte Textnr. in X-Reg
  31. ;    : erste Textnr. in Y-Reg
  32. ;
  33. ; Register    : Accu, X, Y
  34. ;
  35. ; (c) by Thomas Lehmann März 1990
  36. ;
  37. ; =========================================================================
  38.  
  39. spmenu_tab    word sp_h_menu    ; Speichern Hauptmenu
  40.     word rel_out    ; Untermenu Relais ist aktiv
  41.     word _rts    ; Untermenu Statisktik, nicht bei Speichern
  42.     word term_spkey    ; Untermenu Termin ist aktiv
  43.     word _rts    ; Untermenu Version, nicht bei Speichern
  44.     word notruf_nxt    ; Untermenu Notruf ist aktiv
  45.  
  46.  
  47. spwhl_txt    byte    DSP_CLR
  48.     shift "1=NT 2=Term 3=Ports  -->"
  49.  
  50.     byte    DSP_CLR
  51.     shift "4=Beantw. 5=Zweitapp.-->"
  52.  
  53.     byte    DSP_CLR
  54.     shift "6=Notruf 7=Gebuehren -->"
  55.  
  56.     byte    DSP_CLR
  57.     shift "8=Terminzyklus       -->"
  58.  
  59.  
  60. speich_tab    word spko_namkey    ; 1=Namentaste speichern
  61.     word spko_term    ; 2=Termin speichern
  62.     word sp_rel    ; 3=Relais speichern
  63.     word spko_bea    ; 4=Beantworter ein/aus
  64.     word spko_post    ; 5=Postapparat ein/aus
  65.     word sp_notruf    ; 6=Notrufnummern
  66.     word sp_gebfakt    ; 7=Gebührenfaktor
  67.     word sp_termzykl    ; 8=Termin Wiederholung
  68.  
  69.  
  70. TAB_LEN    set    *-speich_tab    ; Tabellenlänge
  71.  
  72.  
  73.  
  74. key_sp    bbs MOD_KO,modus,sp_h_menu    ; Kontrolle ist aktiv, SP einschalten
  75.  
  76.     ldx menu    ; ausgewähltes Menu laden
  77.     jmp (spmenu_tab,x)    ; Programm ausführen
  78.  
  79.  
  80. sp_h_menu    bbr MOD_SP,modus,key_sp_1    ; Speichern nicht aktiviert
  81.  
  82.     jsr nxt_dsptxt    ; nächstes Menu ausgeben
  83.     bra speich_wta    ; Wähltastenfunktion installieren
  84.  
  85.     ; Speichermodus einschalten
  86.     ; -------------------------
  87. key_sp_1    jsr key_ende    ; Kontrolle ausschalten
  88.     smb MOD_SP,modus    ; Speichermodus aktiv eintragen
  89.  
  90.     ldy #LD_L|LD_ON    ; LED-Wert laden
  91.     jsr set_prgled    ; und LED einschalten
  92.  
  93.     ldx #<spwhl_txt    ; Textadr. laden
  94.     ldy #>spwhl_txt
  95.     lda #ANZ_SPTXT    ; Anzahl der Texte laden
  96.     jsr init_dsptxt    ; Textwahl initialisieren
  97.  
  98.     ; Funktionstabelle für Wähltasten
  99.     ; -------------------------------
  100. speich_wta    lda #TAB_LEN    ; Tabellenlänge laden
  101.     ldx #<speich_tab    ; Adresse der Tabelle
  102.     ldy #>speich_tab
  103.     jmp set_wta_fkt    ; Funktionstabelle für Wähltasten installieren
  104.  
  105.  
  106.  
  107. ; =========================================================================
  108. ;
  109. ; Type    : Hauptprg.
  110. ;
  111. ; Eingang    : bei 2.Speichertaste
  112. ;    : Offset auf Tastaturtabelle in X-Reg.
  113. ;    : Tastenwert im Accu
  114. ;
  115. ; Ausgang    : 2. Speicher aktiv/unaktiv
  116. ;
  117. ; Register    : Accu
  118. ;
  119. ; (c) by Thomas Lehmann März 1990
  120. ;
  121. ; =========================================================================
  122.  
  123. key_2sp    bbs ST_2SP,feap_stat,zwsp_off    ; 2.SP deaktivieren
  124.  
  125.     smb ST_2SP,feap_stat    ; Modus 2.Speicher aktiv eintragen
  126.     ldy #LD_R|LD_ON    ; rechte LED einschalten
  127.     bra zwsp_setled    ; und LED einschalten
  128.  
  129.     ; Einsprung um 2. SP auszuschalten
  130.     ; ================================
  131. zwsp_off    rmb ST_2SP,feap_stat    ; Modus 2.Speicher nicht aktiv eintragen
  132.     ldy #LD_R|LD_OFF    ; rechte LED ausschalten
  133. zwsp_setled    lda #KEY_2SP    ; Tastenwert laden
  134.     jmp set_prgled    ; LED ausschalten
  135.  
  136.  
  137.  
  138.  
  139. ; --------------------------------------------------------------------------
  140.  
  141. HLP    set    *
  142. _SPEICHER    equ    HLP-MODUL_START        ; Größe des Moduls
  143.  
  144.