📄 sysap.lst
字号:
550 003A ;;
551 003A PUBLIC _DAC_RAMP_UP
552 003A _DAC_RAMP_UP:
553 003A 3CA6 SZ DAC
"File: SYSAP.asm Holtek Cross-Assembler Version 2.86 Page 15
554 003B 2D76 JMP _DAC_RAMP_UP_FLAT_DAC
555 003C 1F24 CLR DAL
556 003D 1F25 CLR DAH
557 003E 1F27 CLR PWML
558 003F 1F28 CLR PWMH
559 0040 39A6 SNZ SINGLE_PWM
560 0041 33A8 SET PWMH.7 ;;DUAL PWM
561 0042
562 0042 30A6 SET DAC
563 0043 3026 SET PWMC
564 0044 1FA9 SET VOL
565 0045 EXTERN _HT82V733ENABLE:NEAR
566 0045 PUBLIC _HT82V733ENABLE_RET
567 0045 2800 E JMP _HT82V733ENABLE
568 0046 _HT82V733ENABLE_RET:
569 0046
570 0046 _DAC_RAMP_UP_FLAT_DAC:
571 0046 0724 MOV A,DAL
572 0047 0EF0 AND A,0F0H
573 0048 390A SNZ Z
574 0049 2D80 JMP _DAC_RAMP_UP_FLAT_DAC_LOOP
575 004A 0F80 MOV A,80H
576 004B 0225 SUB A,DAH
577 004C 390A SNZ Z
578 004D 2D80 JMP _DAC_RAMP_UP_FLAT_DAC_LOOP
579 004E 0763 MOV A,_MAIN_VOLUME
580 004F 2FB0 JMP _SET_VOLUME
581 0050 _DAC_RAMP_UP_FLAT_DAC_LOOP:
582 0050 0001 CLR WDT
583 0051 0005 CLR WDT2
584 0052 0F02 MOV A,__DELAY_LOOP
585 0053 1785 SDZ ACC
586 0054 2D83 JMP $-1
587 0055
588 0055 0F10 MOV A,010H
589 0056 3FA5 SZ DAH.7
590 0057 0FF0 MOV A,0F0H
591 0058 03A4 ADDM A,DAL
592 0059 0F00 MOV A,000H
593 005A 3FA5 SZ DAH.7
594 005B 0FFF MOV A,0FFH
595 005C 13A5 ADCM A,DAH
596 005D 39A6 SNZ SINGLE_PWM
597 005E 2D76 JMP _DAC_RAMP_UP_FLAT_DAC
598 005F 0724 MOV A,DAL
599 0060 00A7 MOV PWML,A
600 0061 0725 MOV A,DAH
601 0062 00A8 MOV PWMH,A
602 0063 2D76 JMP _DAC_RAMP_UP_FLAT_DAC
603 0064 ;;
604 0064 PUBLIC _VOLUMEUP
605 0064 _VOLUMEUP:
606 0064 1463 INCA _MAIN_VOLUME
607 0065 2FB0 JMP _SET_VOLUME
608 0066 ;;
609 0066 PUBLIC _VOLUMEDOWN
610 0066 _VOLUMEDOWN:
611 0066 10E3 SZ _MAIN_VOLUME
612 0067 2D99 JMP $+2
613 0068 0003 RET
"File: SYSAP.asm Holtek Cross-Assembler Version 2.86 Page 16
614 0069 1563 DECA _MAIN_VOLUME
615 006A 2FB0 JMP _SET_VOLUME
616 006B ;;
617 006B PUBLIC __PLAY_VOICE ;;(TRACKNO,CHANNELNO,FILTER)
618 006B __PLAY_VOICE:
619 006B 3D73 SZ _PLAY_VOICE1
620 006C 0003 RET ;;NOT CHANNEL0
621 006D 1F0E CLR TMR0C
622 006E 256A CALL _DAC_RAMP_UP
623 006F
624 006F 35E4 CLR _FILTER_0
625 0070 3DF3 SZ _PLAY_VOICE2
626 0071 31E4 SET _FILTER_0
627 0072
628 0072 36E4 CLR B_CH0_SENTENCE_PLAYING
629 0073 0F00 MOV A,00H
630 0074 00E5 MOV R_CH0_INDEX,A ;;SET THE VOICE START ADDRESS
631 0075 2DB0 JMP CH0_PLAY_COMMON_RET
632 0076 ;;
633 0076 PUBLIC __PLAY_SENTENCE
634 0076 __PLAY_SENTENCE:
635 0076 3E73 SZ _PLAY_SENTENCE1
636 0077 0003 RET ;;NOT CHANNEL0
637 0078 1F0E CLR TMR0C
638 0079 256A CALL _DAC_RAMP_UP
639 007A
640 007A 35E4 CLR _FILTER_0
641 007B 3EF3 SZ _PLAY_SENTENCE2
642 007C 31E4 SET _FILTER_0
643 007D
644 007D 32E4 SET B_CH0_SENTENCE_PLAYING
645 007E 0F04 MOV A,04H
646 007F 00E5 MOV R_CH0_INDEX,A ;;SET THE SENTENCE START ADDRESS
647 0080 CH0_PLAY_COMMON_RET:
648 0080 3764 CLR B_CH0_USER_SR
649 0081 0FC2 MOV A,C_125US
650 0082 008D MOV TMR0,A
651 0083 0F52 MOV A,52H
652 0084 008E MOV TMR0C,A
653 0085 368B CLR INTC.5
654 0086 310B SET ET0I
655 0087 3664 CLR _FSTANDBY0
656 0088 0F80 MOV A,80H
657 0089 1F69 CLR R_CH0_DACL
658 008A 00E8 MOV R_CH0_DACH,A
659 008B 0004 RETI
660 008C ;;
661 008C PUBLIC TimeBaseISR
662 008C TimeBaseISR:
663 008C ;; SET OneMsFlag
664 008C 0004 RETI
665 008D ;;
666 008D ;;
667 008D ;;
668 008D PUBLIC SR0ISR
669 008D SR0ISR:
670 008D 3E64 SZ _FSTANDBY0
671 008E 0004 RETI ;;STANDBY
672 008F
673 008F 00E1 MOV R_ACCBAK,A
"File: SYSAP.asm Holtek Cross-Assembler Version 2.86 Page 17
674 0090 070A MOV A,STATUS
675 0091 00E2 MOV R_STATUSBAK,A
676 0092
677 0092 0765 MOV A,R_CH0_INDEX
678 0093 0386 ADDM A,PCL
679 0094 2DCA JMP CH0_STEP0
680 0095 2DEE JMP CH0_STEP1
681 0096 2E45 JMP CH0_STEP2
682 0097 2E0A JMP CH0_STEP3
683 0098 2E16 JMP CH0_STEP4
684 0099 2E31 JMP CH0_STEP5
685 009A ;; 00H set the start address of the wave file according to CH0_TRACKNOH/L
686 009A CH0_STEP0:
687 009A ;;First get wave address
688 009A 0F0C MOV A,0CH
689 009B 00EC MOV R_CH0_ADDRL,A
690 009C 1F6B CLR R_CH0_ADDRM
691 009D 1F6A CLR R_CH0_ADDRH
692 009E 26E9 CALL READ_DATA0
693 009F 00FE MOV R_TEMPL,A
694 00A0 26F6 CALL READ_NEXT0
695 00A1 00FD MOV R_TEMPH,A
696 00A2 CLOSE_SPI
696 00A2 352E 1 CLR [02EH].2 ;;CLOSE SIMA
697 00A3
698 00A3 340A CLR C
699 00A4 1A76 RLCA CH0_TRACKNOL
700 00A5 00EC MOV R_CH0_ADDRL,A
701 00A6 1A77 RLCA CH0_TRACKNOH
702 00A7 00EB MOV R_CH0_ADDRM,A
703 00A8 1F6A CLR R_CH0_ADDRH
704 00A9 0776 MOV A,CH0_TRACKNOL
705 00AA 03EC ADDM A,R_CH0_ADDRL
706 00AB 0777 MOV A,CH0_TRACKNOH
707 00AC 13EB ADCM A,R_CH0_ADDRM
708 00AD 1F05 CLR ACC
709 00AE 13EA ADCM A,R_CH0_ADDRH
710 00AF
711 00AF 077E MOV A,R_TEMPL
712 00B0 03EC ADDM A,R_CH0_ADDRL
713 00B1 077D MOV A,R_TEMPH
714 00B2 13EB ADCM A,R_CH0_ADDRM ;;*3
715 00B3 1F05 CLR ACC
716 00B4 13EA ADCM A,R_CH0_ADDRH
717 00B5
718 00B5 26E9 CALL READ_DATA0 ;;1
719 00B6 00EC MOV R_CH0_ADDRL,A
720 00B7 26F6 CALL READ_NEXT0 ;;2
721 00B8 00EB MOV R_CH0_ADDRM,A
722 00B9 26F6 CALL READ_NEXT0 ;;3
723 00BA 00EA MOV R_CH0_ADDRH,A
724 00BB
725 00BB 14E5 INC R_CH0_INDEX ;;1
726 00BC CLOSE_SPI
726 00BC 352E 1 CLR [02EH].2 ;;CLOSE SIMA
727 00BD 2EE5 JMP SR0ISR_RET_DIRECTLY
728 00BE ;; 01H read the compress type and timer
729 00BE CH0_STEP1:
730 00BE 1F66 CLR R_CH0_LENH
731 00BF 1F67 CLR R_CH0_LENL
"File: SYSAP.asm Holtek Cross-Assembler Version 2.86 Page 18
732 00C0 3473 CLR B_CH0_SILENCE
733 00C1 0F04 MOV A,4 ;;8BITS TIMER OFFSET
734 00C2 03EC ADDM A,R_CH0_ADDRL
735 00C3 26E9 CALL READ_DATA0
736 00C4 0A54 SUB A,54H
737 00C5 390A SNZ Z
738 00C6 2E0F JMP CH0_STOP_PLAY ;;HT-ADPCM4
739 00C7 ;;read timer
740 00C7 3B64 SNZ B_CH0_USER_SR
741 00C8 2DFC JMP $+4
742 00C9 14EC INC R_CH0_ADDRL
743 00CA 14EC INC R_CH0_ADDRL
744 00CB 2E03 JMP CH0_SET_TIMER_RET
745 00CC
746 00CC 26F6 CALL READ_NEXT0
747 00CD 008D MOV TMR0,A
748 00CE 26F6 CALL READ_NEXT0
749 00CF 0E07 AND A,07H
750 00D0 0B02 ADD A,2
751 00D1 0D50 OR A,50H
752 00D2 008E MOV TMR0C,A
753 00D3
754 00D3 CH0_SET_TIMER_RET:
755 00D3 3DE4 SZ _FILTER_0
756 00D4 158E DEC TMR0C
757 00D5
758 00D5 0F03 MOV A,3
759 00D6 03EC ADDM A,R_CH0_ADDRL ;;POINT TO CONTROL CODE
760 00D7
761 00D7 14E5 INC R_CH0_INDEX ;;2
762 00D8 3564 CLR B_CH0_FILTER ;;THE 1ND TIME NOT ADD ONE POINT
763 00D9 2EDC JMP SR0ISR_RET
764 00DA ;; 03H play end
765 00DA CH0_STEP3:
766 00DA CH0_STOP_WAVE:
767 00DA 3AE4 SNZ B_CH0_SENTENCE_PLAYING
768 00DB 2E0F JMP CH0_STOP_PLAY
769 00DC 0F05 MOV A,5
770 00DD 00E5 MOV R_CH0_INDEX,A
771 00DE 2EE5 JMP SR0ISR_RET_DIRECTLY
772 00DF CH0_STOP_PLAY:
773 00DF CLOSE_SPI
773 00DF 352E 1 CLR [02EH].2 ;;CLOSE SIMA
774 00E0 1F0E CLR TMR0C
775 00E1 368B CLR INTC.5
776 00E2 3264 SET _FSTANDBY0
777 00E3 36E4 CLR B_CH0_SENTENCE_PLAYING
778 00E4 2530 CALL _DAC_RAMP_DOWN
779 00E5 2EE5 JMP SR0ISR_RET_DIRECTLY
780 00E6 ;; 04H set the start address of one sentence according to CH0_SENTENCENOH/L
781 00E6 CH0_STEP4:
782 00E6 0F04 MOV A,04H
783 00E7 00EC MOV R_CH0_ADDRL,A
784 00E8 1F6B CLR R_CH0_ADDRM
785 00E9 1F6A CLR R_CH0_ADDRH
786 00EA 26E9 CALL READ_DATA0
787 00EB 00FE MOV R_TEMPL,A
788 00EC 26F6 CALL READ_NEXT0
789 00ED 00FD MOV R_TEMPH,A
790 00EE CLOSE_SPI
"File: SYSAP.asm Holtek Cross-Assembler Version 2.86 Page 19
790 00EE 352E 1 CLR [02EH].2 ;;CLOSE SIMA
791 00EF
792 00EF 340A CLR C
793 00F0 1A78 RLCA CH0_SENTENCENOL ;;JODEN
794 00F1 00EC MOV R_CH0_ADDRL,A
795 00F2 1A79 RLCA CH0_SENTENCENOH
796 00F3 00EB MOV R_CH0_ADDRM,A
797 00F4 1F6A CLR R_CH0_ADDRH
798 00F5
799 00F5 077E MOV A,R_TEMPL
800 00F6 03EC ADDM A,R_CH0_ADDRL
801 00F7 077D MOV A,R_TEMPH
802 00F8 13EB ADCM A,R_CH0_ADDRM
803 00F9
804 00F9 26E9 CALL READ_DATA0
805 00FA 00EE MOV R_CH0_SENTENCE_ADDRL,A
806 00FB 26F6 CALL READ_NEXT0
807 00FC 1485 INC ACC
808 00FD 00ED MOV R_CH0_SENTENCE_ADDRH,A ;;SENTENCE DATA OFFSEET
809 00FE
810 00FE 14E5 INC R_CH0_INDEX ;;5
811 00FF CLOSE_SPI
811 00FF 352E 1 CLR [02EH].2 ;;CLOSE SIMA
812 0100 2EE5 JMP SR0ISR_RET_DIRECTLY
813 0101 ;;
814 0101 ;;
815 0101 ;; 05H read one sentence data
816 0101 CH0_STEP5:
817 0101 076E MOV A,R_CH0_SENTENCE_ADDRL
818 0102 00EC MOV R_CH0_ADDRL,A
819 0103 076D MOV A,R_CH0_SENTENCE_ADDRH
820 0104 00EB MOV R_CH0_ADDRM,A
821 0105 1F6A CLR R_CH0_ADDRH
822 0106
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -