diff options
| author | JMC47 <JMC4789@gmail.com> | 2026-01-17 19:10:50 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-01-17 19:10:50 -0500 |
| commit | 035bcffc63ecc803abeb6987f66a5b2f78f5f0bc (patch) | |
| tree | b46f7ec3d376fc2fef5ac0d2f48769b0e23e9353 /Source/UnitTests/Core/DSP | |
| parent | d098f2bba9fac19d90526fb9f7aceb0bb405b4b4 (diff) | |
| parent | 1e0473e44f5e21558d75b0121bd935bb50825c26 (diff) | |
Merge pull request #14289 from Sintendo/typos
Fix various typos and spelling mistakes
Diffstat (limited to 'Source/UnitTests/Core/DSP')
| -rw-r--r-- | Source/UnitTests/Core/DSP/HermesText.cpp | 218 |
1 files changed, 109 insertions, 109 deletions
diff --git a/Source/UnitTests/Core/DSP/HermesText.cpp b/Source/UnitTests/Core/DSP/HermesText.cpp index 64f3694810..1ddc302000 100644 --- a/Source/UnitTests/Core/DSP/HermesText.cpp +++ b/Source/UnitTests/Core/DSP/HermesText.cpp @@ -42,7 +42,7 @@ SR: equ 0x13 PRODL: equ 0x14 PRODM: equ 0x15 PRODH: equ 0x16 -PRODM2: equ 0x17 +PRODM2: equ 0x17 AXL0: equ 0x18 AXL1: equ 0x19 @@ -88,7 +88,7 @@ NUM_SAMPLES: equ 1024 ; 1024 stereo samples 16 bits /**************************************************************/ /* SOUND CHANNEL REGS */ /**************************************************************/ - + MEM_REG2: equ 0x0 MEM_VECTH: equ MEM_REG2 MEM_VECTL: equ MEM_REG2+1 @@ -108,10 +108,10 @@ DELAYL_SND: equ MEM_REG+3 // Delay samples Low word CHAN_REGS: equ MEM_REG+4 // specific regs for the channel -FLAGSH_SMP: equ CHAN_REGS+0 // countain number of bytes for step (1-> Mono 8 bits, 2-> Stereo 8 bits and Mono 16 bits, 4-> Stereo 16 bits) +FLAGSH_SMP: equ CHAN_REGS+0 // contains number of bytes for step (1-> Mono 8 bits, 2-> Stereo 8 bits and Mono 16 bits, 4-> Stereo 16 bits) FLAGSL_SMP: equ CHAN_REGS+1 // 0->Mono 8 bits, 1->Stereo 8 bits, 2->Mono 16 bits 3 -> Stereo 16 bits -ADDRH_SMP: equ CHAN_REGS+2 // start address +ADDRH_SMP: equ CHAN_REGS+2 // start address ADDRL_SMP: equ CHAN_REGS+3 ADDREH_SMP: equ CHAN_REGS+4 // end address @@ -156,7 +156,7 @@ data_end: equ MEM_SAMP+0x20 MEM_SND: equ data_end ; it need 2048 words (4096 bytes) - + /*** START CODE ***/ @@ -175,16 +175,16 @@ MEM_SND: equ data_end ; it need 2048 words (4096 bytes) lri $CONFIG, #0xff lri $SR,#0 - s16 - clr15 - m0 + s16 + clr15 + m0 /**************************************************************/ /* main */ /**************************************************************/ main: - + // send init token to CPU si @DMBH, #0xdcd1 @@ -195,7 +195,7 @@ recv_cmd: // check if previous mail is received from the CPU call wait_for_dsp_mail - + // wait a mail from CPU call wait_for_cpu_mail @@ -206,7 +206,7 @@ recv_cmd: lri $ACM0,#0xcdd1 cmp jz sys_command - + clr $ACC1 lrs $ACM1, @CMBL @@ -217,7 +217,7 @@ recv_cmd: jz input_samples2 cmpi $ACM1, #0x123 // get the address of the voice datas buffer (CHANNEL DATAS) - jz get_data_addr + jz get_data_addr cmpi $ACM1, #0x222 // process the voice mixing the samples internally jz input_next_samples @@ -226,14 +226,14 @@ recv_cmd: jz send_samples cmpi $ACM1, #0x777 // special: to dump the IROM Datas (remember disable others functions from the interrupt vector to use) - jz rom_dump_word // (CMBH+0x8000) countain the address of IROM + jz rom_dump_word // (CMBH+0x8000) contains the address of IROM cmpi $ACM1, #0x888 // Used for test - jz polla_loca + jz polla_loca cmpi $ACM1, #0x999 jz task_terminate - + si @DMBL, #0x0004 // return 0 as ignore command si @DIRQ, #0x1 // set the interrupt jmp recv_cmd @@ -242,19 +242,19 @@ task_terminate: si @DMBL, #0x0003 si @DIRQ, #0x1 jmp recv_cmd - + sys_command: clr $ACC1 lrs $ACM1, @CMBL - + cmpi $ACM1,#0x0001 jz run_nexttask - + cmpi $ACM1,#0x0002 jz 0x8000 - + jmp recv_cmd - + run_nexttask: s16 call wait_for_cpu_mail @@ -283,7 +283,7 @@ run_nexttask: lrs $27,@CMBL sbclr #0x05 sbclr #0x06 - jmp 0x80b5 + jmp 0x80b5 halt /**************************************************************************************************************************************/ @@ -296,7 +296,7 @@ send_samples: lri $AXL0, #NUM_SAMPLES*4 ; len lr $ACM0, @ADDRH_SND lr $ACL0, @ADDRL_SND - + call do_dma si @DMBL, #0x0004 si @DIRQ, #0x1 // set the interrupt @@ -310,10 +310,10 @@ get_data_addr: lrs $ACM0, @CMBH lr $ACL0, @CMBL - + sr @MEM_VECTH, $ACM0 sr @MEM_VECTL, $ACL0 - + si @DIRQ, #0x0 // clear the interrupt jmp recv_cmd @@ -326,7 +326,7 @@ input_samples: lr $ACM0, @MEM_VECTH lr $ACL0, @MEM_VECTL - lris $AXL0, #0x0004 + lris $AXL0, #0x0004 sr @RETURN, $AXL0 si @DIRQ, #0x0000 @@ -363,7 +363,7 @@ input_samples2: lr $ACM0, @MEM_VECTH lr $ACL0, @MEM_VECTL - lris $AXL0, #0x0004 + lris $AXL0, #0x0004 sr @RETURN, $AXL0 si @DIRQ, #0x0000 @@ -381,7 +381,7 @@ input_samples2: lri $AR0, #MEM_SND lris $AXL1, #DMA_TO_DSP; lri $AXL0, #NUM_SAMPLES*4; len - + call do_dma jmp start_main @@ -390,12 +390,12 @@ input_samples2: // process the voice mixing the samples internally input_next_samples: - + clr $ACC0 lr $ACM0, @MEM_VECTH lr $ACL0, @MEM_VECTL - lris $AXL0, #0x0004 + lris $AXL0, #0x0004 sr @RETURN, $AXL0 si @DIRQ, #0x0000 @@ -408,10 +408,10 @@ input_next_samples: call do_dma /**************************************************************************************************************************************/ -// mixing and control pitch to create 1024 Stereo Samples at 16 bits from here +// mixing and control pitch to create 1024 Stereo Samples at 16 bits from here start_main: - + lri $R08, #48000 // load the previous samples used @@ -426,29 +426,29 @@ start_main: addi $ACM1, #sample_selector mrr $AR3, $ACM1 ilrr $ACM1, @$AR3 - mrr $AR3, $ACM1 // AR3 countain the jump loaded from sample selector + mrr $AR3, $ACM1 // AR3 contains the jump loaded from sample selector clr $ACC0 // test for channel paused - lr $ACM0, @FLAGSL_SMP - andcf $ACM0, #0x20 + lr $ACM0, @FLAGSL_SMP + andcf $ACM0, #0x20 jlz end_main - + // load the sample address lr $ACM0, @ADDRH_SMP lr $ACL0, @ADDRL_SMP // test if ADDR_SMP & ADDR2H_SMP are zero - + tst $ACC0 jnz do_not_change1 // set return as "change of buffer" - lris $AXL0, #0x0004 + lris $AXL0, #0x0004 sr @RETURN, $AXL0 // change to buffer 2 if it is possible @@ -464,10 +464,10 @@ do_not_change1: // backup the external sample address - + mrr $IX2, $ACM0 mrr $IX3, $ACL0 - + // load the counter pitch @@ -500,7 +500,7 @@ do_not_change1: tst $ACC0 jz no_delay -// samples left and right to 0 +// samples left and right to 0 lris $AXH0, #0 lris $AXH1, #0 @@ -510,7 +510,7 @@ do_not_change1: mrr $ACM1, $AXL0 l_delay: iar $AR1 // skip two samples - iar $AR1 + iar $AR1 decm $ACM1 jz exit_delay1 // exit1 if samples to be processed == 0 @@ -522,14 +522,14 @@ l_delay: exit_delay1: decm $ACM0 - + sr @DELAYH_SND, $ACH0 sr @DELAYL_SND, $ACM0 - + lris $AXL0,#0 ; exit from loop - - jmp no_delay - + + jmp no_delay + exit_delay2: @@ -551,9 +551,9 @@ no_delay: R"( /* bucle de generacion de samples */ - + // load the sample buffer with address aligned to 32 bytes blocks (first time) - + si @DSCR, #DMA_TO_DSP // very important!: load_smp_addr_align and jump_load_smp_addr need fix this DMA Register (I gain some cycles so) // load_smp_addr_align input: $IX2:$IX3 @@ -564,25 +564,25 @@ no_delay: lr $IX0, @LEFT_VOLUME lr $IX1, @RIGHT_VOLUME - + // test the freq value clr $ACC0 lr $ACH0, @FREQH_SMP lr $ACM0, @FREQL_SMP - + clr $ACC1 ;lri $ACM1,#48000 mrr $ACM1, $R08 cmp - + // select the output of the routine to process stereo-mono 8/16bits samples - - lri $AR0, #get_sample // fast method <=48000 -// if number is greater freq>48000 fix different routine - - ifg + lri $AR0, #get_sample // fast method <=48000 + +// if number is greater freq>48000 fix different routine + + ifg lri $AR0, #get_sample2 // slow method >48000 // loops for samples to be processed @@ -594,12 +594,12 @@ no_delay: // Mix right sample section - lrr $ACL0, @$AR1 // load in ACL0 the right sample from the internal buffer + lrr $ACL0, @$AR1 // load in ACL0 the right sample from the internal buffer movax $ACC1, $AXL1 // big trick :) load the current sample <<16 and sign extended asl $ACC0,#24 // convert sample from buffer to 24 bit number with sign extended (ACH0:ACM0) asr $ACC0,#-8 - + add $ACC0,$ACC1 // current_sample+buffer sample cmpi $ACM0,#32767 // limit to 32767 @@ -613,20 +613,20 @@ right_skip: cmpi $ACM0,#-32768 // limit to -32768 ifle lri $ACM0, #-32768 - -right_skip2: + +right_skip2: srri @$AR1, $ACM0 // store the right sample mixed to the internal buffer and increment AR1 // Mix left sample section - lrr $ACL0, @$AR1 // load in ACL0 the left sample from the internal buffer + lrr $ACL0, @$AR1 // load in ACL0 the left sample from the internal buffer movax $ACC1, $AXL0 // big trick :) load the current sample <<16 and sign extended - + asl $ACC0, #24 // convert sample from buffer to 24 bit number with sign extended (ACH0:ACM0) asr $ACC0, #-8 - + add $ACC0, $ACC1 // current_sample+buffer sample cmpi $ACM0,#32767 // limit to 32767 @@ -640,11 +640,11 @@ left_skip: cmpi $ACM0,#-32768 // limit to -32768 ifle lri $ACM0, #-32768 - -left_skip2: + +left_skip2: srri @$AR1, $ACM0 // store the left sample mixed to the internal buffer and increment AR1 - + // adds the counter with the voice frequency and test if it >=48000 to get the next sample clr $ACC1 @@ -653,7 +653,7 @@ left_skip2: clr $ACC0 lr $ACH0, @FREQH_SMP lr $ACM0, @FREQL_SMP - + add $ACC1,$ACC0 clr $ACC0 //lri $ACM0,#48000 @@ -663,7 +663,7 @@ left_skip2: jrnc $AR0 //get_sample or get_sample2 method - sr @COUNTERH_SMP, $ACH1 + sr @COUNTERH_SMP, $ACH1 sr @COUNTERL_SMP, $ACM1 jmp loop_end @@ -700,8 +700,8 @@ get_sample2: // slow method cmp jle get_sample2 - - sr @COUNTERH_SMP, $ACH1 + + sr @COUNTERH_SMP, $ACH1 sr @COUNTERL_SMP, $ACM1 mrr $ACM0, $IX2 // load ADDRH_SMP @@ -721,14 +721,14 @@ get_sample2: // slow method // load samples from dma, return $ar2 with the addr to get the samples and return using $ar0 to the routine to process 8-16bits Mono/Stereo - jmp jump_load_smp_addr + jmp jump_load_smp_addr // get a new sample for freq <= 48000 Hz get_sample: // fast method - + sub $ACC1,$ACC0 // restore the counter - sr @COUNTERH_SMP, $ACH1 + sr @COUNTERH_SMP, $ACH1 sr @COUNTERL_SMP, $ACM1 // restore the external sample buffer address @@ -739,7 +739,7 @@ get_sample: // fast method lr $AXL1, @FLAGSH_SMP // add the step to get the next samples addaxl $ACC0, $AXL1 - + clr $ACC1 mrr $ACM1, $r0a // load ADDREH_SMP mrr $ACL1, $r0b // load ADDREL_SMP @@ -756,21 +756,21 @@ get_sample: // fast method // load samples from dma, return $ar2 with the addr and return using $ar0 to the routine to process 8-16bits Mono/Stereo or addr_get_sample_again - jmp jump_load_smp_addr + jmp jump_load_smp_addr sample_selector: - cw mono_8bits - cw mono_16bits - cw stereo_8bits - cw stereo_16bits + cw mono_8bits + cw mono_16bits + cw stereo_8bits + cw stereo_16bits get_new_buffer: // set return as "change of buffer": it need to change the sample address - lris $AXL0, #0x0004 + lris $AXL0, #0x0004 sr @RETURN, $AXL0 - + call change_buffer // load add from addr2 // addr is 0 ? go to zero_samples and exit @@ -785,9 +785,9 @@ get_new_buffer: // jump_load_smp_addr: $IX2:$IX3 // load samples from dma, return $ar2 with the addr to get the samples and return using $ar0 to the routine to process 8-16bits Mono/Stereo - jmp jump_load_smp_addr + jmp jump_load_smp_addr -// set to 0 the current samples +// set to 0 the current samples zero_samples: @@ -796,7 +796,7 @@ zero_samples: jmp out_samp mono_8bits: - + // 8 bits mono mrr $ACM1, $IX3 lrri $ACL0, @$AR2 @@ -810,7 +810,7 @@ mono_8bits: mrr $AXH0,$ACL0 jmp out_samp -stereo_8bits: +stereo_8bits: // 8 bits stereo @@ -838,8 +838,8 @@ stereo_16bits: lrri $AXH1, @$AR2 lrri $AXH0, @$AR2 -out_samp: - +out_samp: + // multiply sample x volume // LEFT_VOLUME @@ -860,7 +860,7 @@ loop_end: nop end_process: - + // load the sample address clr $ACC0 @@ -872,7 +872,7 @@ end_process: // set return as "change of buffer" - lris $AXL0, #0x0004 + lris $AXL0, #0x0004 sr @RETURN, $AXL0 // change to buffer 2 if it is possible @@ -880,13 +880,13 @@ end_process: call change_buffer save_datas_end: - + sr @ADDRH_SMP, $IX2 sr @ADDRL_SMP, $IX3 - sr @SMP_R, $AXH0 + sr @SMP_R, $AXH0 sr @SMP_L, $AXH1 - -end_main: + +end_main: // program DMA to send the CHANNEL DATAS changed @@ -909,35 +909,35 @@ end_main: jmp recv_cmd change_buffer: - + clr $ACC0 lr $ACM0, @LEFT_VOLUME2 lr $ACL0, @RIGHT_VOLUME2 - sr @LEFT_VOLUME, $ACM0 + sr @LEFT_VOLUME, $ACM0 sr @RIGHT_VOLUME, $ACL0 - mrr $IX0, $ACM0 + mrr $IX0, $ACM0 mrr $IX1, $ACL0 lr $ACM0, @ADDR2EH_SMP lr $ACL0, @ADDR2EL_SMP - sr @ADDREH_SMP, $ACM0 + sr @ADDREH_SMP, $ACM0 sr @ADDREL_SMP, $ACL0 mrr $r0a, $ACM0 mrr $r0b, $ACL0 lr $ACM0, @ADDR2H_SMP lr $ACL0, @ADDR2L_SMP - sr @ADDRH_SMP, $ACM0 + sr @ADDRH_SMP, $ACM0 sr @ADDRL_SMP, $ACL0 - sr @BACKUPH_SMP, $ACM0 + sr @BACKUPH_SMP, $ACM0 sr @BACKUPL_SMP, $ACL0 mrr $IX2, $ACM0 mrr $IX3, $ACL0 - + lr $ACM1, @FLAGSL_SMP andcf $ACM1, #0x4 retlz - + sr @ADDR2H_SMP, $ACH0 sr @ADDR2L_SMP, $ACH0 sr @ADDR2EH_SMP, $ACH0 @@ -1007,7 +1007,7 @@ jump_load_smp_addr: asr $ACC0, #-1 andi $ACM0, #0xf jz jump_load_smp_dma - + addi $ACM0, #MEM_SAMP mrr $AR2, $ACM0 jmpr $AR3 @@ -1024,10 +1024,10 @@ wait_dma2: lrs $ACM0, @DSCR andcf $ACM0, #0x4 jlz wait_dma2 - + lri $AR2, #MEM_SAMP jmpr $AR3 - + // exception table exception0: // RESET @@ -1038,7 +1038,7 @@ exception1: // STACK OVERFLOW exception2: rti - + exception3: rti @@ -1047,21 +1047,21 @@ exception4: exception5: // ACCELERATOR ADDRESS OVERFLOW rti - + exception6: rti exception7: rti -// routine to read a word of the IROM space +// routine to read a word of the IROM space rom_dump_word: clr $ACC0 lr $ACM0, @CMBH - ori $ACM0, #0x8000 + ori $ACM0, #0x8000 mrr $AR0, $ACM0 clr $ACC0 ilrr $ACM0, @$AR0 @@ -1076,7 +1076,7 @@ polla_loca: clr $ACC0 lri $acm0, #0x0 andf $acm0,#0x1 - + sr @DMBH, $sr sr @DMBL, $acm0 ;si @DIRQ, #0x1 // set the interrupt |
