properly clear pa,tm2b,pwm; explain paph use
authorTobias Girstmair <tobi@isticktoit.net>
Wed, 28 Apr 2021 07:26:25 +0000 (09:26 +0200)
committerTobias Girstmair <tobi@isticktoit.net>
Wed, 28 Apr 2021 07:26:25 +0000 (09:26 +0200)
bsv.asm

diff --git a/bsv.asm b/bsv.asm
index f7bb7ff3269d0c4691ca97d6bcb2628ec1e76c23..2c34bc97dd9cb9eb2fbe68bedc73a3d4367e83f8 100644 (file)
--- a/bsv.asm
+++ b/bsv.asm
@@ -231,8 +231,12 @@ init:
        MOV     pac, a          ; (conserves power, apparently)
        MOV     a, #(( 1<<4 ))
        MOV     padier, a       ; disable pin wakeup, except on audio pin
+       MOV     paph, a         ; enable pull-up on audio pin
+       ; Line input typically has an impedance of 10k-100kOhm, so we need our
+       ; pull-ups to be even higher. Since the ones of the PMS150C are
+       ; typically 100k-220k, we can use it and don't need an external one.
+       MOV     a, #0
        MOV     pa, a           ; PortA data = 0
-       MOV     paph, a         ; disable all pull-ups
 
        ; timer2/pwm setup:
         ; Since (unlike in the ATTiny4 version) the interrupt timer is not tied
@@ -355,6 +359,7 @@ interrupt:
        MOV     tm2b, a
 
        ; generate new sample:
+voice1:
        MOV     a, i2; "mov mem,mem"
        MOV     n, a; does not exist
        SL      n
@@ -372,6 +377,7 @@ interrupt:
        AND     a, #0x1
        MOV     pwm, a
 
+voice2:
        MOV     a, i2
        SL      a
        SL      a
@@ -390,6 +396,7 @@ interrupt:
        AND     a, #3
        ADD     pwm, a
 
+voice3:
        MOV     a, i2
        MOV     mod3hi, a
        SR      mod3hi
@@ -429,6 +436,7 @@ interrupt:
        AND     a, #3
        ADD     pwm, a
 
+voice4:
        MOV     a, i2
        MOV     mod3hi, a
        SR      mod3hi
@@ -468,6 +476,7 @@ interrupt:
        AND     a, #3
        ADD     a, pwm
 
+
        SWAP    a
        MOV     pwm, a
        ; next sample is now ready.
Imprint / Impressum