increase PWM frequency to 64kHz
authorTobias Girstmair <tobi@isticktoit.net>
Tue, 27 Apr 2021 08:15:07 +0000 (10:15 +0200)
committerTobias Girstmair <tobi@isticktoit.net>
Tue, 27 Apr 2021 08:57:22 +0000 (10:57 +0200)
audio is still borked, though

bsv.asm

diff --git a/bsv.asm b/bsv.asm
index f31ee13cac06824bc715b6acf2562a8767f0e4ac..8a73ba5da9c41a18a471bf44a2a0a0800f9a0077 100644 (file)
--- a/bsv.asm
+++ b/bsv.asm
@@ -236,14 +236,13 @@ init:
         ; to the PWM frequency, we can use a much faster clock for PWM. The
         ; highest "carrier frequency" for the PCM samples we can generate is by
         ; setting Timer2 to 6 bit, (IHRC/1)/1 mode, giving a frequency of
-        ; (4*4.096MHz)/2^6 = 256kHz.
+        ; (4*4.096MHz)/2^6 = 256kHz. We really use (4*4.096MHz)/2^8 = 64kHz.
        MOV     pwm, a          ; clear
        MOV     tm2b, a         ; clear
        MOV     a, #(( 2<<4 | 3<<2 | 1<<1 | 0<<0 ))
        MOV     tm2c, a         ; timer2: IHRC, PA4, PWM, not inverted
-       MOV     a, #(( 0<<7 | 1<<5 | 0<<0 ))
+       MOV     a, #(( 0<<7 | 0<<5 | 0<<0 ))
        MOV     tm2s, a         ; 8bit, /4 prescaler, divide by (0+1)
-       ;XXX: increase pwm base frequency (/1) -> (4*4.096mhz)/(2^8) = 64khz
 
        ;timer16/ivr setup
        MOV     a, #(( 0<<0 | 1<<3 | 4<<5 ))    ; ovf@bit8 (512cy; ยง9.2.5), clk/4, ihrc
Imprint / Impressum