📄 sysap.lst
字号:
823 0106 26E9 CALL READ_DATA0
824 0107 00EC MOV R_CH0_ADDRL,A
825 0108 26F6 CALL READ_NEXT0
826 0109 3F85 SZ ACC.7
827 010A 2E0F JMP CH0_STOP_PLAY
828 010B 00F7 MOV CH0_TRACKNOH,A
829 010C 076C MOV A,R_CH0_ADDRL
830 010D 00F6 MOV CH0_TRACKNOL,A
831 010E CLOSE_SPI
831 010E 352E 1 CLR [02EH].2 ;;CLOSE SIMA
832 010F
833 010F 0F02 MOV A,2
834 0110 03EE ADDM A,R_CH0_SENTENCE_ADDRL
835 0111 1F05 CLR ACC
836 0112 13ED ADCM A,R_CH0_SENTENCE_ADDRH
837 0113 1F65 CLR R_CH0_INDEX
838 0114 2EE5 JMP SR0ISR_RET_DIRECTLY
839 0115 ;;
840 0115 ;;
841 0115 ;; 02H normal mode to play wave
842 0115 CH0_STEP2:
843 0115 3C73 SZ B_CH0_SILENCE
844 0116 2E60 JMP CH0_SEND_DA_RET
845 0117 ;;SEND DA
846 0117 39E4 SNZ _FILTER_0
847 0118 2E4B JMP CH0_SEND_DAC_DIRECTLY
"File: SYSAP.asm Holtek Cross-Assembler Version 2.86 Page 20
848 0119 3D64 SZ B_CH0_FILTER
849 011A 2E53 JMP CH0_ADD_ONE_POINT
850 011B CH0_SEND_DAC_DIRECTLY:
851 011B 3164 SET B_CH0_FILTER
852 011C 0769 MOV A,R_CH0_DACL
853 011D 00A4 MOV DAL,A
854 011E 00A7 MOV PWML,A
855 011F 0768 MOV A,R_CH0_DACH
856 0120 00A5 MOV DAH,A
857 0121 00A8 MOV PWMH,A
858 0122 2E60 JMP CH0_SEND_DA_RET
859 0123 CH0_ADD_ONE_POINT:
860 0123 3564 CLR B_CH0_FILTER
861 0124 0769 MOV A,R_CH0_DACL
862 0125 03A4 ADDM A,DAL
863 0126 0768 MOV A,R_CH0_DACH
864 0127 1325 ADC A,DAH
865 0128 1B85 RRC ACC
866 0129 1BA4 RRC DAL
867 012A 00A5 MOV DAH,A
868 012B 0724 MOV A,DAL
869 012C 00A7 MOV PWML,A
870 012D 0725 MOV A,DAH
871 012E 00A8 MOV PWMH,A
872 012F 2EE5 JMP SR0ISR_RET_DIRECTLY
873 0130 CH0_SEND_DA_RET:
874 0130 10E7 SZ R_CH0_LENL
875 0131 2E66 JMP CH0_DEC_LENL
876 0132 10E6 SZ R_CH0_LENH
877 0133 2E65 JMP CH0_DEC_LENH
878 0134 2EA4 JMP CH0_HT_ADPCM4_HEAD
879 0135 CH0_DEC_LENH:
880 0135 15E6 DEC R_CH0_LENH
881 0136 CH0_DEC_LENL:
882 0136 15E7 DEC R_CH0_LENL
883 0137 CH0_NORMAL_PLAY_1:
884 0137 3C73 SZ B_CH0_SILENCE
885 0138 2EE5 JMP SR0ISR_RET_DIRECTLY
886 0139 ;;
887 0139 CH0_HT_ADPCM4:
888 0139 3BE4 SNZ B_HI_NIBBLE
889 013A 2E6E JMP CH0_HT_ADPCM4_GET_DATA
890 013B 11F0 SWAP R_CH0_DATA
891 013C 37E4 CLR B_HI_NIBBLE
892 013D 2E71 JMP CH0_HT_ADPCM4_GET_DATA_RET
893 013E CH0_HT_ADPCM4_GET_DATA:
894 013E 26E9 CALL READ_DATA0
895 013F 00F0 MOV R_CH0_DATA,A
896 0140 33E4 SET B_HI_NIBBLE
897 0141 CH0_HT_ADPCM4_GET_DATA_RET:
898 0141 CLOSE_SPI
898 0141 352E 1 CLR [02EH].2 ;;CLOSE SIMA
899 0142 ;;ADJUST SPN
900 0142 0770 MOV A,R_CH0_DATA
901 0143 0E07 AND A,07H
902 0144 0B90 ADD A,LOW F1_TABLE
903 0145 0087 MOV TBLP,A
904 0146 1D87 TABRDL TBLP
905 0147 0771 MOV A,R_CH0_SPN
906 0148 00FE MOV R_TEMPL,A
"File: SYSAP.asm Holtek Cross-Assembler Version 2.86 Page 21
907 0149 0387 ADDM A,TBLP
908 014A 1DF1 TABRDL R_CH0_SPN
909 014B
910 014B OPEN_SPI
910 014B 312E 1 SET [02EH].2 ;;OPEN SIMA
911 014C 0F03 MOV A,03H
912 014D 00AD MOV SIMDRA,A
913 014E 0000 NOP
914 014F 0F00 MOV A,00H
915 0150 00AD MOV SIMDRA,A ;;H
916 0151 0770 MOV A,R_CH0_DATA
917 0152 0E07 AND A,07H
918 0153 037F ADD A,R_COMPRESSION_TABLE_ADDRESS
919 0154 00AD MOV SIMDRA,A ;;M
920 0155 187E RLA R_TEMPL
921 0156 0000 NOP
922 0157 00AD MOV SIMDRA,A ;;L
923 0158 2E89 JMP $+1
924 0159 00AD MOV SIMDRA,A ;;NULL
925 015A 2E8B JMP $+1
926 015B 072D MOV A,SIMDRA
927 015C 0087 MOV TBLP,A
928 015D 00AD MOV SIMDRA,A ;;NULL
929 015E 3DF0 SZ R_CH0_DATA.3
930 015F 2E99 JMP CH0_HT_ADPCM4_DEC
931 0160 CH0_HT_ADPCM4_ADD:
932 0160 0707 MOV A,TBLP
933 0161 03E9 ADDM A,R_CH0_DACL
934 0162 072D MOV A,SIMDRA
935 0163 13E8 ADCM A,R_CH0_DACH
936 0164 380A SNZ C
937 0165 2EDC JMP SR0ISR_RET
938 0166 1FE8 SET R_CH0_DACH
939 0167 1FE9 SET R_CH0_DACL
940 0168 2EDC JMP SR0ISR_RET
941 0169 CH0_HT_ADPCM4_DEC:
942 0169 0769 MOV A,R_CH0_DACL
943 016A 0207 SUB A,TBLP
944 016B 00E9 MOV R_CH0_DACL,A
945 016C 0768 MOV A,R_CH0_DACH
946 016D 122D SBC A,SIMDRA
947 016E 00E8 MOV R_CH0_DACH,A
948 016F 3C0A SZ C
949 0170 2EDC JMP SR0ISR_RET
950 0171 1F68 CLR R_CH0_DACH
951 0172 1F69 CLR R_CH0_DACL
952 0173 CH0_HT_ADPCM4_RET:
953 0173 2EDC JMP SR0ISR_RET
954 0174 ;;
955 0174 CH0_HT_ADPCM4_HEAD:
956 0174 26E9 CALL READ_DATA0
957 0175 3473 CLR B_CH0_SILENCE
958 0176
959 0176 1785 SDZ ACC
960 0177 2ECF JMP CH0_HT_ADPCM4_NORMAL
961 0178 ;;HT_ADPCM4 COMMAND
962 0178 26F6 CALL READ_NEXT0
963 0179 00E7 MOV R_CH0_LENL,A
964 017A 26F6 CALL READ_NEXT0
965 017B 00E6 MOV R_CH0_LENH,A
"File: SYSAP.asm Holtek Cross-Assembler Version 2.86 Page 22
966 017C
967 017C 0567 OR A,R_CH0_LENL
968 017D 390A SNZ Z
969 017E 2EB2 JMP CH0_COMMOND_CONTINUE
970 017F CLOSE_SPI
970 017F 352E 1 CLR [02EH].2 ;;CLOSE SIMA
971 0180 14E5 INC R_CH0_INDEX
972 0181 2EE5 JMP SR0ISR_RET_DIRECTLY
973 0182 CH0_COMMOND_CONTINUE:
974 0182 3B66 SNZ R_CH0_LENH.6
975 0183 3AE6 SNZ R_CH0_LENH.5
976 0184 2EC1 JMP CH0_HT_ADPCM4_SILENCE ;;10 11 00
977 0185 ;;01
978 0185 CH0_HT_ADPCM4_CUE:
979 0185 ;;CUE
980 0185 ;;_CUE_EVENT0 = CUE_CHANNEL
981 0185 ;;_CUE_EVENT1 = CUE_IN
982 0185 ;;_CUE_EVENT2 = CUE_CODE
983 0185 ;;_CUE_EVENT3 = CUE_NUMBER
984 0185 ;;
985 0185 EXTERN _CUE_EVENT:NEAR
986 0185 37F3 CLR CUE_IN
987 0186 3C67 SZ R_CH0_LENL.0
988 0187 33F3 SET CUE_IN ;;IN
989 0188 0766 MOV A,R_CH0_LENH
990 0189 0E1F AND A,1FH
991 018A 00FC MOV CUE_NUMBER,A ;;CUE NUMBER
992 018B 3773 CLR CUE_CHANNEL ;;CHANNLE
993 018C 26F6 CALL READ_NEXT0
994 018D 00FB MOV CUE_CODE,A ;;CUE CODE
995 018E 2800 E JMP _CUE_EVENT
996 018F PUBLIC _CUE_EVENT_RET
997 018F _CUE_EVENT_RET:
998 018F 26F6 CALL READ_NEXT0
999 0190 2EA6 JMP CH0_HT_ADPCM4_HEAD+2
1000 0191 CH0_HT_ADPCM4_SILENCE:
1001 0191 0F1F MOV A,1FH
1002 0192 06E6 ANDM A,R_CH0_LENH
1003 0193
1004 0193 39E4 SNZ _FILTER_0
1005 0194 2EC8 JMP $+4
1006 0195 340A CLR C
1007 0196 1AE7 RLC R_CH0_LENL
1008 0197 1AE6 RLC R_CH0_LENH ;;If have filter, the silence length will increase 2 times
1009 0198
1010 0198 3073 SET B_CH0_SILENCE
1011 0199 3DA6 SZ SINGLE_PWM
1012 019A 2EDC JMP SR0ISR_RET ;;SIGNAL
1013 019B 0F80 MOV A,80H
1014 019C 1F27 CLR PWML ;;DUAL
1015 019D 00A8 MOV PWMH,A
1016 019E 2EDC JMP SR0ISR_RET
1017 019F CH0_HT_ADPCM4_NORMAL:
1018 019F 00E7 MOV R_CH0_LENL,A
1019 01A0 37E4 CLR B_HI_NIBBLE
1020 01A1 26F6 CALL READ_NEXT0
1021 01A2 00F1 MOV R_CH0_SPN,A
1022 01A3 26F6 CALL READ_NEXT0
1023 01A4 00E8 MOV R_CH0_DACH,A
1024 01A5 0771 MOV A,R_CH0_SPN
"File: SYSAP.asm Holtek Cross-Assembler Version 2.86 Page 23
1025 01A6 0E80 AND A,80H
1026 01A7 3305 SET ACC.6
1027 01A8 00E9 MOV R_CH0_DACL,A
1028 01A9 37F1 CLR R_CH0_SPN.7
1029 01AA 15F1 DEC R_CH0_SPN
1030 01AB 3164 SET B_CH0_FILTER
1031 01AC ;; JMP SR0ISR_RET
1032 01AC ;;
1033 01AC SR0ISR_RET:
1034 01AC 392E SNZ SIMC2A.2
1035 01AD 2EE5 JMP SR0ISR_RET_DIRECTLY
1036 01AE CLOSE_SPI
1036 01AE 352E 1 CLR [02EH].2 ;;CLOSE SIMA
1037 01AF 076F MOV A,R_CH0_OFFSET
1038 01B0 03EC ADDM A,R_CH0_ADDRL
1039 01B1 1F05 CLR ACC
1040 01B2 00EF MOV R_CH0_OFFSET,A
1041 01B3 13EB ADCM A,R_CH0_ADDRM
1042 01B4 13EA ADCM A,R_CH0_ADDRH
1043 01B5 SR0ISR_RET_DIRECTLY:
1044 01B5 0762 MOV A,R_STATUSBAK
1045 01B6 008A MOV STATUS,A
1046 01B7 0761 MOV A,R_ACCBAK
1047 01B8 0004 RETI
1048 01B9 ;;
1049 01B9 ;;INS
1050 01B9 ;;
1051 01B9 READ_DATA0:
1052 01B9 312E SET SIMC2A.2 ;;ENABLE SIMA
1053 01BA 0F03 MOV A,03H
1054 01BB 00AD MOV SIMDRA,A
1055 01BC 1F6F CLR R_CH0_OFFSET
1056 01BD 076A MOV A,R_CH0_ADDRH
1057 01BE 00AD MOV SIMDRA,A
1058 01BF 0000 NOP
1059 01C0 076B MOV A,R_CH0_ADDRM
1060 01C1 00AD MOV SIMDRA,A
1061 01C2 0000 NOP
1062 01C3 076C MOV A,R_CH0_ADDRL
1063 01C4 00AD MOV SIMDRA,A
1064 01C5 2EF6 JMP $+1
1065 01C6 READ_NEXT0:
1066 01C6 00AD MOV SIMDRA,A
1067 01C7 14EF INC R_CH0_OFFSET
1068 01C8 0000 NOP
1069 01C9 072D MOV A,SIMDRA
1070 01CA 0003 RET
1071 01CB
1072 01CB
1073 01CB ENDIF
1074 01CB
1075 01CB IFNDEF _HT83F_
1076 01CB MESSAGE ' '
1077 01CB MESSAGE ' '
1078 01CB MESSAGE ' '
1079 01CB MESSAGE ' '
1080 01CB MESSAGE ' '
1081 01CB MESSAGE ' '
1082 01CB MESSAGE ' ERROR , THIS PROJECT ONLY SUPPORT HT83FXXX SERIES '
1083 01CB MESSAGE ' '
"File: SYSAP.asm Holtek Cross-Assembler Version 2.86 Page 24
1084 01CB MESSAGE ' '
1085 01CB MESSAGE ' '
1086 01CB MESSAGE ' '
1087 01CB MESSAGE ' '
1088 01CB MESSAGE ' '
1089 01CB ENDIF
0 Errors
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -