; ==== ISUAL Flight Software -- Univ of California, Berkeley, SSL ====
; PWRP.A -- control of power services
; calls functions in EEPROM
;
; Revision History:
;  18-Dec-2002 - SPG - ISUAL Flight Software rev 7.3
;    First Official Release

        include pwr.i
        include eeprom.i
        include debug.i
        include gbl.i
        include util.i
        include ioports.i
        include cdi.i

kode:   call cdi_send
        ret
        call cdi_ahl
        ret

PWR_INIT: lxi h,kode
        lxi d,GBL_PWR+3
        mvi c,8
        call copy_bytes
        ret

PWR_SET_ON:
; A - service number 0..16
        push psw
        push b
; (code for this is in "EEPROM.A")
        mov c,a
        in BANK_SELECT_I
        push psw                ; preserve Bank
        mvi a,EE_BANK
        out BANK_SELECT_O       ; select EEPROM bank
        mov a,c
        call EE_PWR_SET_ON    ; call EEPROM code

cret:   pop psw
        out BANK_SELECT_O       ; restore Bank
        pop b
        pop psw
        ret
 
PWR_SET_OFF:
; A - service number 0..16
        push psw
        push b
; (code for this is in "EEPROM.A")
        mov c,a
        in BANK_SELECT_I
        push psw                ; preserve Bank
        mvi a,EE_BANK
        out BANK_SELECT_O       ; select EEPROM bank
        mov a,c
        call EE_PWR_SET_OFF    ; call EEPROM code
        jmp cret

