File: titi.lst - Tab length: 1 2 4 8 - Lines: on off - No wrap: on off

01: 
02:                                         t.txt                Page 1       8:45:24 am 3-Feb-2022        RMAC 2.1.13 (Win32)
03: 
04: 
05:     1           =0000000B               nb_bits_virgule_offset                                  .equ                    11      
06:     2                                                           .dsp
07:     3                                                          
08:     4                                                   ;movei          #LSP_DSP_PAULA_internal_location3,R28                                           ; adresse sample actuelle, a virgule
09: RISC code generated with no origin defined
10:     5  00000000  943C                  W                movefa          R1,R28
11:     6                                                   ;movei          #LSP_DSP_PAULA_internal_increment3,R27
12:     7  00000002  945B                                   movefa          R2,R27
13:     8  00000004  A79A                                   load            (R28),R26                                                                               ; R26=current pointeur sample 16:16
14:     9  00000006  A77B                                   load            (R27),R27                                                                               ; R27=increment 16:16
15:    10  00000008  8B51                                   move            R26,R17                                                                                 ; R17 = pointeur sample a virgule avant increment
16:    11                                                   ;movei          #LSP_DSP_PAULA_internal_length3,R25                             ; =FIN
17:    12  0000000A  9479                                   movefa          R3,R25
18:    13  0000000C  037A                                   add                     R27,R26                                                                                 ; R26=adresse+increment , a virgule
19:    14  0000000E  A737                                   load            (R25),R23
20:    15  00000010  9416                                   movefa          R0,R22
21:    16  00000012  7AFA                                   cmp                     R23,R26
22:    17  00000014  xxxx                                   jr                      mi,DSP_LSP_routine_interruption_I2S_pas_fin_de_sample_channel3
23:    18                                                   ;nop
24:    19  00000016  6571                                   shrq            #nb_bits_virgule_offset,R17                                                             ; ancien pointeur adresse sample partie entiere
25:    20                                  
26:    21                                   ; fin de sample => on recharge les infos des registres externes
27:    22  00000018  617A                                   shlq            #32-nb_bits_virgule_offset,R26
28:    23                                                   ;movei          #LSP_DSP_PAULA_AUD3LEN,R27                      ; fin, a virgule
29:    24  0000001A  949B                                   movefa          R4,R27
30:    25  0000001C  66BA                                   shrq            #32-nb_bits_virgule_offset,R26          ; on ne garde que la virgule
31:    26                                                   ;movei          #LSP_DSP_PAULA_AUD3L,R24                        ; sample location a virgule
32:    27  0000001E  94B8                                   movefa          R5,R24
33:    28  00000020  A77B                                   load            (R27),R27
34:    29  00000022  A717                                   load            (R24),R23
35:    30  00000024  BF3B                                   store           R27,(R25)                                                       ; update internal sample end, a virgule
36:    31  00000026  2AFA                                   or                      R23,R26                                                         ; on garde la virgule en cours
37:    32                                                  
38:    33                                   DSP_LSP_routine_interruption_I2S_pas_fin_de_sample_channel3:
39:    34  00000028  BF9A                                   store           R26,(R28)                                                       ; stocke internal sample pointeur, a virgule
40:    35  0000002A  657A                                   shrq            #nb_bits_virgule_offset,R26                                                             ; nouveau pointeur adresse sample partie entiere
41:    36                                                                                                                                                   ;shrq           #nb_bits_virgule_offset,R17                                                             ; ancien pointeur adresse sample partie entiere
42:    37  0000002C  8B59                                   move            R26,R25                                                         ; R25 = nouveau pointeur sample
43:    38  0000002E  26D1                                   and                     R22,R17                                                         ; ancien pointeur sample modulo 4
44:    39  00000030  26DA                                   and                     R22,R26                                                         ; nouveau pointeur sample modulo 4
45:    40                                                   ;movei          #LSP_DSP_PAULA_AUD3DAT,R28                      ; 4 octets actuels
46:    41  00000032  189C                                   subq            #4,R28                                                          ; de LSP_DSP_PAULA_internal_location3 => LSP_DSP_PAULA_AUD3DAT
47:    42  00000034  3016                                   not                     R22                                                                     ; => %11
48:    43  00000036  A795                                   load            (R28),R21                                                       ; R21 = octets actuels en stock
49:    44  00000038  26D9                                   and                     R22,R25                                                         ; R25 = position octet ^^� lire
50:    45  0000003A  7A3A                                   cmp                     R17,R26
51:    46  0000003C  xxxx                                   jr                      eq,DSP_LSP_routine_interruption_I2S_pas_nouveau_long_word3
52:    47  0000003E  63B9                                   shlq            #3,R25                                  ; numero d'octet ^^� lire * 8
53:    48                                  
54:    49                                   ; il faut rafraichir R21
55:    50  00000040  A755                                   load            (R26),R21                                                       ; lit 4 nouveaux octets de sample
56:    51  00000042  BF95                                   store           R21,(R28)                                                       ; rafraichit le stockage des 4 octets
57:    52                                  
58:    53                                   DSP_LSP_routine_interruption_I2S_pas_nouveau_long_word3:
59:    54                                                   ;movei          #LSP_DSP_PAULA_AUD3VOL,R23/R24  
60:    55  00000044  189C                                   subq            #4,R28                                                          ; de LSP_DSP_PAULA_AUD3DAT => LSP_DSP_PAULA_AUD3VOL
61: 
62: 
63:                                         t.txt                Page 2       8:45:24 am 3-Feb-2022        RMAC 2.1.13 (Win32)
64: 
65: 
66:    56  00000046  2019                                   neg                     R25                                                                     ; -0 -8 -16 -24
67:    57                                   ; R25=numero d'octet ^^� lire
68:    58                                   ; ch2
69:    59                                                   ;movei          #LSP_DSP_PAULA_internal_increment2,R27
70:    60  00000048  94FB                                   movefa          R7,R27
71:    61                                  
72:    62  0000004A  5F35                                   sh                      R25,R21                                                         ; shift les 4 octets en stock vers la gauche, pour positionner l'octet ^^� lire en haut
73:    63  0000004C  A79C                                   load            (R28),R28                                                       ; R23 = volume : 6 bits
74:    64  0000004E  6F15                                   sharq           #24,R21                                                         ; descends l'octet ^^� lire
75:    65                                   ; ch2
76:    66  00000050  4795                                   imult           R28,R21                                                         ; unsigned multiplication : unsigned sample * volume => 8bits + 6 bits = 14 bits
77:    67                                  
78:    68                                   ; R21=sample channel 3 on 14 bits
79: 
80: 
81:                                         t.txt                Page 3       8:45:24 am 3-Feb-2022        RMAC 2.1.13 (Win32)
82: Symbol Table
83: 
84:   DSP_LSP_routine_interruption_I2S_pas_fin_de_sample_channel3 0000000000000028  t
85:   DSP_LSP_routine_interruption_I2S_pas_nouveau_long_word3 0000000000000044  t
86:   nb_bits_virgule_offset 000000000000000B  a
87: