⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 function.src

📁 无线电话加来电现示加收音机
💻 SRC
📖 第 1 页 / 共 4 页
字号:
	RET


;========================================================
CHKLCD
	INEMD   :0001,FLAG65    ;xx.ER.KEYVF not valid?
	BR      LCDONRR
	ITMD    $7,LCD_CNT
	RET

LCD_ON
	MTAD    LCD_CNT
	AAI     $F
	BR      LCD_ONR
	SMD     P_LCD
	SMD	P_LCD1

LCDONRR
	RET

LCD_ONR
	ATMD    LCD_CNT
	RMD     P_LCD
	RMD	P_LCD1

	RET

;========================================================
;    ALARM PROGRAM
;========================================================

ALMPROG
	INEMD	$0,TSTMODE
	BR      LCDONRR

	TMD     F_ALM1
	BR      PROALM1
	BR      ALMPROG1

PROALM1
	TMD     F_SNOOZ1
	BR      PROALM11
	TMD     F_TOTM1
	BR      PROALM12

	CALL    CHKALM1T
	BR      ALMPROG1
	ITMD	$6,SOZE_CNT
PROGALM1
	SMD     F_TOTM1
	RMD     F_SNOOZ1
	ITMD    $E,SNOOZ1TM
	TMD     F_TOTM2
	CALL    PROALM24
	CALL    ALM1_ON
	BR      ALMPROG1

PROALM12
	MTAD    SNOOZ1TM
	AAI     $F
	ATMD    SNOOZ1TM
	BR      ALMPROG1

PROALM14
	CALL	ALM1OFF
	BR	ALMPROG1
ALM1OFF
	RMD     F_SNOOZ1
	RMD     F_TOTM1
	ITMD    $0,SNOOZ1TM
	CALL    ALM1_OFF
	CALL	ICONDSP
	RET

PROALM11
	MTAD    SNOOZ1TM
	AAI     $F
	ATMD    SNOOZ1TM
	BR      ALMPROG1
	BR      PROGALM1

;----------------------------------
ALMPROG1
	TMD     F_ALM2
	BR      PROALM2
	LBR     ALMPROGR

;--------------------------------------------

PROALM2
	TMD     F_SNOOZ2
	LBR     PROALM21
	TMD     F_TOTM2
	LBR     PROALM22

	CALL    CHKALM2T
	LBR     ALMPROGR
	ITMD	$6,SOZE_CNT
PROGALM2
	SMD     F_TOTM2
	RMD     F_SNOOZ2
	ITMD    $E,SNOOZ2TM
	TMD     F_TOTM1
	CALL    ALM1OFF

	CALL    ALM2_ON
	RET

PROALM22
	MTAD    SNOOZ2TM
	AAI     $F
	ATMD    SNOOZ2TM
	RET

PROALM24
	RMD     F_SNOOZ2
	RMD     F_TOTM2
	ITMD    $0,SNOOZ2TM
	CALL    ALM2_OFF
	CALL	ICONDSP
ALMPROGR
	RET

PROALM21
	MTAD    SNOOZ2TM
	AAI     $F
	ATMD    SNOOZ2TM
	BR      CHKALM1R
	LBR     PROGALM2

;---------------------------------------------
CHKALM1T
	MTAD    ALM1MINL
	ANEMD   RTCMINL
	BR      CHKALM1R
	MTAD    ALM1MINH
	ANEMD   RTCMINH
	BR      CHKALM1R

	MTAD    ALM1HORL
	ANEMD   RTCHORL
	BR      CHKALM1R

	MTAD    ALM1HORH
	ANEMD   RTCHORH
	BR      CHKALM1R
	RC
	TC
CHKALM1R
	RET

;---------------------------------------------
CHKALM2T
	MTAD    ALM2MINL
	ANEMD   RTCMINL
	BR      CHKALM1R
	MTAD    ALM2MINH
	ANEMD   RTCMINH
	BR      CHKALM1R

	MTAD    ALM2HORL
	ANEMD   RTCHORL
	BR      CHKALM2R

	MTAD    ALM2HORH
	ANEMD   RTCHORH
	BR      CHKALM2R
        RC
        TC
CHKALM2R
        RET

;---------------------------------------------------

ALM1_ON
        TMD     F_1BUZ
	LBR     ALM1_ON1
	SMD     F_BPM
;	ITMD	$0,BPM_TIME
	CALL	ONPTONE
	RET

ALM1_ON1
	TMD     F_RDOON
	LBR     ALM1_ON2
	CALL    ON_RDO
	RMD     F_FSTRDO
	RET
ALM1_ON2
	SMD     F_FSTRDO
	TMD	F_16DB
	BR      ALM1_ON4
	RET
ALM1_ON4
	MTAD	VOL_CNT
	AAI	$1
	ALEI	$8
	BR      ALM1_ON3
	ITA	$8
ALM1_ON3
	CALL	CTRL_VOL
	RET

ALM2_ON
	TMD     F_2BUZ
	LBR     ALM2_ON1
	SMD     F_BPM
;	ITMD    $0,BPM_TIME
	CALL	ONPTONE
	RET

ALM2_ON1
        TMD     F_RDOON
	LBR     ALM2_ON2
        CALL    ON_RDO
        RMD     F_FSTRDO
        RET
ALM2_ON2
	SMD     F_FSTRDO

	TMD	F_26DB
	BR      ALM2_ON4
	RET
ALM2_ON4
	MTAD	VOL_CNT
	AAI	$1
	ALEI	$8
	BR      ALM2_ON3
	ITA	$8
ALM2_ON3
	CALL	CTRL_VOL
	RET


	RET

ALM1_OFF
	TMD     F_1BUZ
	BR      ALM1OFF1
	RMD     F_BPM
	RET
ALM1OFF1
	TMD     F_FSTRDO
	BR      ALM1OFFR
	CALL    RDO_OFF
ALM1OFFR
	MTAD	VOL_CNT
	CALL	CTRL_VOL
	RET


ALM2_OFF
	TMD     F_2BUZ
	BR      ALM2OFF1
	RMD     F_BPM
	CALL	DISTONE
	RET
ALM2OFF1
	TMD     F_FSTRDO
	BR      ALM2OFFR
	CALL    RDO_OFF
ALM2OFFR
	MTAD	VOL_CNT
	CALL	CTRL_VOL
	RET

;======================================================

PROALARM
	INEMD	$0,TSTMODE
	BR	PROALRMR

	INEMD   :0001,FLAG65    ;xx.ER.KEYVF not valid?
	BR      PROALRMR

SPKPVOL
	INEMD	:0010,FLAG64	; HST,SPKPHM,xx ?
        BR	PROALRM3

	CALL	UPKEY
	BR      SPKPVOL1
	CALL	VOLUPCTL
	RET
SPKPVOL1
	CALL	DNKEY
	BR	PROALRM3
	CALL    VOLDNCTL
	RET

PROALRM3
	TMD     F_TOTM1
	BR      PROALRM1
	BR      PROALRM2

PROALRM1
	TMD     F_SNOOZ1
	BR      PROARM11

;	INEMD   K_SZOONE,KEYBUF
;	BR      PROARM11

	CALL	SNOZKEY
	BR	PROARM11

	MTAD	SOZE_CNT
	AAI     $F
	ATMD	SOZE_CNT
	BR      PROARM14
	BR      PROARM13

PROARM14
	SMD     F_SNOOZ1
	ITMD    $8,SNOOZ1TM
	CALL    ALM1_OFF
	BR      PROALRMR

PROARM11
;	INEMD   K_ALM1,KEYBUF
;	BR      PROALRMR

	CALL	ALM1KEY
	BR	PROALRMR

PROARM13
	CALL	ALM1OFF
	BR	PROALRMR


;------------------

PROALRM2
	TMD     F_TOTM2
	BR      PROARM23
	BR      PROALRMR

PROARM23

	TMD	F_SNOOZ2
	BR	PROARM21

;	INEMD   K_SZOONE,KEYBUF
;	BR      PROARM21

	CALL	SNOZKEY
	BR	PROARM21

	MTAD    SOZE_CNT
	AAI	$F
	ATMD	SOZE_CNT
	BR	PROARM26
	BR      PROARM25

PROARM26
	SMD     F_SNOOZ2
	ITMD    $8,SNOOZ2TM
	CALL    ALM2_OFF
PROALRMR
	RET

PROARM21
;	INEMD   K_ALM2,KEYBUF
;	BR      PROALRMR

	CALL	ALM2KEY
	BR	PROALRMR

PROARM25
	LBR     PROALM24

;=====================================================


;=====================================================
;PROGBPM
;	TMD     F_BPM
;	BR      PROGBPM1
;	BR	PROGBPM3
;
;PROGBPM1
;	MTAD	BPM_TIME
;	AAI	$F
;	ATMD	BPM_TIME
;	BR      PROGBPM3
;	ITMD	$6,BPM_TIME
;	CALL	ONRTONE
;PROGBPM3
;	RET
;
;================================================
;      SWITCH
;================================================

SWITCH
	RMD     P_SWITCH
	NOP
	NOP
	NOP
	NOP
	NOP
	MTAD    P2
	SMD	P_SWITCH
	ANEMD	FLAGDT5
	BR      SWITCH1
	RET
SWITCH1
	ATMD	FLAGDT5
	ITMD    $7,LCD_CNT
SWITCH2
	RET

RESLCD
	TMD     F_RDOON
	LBR     ON_RDO
RESLCD2
	CALL    CLRLINE2
;	TMD	CHGACT
;	BR	RESLCD1
	CALL    CLRNAME
	CALL    DSPCHAR
	RET
RESLCD1
	CALL	DCHARG
        RET

OFDSPCID
        INEMD   $0,PAGE_TIM
        BR      DSPOCID4
        BR      DSPOCID3

DSPOCID4
        MTAD    PAGE_TIM
        AAI     $1
        ATMD    PAGE_TIM
        CALL    RESLCD

DSPOCID3
        TMD     F_NEWCID
        BR      DSPOCID1
        RET
DSPOCID1
        MTAD    DSPCIDTM
        AAI     $F
	LBR     DSPOCID2
        CALL    RESLCD
        RMD     F_NEWCID
        RET
DSPOCID2
        ATMD    DSPCIDTM
        RET

;==========================================
QUITMOD
        INEMD   $0,FUNCMOD
	LBR     FUNDCLKL

        TMD     F_RDOON
        BR      QUITMOD1
        RET

QUITMOD1
	INEMD   $8,RDOMOD
        BR      QUITMOD2
        BR      QUITMOD3
QUITMOD2
        CALL    RES_RDO
QUITMOD3
	CALL    RDO_MUTE
        RET

CHKILDE
	INEMD	:0000,FLAG64	;HSKPHM,xx ?
	BR       CHKIDLER

	TMD     CD_ENB
	BR      CHKIDLER

	TMD     F_RING
	BR      CHKIDLER
        RC
        TC
CHKIDLER
        RET


EN_CAS
        RMD     IRQCAS           ;clr IRQT3
        SMD     IECAS            ;enable int
        RET

;=================================================
;
;=================================================


VOLUPCTL
	MTAD    SPKVOL
	AAI     $1
	ALEI    $8
	BR      VOLUCTL2
	ITA     $8
	BR      VOLUCTL2

VOLDNCTL
	MTAD    SPKVOL
	AAI     $F
	ALEI    $0
	BR      VOLUCTL3
	BR      VOLUCTL2

VOLUCTL3
	ITA     $1
VOLUCTL2
	ATMD    SPKVOL
	CALL	CTRL_VOL
	CALL	CLRNAME
	MTAD	SPKVOL
	CALL	DSPSPVOL
	RET


;===================================================
;    INIT RAM
;===================================================
INIT_RAM
	ITMD	OFFBEEP,CTL3
	ITMD    $4,VOL_CNT
	ITMD	$4,P0
	ITMD	$4,SPKVOL
	ITMD	$0,J_FLAG0
	ITMD	$0,J_FLAG1
	ITMD    $0,RES_TIME
	ITMD    $0,RDOMOD
	ITMD    $0,FUNCMOD
	ITMD    $0,TEMLANG
	ITMD    $0,TEM_FLAG
	ITMD    $0,ALM_FLAG
	ITMD    $0,BUZ_FLAG
	ITMD    $0,SCH_STE
	ITMD    $0,RDO_FLAG
	ITMD    $0,SNOZ_FLG
	ITMD    $0,V_FMPSET
	ITMD    $0,V_AMPSET
	ITMD    $0,LCD_CNT
	ITMD    $0,FLAG1

	CALL    FM_INIT
	ITA     $9
FM_INIT1
	ATMD    DSPDCNT
	CALL    G_FMADDR
	ITA     $1
	ATMIY
	ITA     $E
	ATMIY
	ITA     $B
	ATMIY
	ITA     $0
	ATMIY
	ITA     $0
	ATMIY
	ITA     $0
	ATMIY
	ITA     $0
	ATMIY
	MTAD    DSPDCNT
	AAI     $F
	LBR     FM_INIT1

	CALL    AM_INIT
	ITA     $9
AM_INIT1
	ATMD    DSPDCNT
	CALL    G_AMADDR
	ITA     $0
	ATMIY
	ITA     $3
	ATMIY
	ITA     $C
	ATMIY
	ITA     $A
	ATMIY
	ITA     $0
	ATMIY
	ITA     $0
	ATMIY
	ITA     $0
	ATMIY
	MTAD    DSPDCNT
	AAI     $F
	BR      AM_INIT1
	RET


;=============================================
;  RDO TSTMODE
;=============================================

TSTM4JB
	INEMD	:0001,FLAG65	;xx.ER.KEYVF not valid?
	BR      TSTM4Q

	CALL	UPKEY
	BR      TSTM4JB1

	CALL    INC_V_FM
	CALL    FM_BAND
	CALL	WR_RDO
	CALL	DSPFM
	BR	TSTM4Q


TSTM4JB1
	CALL	DNKEY
	BR	TSTM4JB2

	CALL	DEC_V_FM
	CALL	FM_BAND
	CALL	DSPFM
	BR	TSTM4Q

TSTM4JB2
	CALL	ALM1KEY
	BR	TSTM4JB3
	CALL    VOLUPCTL
	BR	TSTM4Q


TSTM4JB3
	CALL	ALM2KEY
	BR	TSTM4JB4
	CALL	VOLDNCTL
	BR	TSTM4Q

TSTM4JB4
	CALL	RDOKEY
	BR	TSTM4Q
	LBR	RESET

TSTM4Q
	RET



;---------------------------------------------
;
;---------------------------------------------

RALMOFF
	TMD	F_TOTM1
	BR      RALMOFF1
	BR      RALMOFF2

RALMOFF1

	TMD	F_1BUZ
	BR      RALMOF11
	BR      RALMOFF2

RALMOF11
	RMD	F_FSTRDO
	RMD     F_SNOOZ1
	RMD     F_TOTM1
	ITMD    $0,SNOOZ1TM


RALMOFF2
	TMD	F_TOTM2
	BR	RALMOF21
	RET
RALMOF21
	TMD	F_2BUZ
	LBR	RALMOF22
	RET
RALMOF22
	RMD	F_FSTRDO
	RMD	F_SNOOZ2
	RMD	F_TOTM2
	ITMD	$0,SNOOZ1TM
RALMOFFR
	RET



;=============================================
;     key
;=============================================

CHKKTON                                  ;[1419022301]
	TMD     ONTONE_F                 ;tne nbed ?
	BR      CHKKTON2          ;CHKKTON2
	BR      CHKKTON3
CHKKTON2
	ILEMD   $1,TONETYPE              ;no etne?
	BR      CHKKTON3
	TMD     STTONE_F                 ;toesting ?
	BR      CHKKTON3

	CALL    CKEYTON
CHKKTON3
	RET

;谀哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪目
;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -