home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
World of A1200
/
World_Of_A1200.iso
/
programs
/
develop
/
as65
/
demo
/
s1
/
update.asm
< prev
next >
Wrap
Assembly Source File
|
1995-02-27
|
3KB
|
162 lines
;**************************************************************************
;
; Filename : UPDATE.ASM
; ---------------------
;
; (c) 1991 by Thomas Lehmann
;
;
; Jackophone V5.00
;
;
; Schalten verschiedener Ereignisse, z.B. Ports, Relais, ...
;
;
;**************************************************************************
MODUL_START set * ; Größe des Moduls berechnen
update_task jsr port_update ; frei programmierbare Ports schalten
jsr tst_erde ; Relais für Erdtaste schalten
jsr set_fslh ; FS bzw. LH Relais und LED schalten
lda #20 ; Anzahl der Aussetzer
jsr task_sleep ; Task X-mal aussetzen
bra update_task ; erneuter Durchlauf
; =========================================================================
;
; Funktion : Update der frei programmierbaren Ports
;
; Eingang : -------
;
; Ausgang : -------
;
; Register : Accu, X
;
; (c) by Thomas Lehmann August 1991
;
; =========================================================================
port_update
block
lda #PRG_PORT-1 ; letzten Port einstellen
loop pha ; Portnr. retten
jsr port_tst ; Port testen
bcc port_off ; Port ausgeschaltet
; Port einschalten
; ----------------
jsr set_prgport ; Port setzen
bra loop_1
; Port ausschalten
; ----------------
port_off jsr clr_prgport ; programmierbaren Port zurücksetzen
loop_1 pla ; Portnr. zurück
dec a ; alle Ports geschaltet ?
bpl loop
rts
bend
; =========================================================================
;
; Funktion : Erde wählen
; Relais für Erdtaste testen
; wenn Timer abgelaufen, Erd-Relais zurückgesetzt
;
; Eingang : ---------
;
; Ausgang : ---------
;
; Register : Accu
;
; (c) by Thomas Lehmann Mai 1990
;
; =========================================================================
tst_erde bbr WHL_ERDE,ltg_stat,tst_erd_end ; Erde wird nicht gewählt
lda struct_tim100+ERD_TIM_O ; ist Timer abgelaufen ?
bne tst_erd_end ; nein, Ende
lda erd_rel ; Portnr. für Erdtaste laden
jsr port_off ; Erd Relais ausschalten
rmb WHL_ERDE,ltg_stat ; Erde ist gewählt
tst_erd_end rts
; =========================================================================
;
; Funktion : Update des FS/LH Relais und der LED`s
;
; Eingang : -------
;
; Ausgang : -------
;
; Register : Accu, X
;
; (c) by Thomas Lehmann August 1991
;
; =========================================================================
set_fslh
block
bbs ST_FSLH,feap_stat,fslh_on ; FS/LH ist eingeschaltet
; FS/LH ist ausgeschaltet
; =======================
ldy #LD_L|LD_R|LD_OFF ; LED`s in FS Taste löschen
jsr fslh_led ; LED schalten
jmp fs_off ; FS ausschalten
; FS/LH ist eingeschaltet
; =======================
fslh_on jsr fs_on ; FS/LH einschalten
; LED`s in FS/LH Taste schalten
; -----------------------------
ldy #LD_L|LD_OFF
lda #LD_R|LD_ON ; LED-Wert für LH
ldx fs_stat ; FS aktiv ?
beq fslh_1 ; nein, nur temporör bzw. LH
ldy #LD_R|LD_OFF
lda #LD_L|LD_ON ; LED-Wert für FS
fslh_1 pha
jsr fslh_led
ply
fslh_led lda #KEY_FSLH ; Tastenwert laden
jmp set_prgled ; LED ausschalten
bend
; --------------------------------------------------------------------------
HLP set *
_UPDATE equ HLP-MODUL_START ; Größe des Moduls