FreeCalypso > hg > fc-magnetite
annotate src/g23m-fad/fad/fad_sbm.c @ 278:ca343ccbca81
dar_reset_system(): check the entity_dar_callback pointer for NULL
before calling through it
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Mon, 07 Aug 2017 04:20:45 +0000 | 
| parents | 90eb61ecd093 | 
| children | 
| rev | line source | 
|---|---|
| 
174
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1 /* | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2 +----------------------------------------------------------------------------- | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3 | Project : GSM-F&D (8411) | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
4 | Modul : FAD_SBM | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
5 +----------------------------------------------------------------------------- | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
6 | Copyright 2002 Texas Instruments Berlin, AG | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
7 | All rights reserved. | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
8 | | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
9 | This file is confidential and a trade secret of Texas | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
10 | Instruments Berlin, AG | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
11 | The receipt of or possession of this file does not convey | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
12 | any rights to reproduce or disclose its contents or to | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
13 | manufacture, use, or sell anything it may describe, in | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
14 | whole, or in part, without the specific written consent of | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
15 | Texas Instruments Berlin, AG. | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
16 +----------------------------------------------------------------------------- | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
17 | Purpose : This Modul defines the send buffer manager for | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
18 | the component Fax Adaptation 3.45 of the mobile station | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
19 +----------------------------------------------------------------------------- | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
20 */ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
21 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
22 #ifndef FAD_SBM_C | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
23 #define FAD_SBM_C | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
24 #endif | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
25 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
26 #define ENTITY_FAD | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
27 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
28 /*==== INCLUDES ===================================================*/ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
29 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
30 #include <string.h> | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
31 #include "typedefs.h" | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
32 #include "pconst.cdg" | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
33 #include "vsi.h" | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
34 #include "custom.h" | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
35 #include "gsm.h" | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
36 #include "cnf_fad.h" | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
37 #include "mon_fad.h" | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
38 #include "prim.h" | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
39 #include "pei.h" | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
40 #include "tok.h" | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
41 #include "ccdapi.h" | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
42 #include "cl_ribu.h" | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
43 #include "fad.h" | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
44 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
45 /*==== CONST =======================================================*/ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
46 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
47 /*==== TYPES =======================================================*/ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
48 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
49 /*==== VAR EXPORT ==================================================*/ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
50 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
51 /*==== VAR LOCAL ===================================================*/ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
52 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
53 /*==== FUNCTIONS ===================================================*/ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
54 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
55 /* | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
56 +--------------------------------------------------------------------+ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
57 | PROJECT : GSM-F&D (8411) MODULE : FAD_SBM | | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
58 | STATE : code ROUTINE : sbm_init | | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
59 +--------------------------------------------------------------------+ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
60 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
61 PURPOSE : | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
62 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
63 */ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
64 GLOBAL void sbm_init(USHORT frameSize) | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
65 { | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
66 T_SBM *sbm = &fad_data->sbm; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
67 USHORT n; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
68 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
69 TRACE_FUNCTION ("sbm_init()"); | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
70 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
71 cl_ribu_init(&sbm->ribu, SBM_PRIMBUF_SIZE); | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
72 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
73 for (n = 0; n < sbm->ribu.depth; n++) | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
74 sbm->Prim[n].Prim = NULL; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
75 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
76 sbm->PA = 0; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
77 sbm->CurrPrimOff = 0; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
78 sbm->CurrPrimLen = 0; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
79 sbm->FrameSize = frameSize; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
80 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
81 fad_data->snd.FD.buf = fad_data->snd.FD_buf; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
82 } | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
83 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
84 /* | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
85 +--------------------------------------------------------------------+ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
86 | PROJECT : GSM-F&D (8411) MODULE : FAD_SBM | | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
87 | STATE : code ROUTINE : sbm_store_prim | | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
88 +--------------------------------------------------------------------+ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
89 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
90 PURPOSE : | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
91 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
92 */ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
93 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
94 GLOBAL void sbm_store_prim(T_SBM_PRIM *sendPrim) | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
95 { | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
96 T_SBM *sbm = &fad_data->sbm; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
97 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
98 #ifdef _SIMULATION_ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
99 TRACE_FUNCTION ("sbm_store_prim()"); | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
100 #endif | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
101 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
102 sbm->Prim[sbm->ribu.wi].Prim = sendPrim; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
103 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
104 if (!sbm->ribu.filled) /* Initialize new primitive for read out */ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
105 { | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
106 sbm->CurrPrimOff = sendPrim->sdu.o_buf >> 3; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
107 sbm->CurrPrimLen = sendPrim->sdu.l_buf >> 3; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
108 } | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
109 cl_ribu_write_index(&sbm->ribu); | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
110 } | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
111 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
112 /* | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
113 +--------------------------------------------------------------------+ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
114 | PROJECT : GSM-F&D (8411) MODULE : FAD_SBM | | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
115 | STATE : code ROUTINE : sbm_free_empty_prims| | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
116 +--------------------------------------------------------------------+ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
117 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
118 PURPOSE : | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
119 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
120 */ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
121 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
122 GLOBAL void sbm_free_empty_prims(void) | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
123 { | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
124 T_SBM *sbm = &fad_data->sbm; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
125 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
126 #ifdef _SIMULATION_ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
127 TRACE_FUNCTION ("sbm_free_empty_prims()"); | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
128 #endif | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
129 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
130 while (sbm->PA NEQ sbm->ribu.ri) | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
131 { | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
132 PFREE (sbm->Prim[sbm->PA].Prim); | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
133 sbm->PA++; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
134 if (sbm->PA EQ sbm->ribu.depth) | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
135 sbm->PA = 0; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
136 } | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
137 } | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
138 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
139 /* | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
140 +--------------------------------------------------------------------+ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
141 | PROJECT : GSM-F&D (8411) MODULE : FAD_SBM | | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
142 | STATE : code ROUTINE : sbm_get_frame | | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
143 +--------------------------------------------------------------------+ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
144 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
145 PURPOSE : | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
146 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
147 */ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
148 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
149 GLOBAL BOOL sbm_get_frame(T_FRAME_DESC *ul_FD, UBYTE reqFrames) | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
150 { | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
151 T_SBM *sbm = &fad_data->sbm; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
152 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
153 USHORT requiredData; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
154 BOOL insertSync; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
155 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
156 #ifdef _SIMULATION_ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
157 TRACE_FUNCTION ("sbm_get_frame()"); | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
158 #endif | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
159 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
160 cl_set_frame_desc_0(ul_FD, NULL, 0); | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
161 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
162 if (!sbm->ribu.filled) /* There is no primitive */ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
163 { | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
164 return FALSE; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
165 } | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
166 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
167 insertSync = FALSE; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
168 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
169 if (sbm->syncCycle NEQ SYNC_CYCLE_NONE) | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
170 { | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
171 if (reqFrames > sbm->framesUntilSync) | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
172 { | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
173 insertSync = TRUE; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
174 reqFrames--; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
175 } | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
176 else | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
177 sbm->framesUntilSync -= reqFrames; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
178 } | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
179 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
180 requiredData = sbm->FrameSize * (USHORT)reqFrames; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
181 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
182 if (sbm->CurrPrimLen > requiredData) | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
183 { | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
184 /* Current primitive holds more than enough data */ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
185 cl_set_frame_desc_0(ul_FD, sbm->Prim[sbm->ribu.ri].Prim->sdu.buf + sbm->CurrPrimOff, requiredData); | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
186 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
187 sbm->CurrPrimOff += requiredData; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
188 sbm->CurrPrimLen -= requiredData; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
189 } | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
190 else | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
191 { | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
192 /* | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
193 * Current primitive doesn't hold enough data | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
194 * or just the right amount of data. | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
195 * -> Switch to next primitive | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
196 */ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
197 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
198 /* Take all data from first primitive */ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
199 cl_set_frame_desc_0(ul_FD, sbm->Prim[sbm->ribu.ri].Prim->sdu.buf + sbm->CurrPrimOff, sbm->CurrPrimLen); | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
200 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
201 cl_ribu_read_index(&sbm->ribu); /* Switch to next primitive */ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
202 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
203 if (!sbm->ribu.filled) /* There is no second primitive */ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
204 { | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
205 ul_FD->Adr[1] = (UBYTE *) NULL; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
206 ul_FD->Len[1] = 0; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
207 sbm->CurrPrimOff = 0; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
208 sbm->CurrPrimLen = 0; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
209 } | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
210 else /* Second primitive is available */ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
211 { | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
212 requiredData -= sbm->CurrPrimLen; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
213 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
214 sbm->CurrPrimOff = sbm->Prim[sbm->ribu.ri].Prim->sdu.o_buf >> 3; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
215 sbm->CurrPrimLen = sbm->Prim[sbm->ribu.ri].Prim->sdu.l_buf >> 3; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
216 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
217 if (requiredData EQ 0) | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
218 { | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
219 /* | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
220 * First primitive was just used up. | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
221 * We had to switch to next primitive, but don't need data. | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
222 */ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
223 ul_FD->Adr[1] = (UBYTE *) NULL; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
224 ul_FD->Len[1] = 0; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
225 } | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
226 else | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
227 { | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
228 /* Data from next primitive is required */ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
229 ul_FD->Adr[1] = sbm->Prim[sbm->ribu.ri].Prim->sdu.buf + sbm->CurrPrimOff; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
230 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
231 if (sbm->CurrPrimLen > requiredData) | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
232 { | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
233 /* Enough data found in second primitive */ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
234 ul_FD->Len[1] = requiredData; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
235 sbm->CurrPrimOff += requiredData; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
236 sbm->CurrPrimLen -= requiredData; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
237 } | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
238 else | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
239 { | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
240 /* Even with the second primitive there are not enough data! */ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
241 ul_FD->Len[1] = sbm->CurrPrimLen; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
242 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
243 /* Second primitive is also emptied, switch to next primitve */ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
244 cl_ribu_read_index(&sbm->ribu); | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
245 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
246 if (sbm->ribu.filled) | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
247 { | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
248 sbm->CurrPrimOff = sbm->Prim[sbm->ribu.ri].Prim->sdu.o_buf >> 3; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
249 sbm->CurrPrimLen = sbm->Prim[sbm->ribu.ri].Prim->sdu.l_buf >> 3; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
250 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
251 } | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
252 else | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
253 { | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
254 sbm->CurrPrimOff = 0; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
255 sbm->CurrPrimLen = 0; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
256 } | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
257 } | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
258 } | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
259 } | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
260 } | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
261 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
262 if ((ul_FD->Len[0]+ul_FD->Len[1]) < requiredData) | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
263 { | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
264 /* | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
265 * If there are not enough data available align the length to 64 bit | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
266 * align the length to 64 bit boundaries. | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
267 * This alignment should normally occur at the end of the message phase. | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
268 * The required data are always a multiple of 64 bits. | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
269 */ | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
270 int i, k = 0; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
271 int diff = requiredData - (ul_FD->Len[0]+ul_FD->Len[1]); | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
272 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
273 if (ul_FD->Len[1] > 0) | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
274 k = 1; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
275 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
276 for (i = 0; i < ul_FD->Len[k]; i++) | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
277 fad_data->snd.ul_FD_align[i] = ul_FD->Adr[k][i]; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
278 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
279 for (i = ul_FD->Len[k]; i < ul_FD->Len[k] + diff; i++) | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
280 fad_data->snd.ul_FD_align[i] = 0; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
281 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
282 ul_FD->Len[k] += diff; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
283 ul_FD->Adr[k] = fad_data->snd.ul_FD_align; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
284 } | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
285 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
286 if (insertSync) | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
287 { | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
288 USHORT framesUntilSync = sbm->framesUntilSync; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
289 USHORT frame_off = 0, i, j; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
290 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
291 for (i=0; i<2; i++) | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
292 { | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
293 for (j=0; j<ul_FD->Len[i]; j+=FRAME_SIZE) | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
294 { | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
295 if (framesUntilSync-- EQ 0) | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
296 { | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
297 memcpy((char*)&sbm->frames[frame_off], (char*)FR_SEQ_SYNC, FRAME_SIZE); | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
298 frame_off+=FRAME_SIZE; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
299 } | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
300 memcpy((char*)&sbm->frames[frame_off], (char*)ul_FD->Adr[i], FRAME_SIZE); | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
301 frame_off+=FRAME_SIZE; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
302 | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
303 sbm->framesUntilSync = sbm->syncCycle - reqFrames + framesUntilSync; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
304 } | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
305 } | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
306 cl_set_frame_desc_0(ul_FD, sbm->frames, (USHORT)((reqFrames+1)*FRAME_SIZE)); | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
307 } | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
308 return TRUE; | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
309 } | 
| 
 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
310 | 
