Sonsivri
 
*
Welcome, Guest. Please login or register.
Did you miss your activation email?
April 26, 2024, 07:58:10 19:58


Login with username, password and session length


Pages: 1 2 3 [All]
Print
Author Topic: cc5x  (Read 37355 times)
0 Members and 1 Guest are viewing this topic.
mark1st
Newbie
*
Offline Offline

Posts: 9

Thank You
-Given: 1
-Receive: 3


« on: October 23, 2007, 12:55:57 12:55 »

Does anyone use cc5x (http://www.bknd.com/cc5x/index.shtml)? How it works?
I've heard it's the best compiler for PICmicro (code savings of 20-30% compared to other C compilers)
 Undecided
regards,
mark
« Last Edit: October 23, 2007, 12:57:48 12:57 by mark1st » Logged
programmer_100
Junior Member
**
Offline Offline

Posts: 58

Thank You
-Given: 93
-Receive: 94


« Reply #1 on: October 23, 2007, 11:37:15 23:37 »

a very good compiler...

I agree, very good compiler, don't know about the code savings though, 30% might be a bit optimistic.
Logged
phamthaihoa
Newbie
*
Offline Offline

Posts: 8

Thank You
-Given: 8
-Receive: 2


« Reply #2 on: October 28, 2007, 03:32:40 03:32 »

a very good compiler...

I don't think so, it can't process number bigger than 16bit.
Logged
sonsivritwchen
Junior Member
**
Offline Offline

Posts: 37

Thank You
-Given: 18
-Receive: 15


« Reply #3 on: October 28, 2007, 01:00:57 13:00 »

From the website of cc5x. It support integer size from 8 to 32 bits. There could be some misunderstandings in the previous post.
Logged
robban
Senior Member
****
Offline Offline

Posts: 265

Thank You
-Given: 34
-Receive: 38


Warrior


WWW
« Reply #4 on: October 29, 2007, 02:38:34 14:38 »

Without licence the cc5x can output 1 k of hexcode but it's always possible to split the code...
If You integrate it with MPLAB, You can see the optimization level and how much code it saves.
Otherwise just put it in the %root% and You have all You need in just one folder.
« Last Edit: November 01, 2007, 11:07:08 23:07 by robban » Logged

Code Warrior
sam_des
Senior Member
****
Offline Offline

Posts: 253

Thank You
-Given: 124
-Receive: 146


« Reply #5 on: October 30, 2007, 06:01:51 18:01 »

Hi,

Yes,a very good compiler & largly under-estimated due to lack of IDE & other flashy stuff.
It's just the command-line tool. Just have a look at all the help files it provides, you can see that whoever wrote this compiler has done great job. I've found no other C compiler which provides so much support for weird PIC architecture. Though it lacks some stuff which all C-programmers take for granted, it does generate compact code & with least RAM.

BTW,it does support 8,16,32 bit integers, 24,32-bit floats, 16,24 bit fixed points numbers.

I have been looking for crack of this for long time(Have tried some things myself, but.. Sad ).
It does allow many 1k modules linked by MPLAB linker, though at reduced optimization, so why bother.
Still, It will be nice to see this one cracked !!

sam_des


Logged

Never be afraid to do something new. Remember Amateurs built the Ark, Professionals built the Titanic !
recan
Guest
« Reply #6 on: November 02, 2007, 11:41:01 23:41 »

test-it... a red edition?
« Last Edit: November 02, 2007, 11:51:34 23:51 by recan » Logged
Bart
Guest
« Reply #7 on: November 03, 2007, 02:38:46 02:38 »

CC8e is the pic18 version... with same demo limits.... there is also a cc8etest version
which checks your code past the 1k limit ,, but wont generate any output and makes all assembly tags M000
Logged
sam_des
Senior Member
****
Offline Offline

Posts: 253

Thank You
-Given: 124
-Receive: 146


« Reply #8 on: November 03, 2007, 08:00:02 20:00 »

Hello,

Thanks recan for RED Edition of cc5x.
Well, it differs from STANDARD & EXTENDED editions of cc5x in following areas...
1] No multitaksing
2] No 24/32-bit integers, 16/32-bit floating, 8/24/32-bit fixed point nos.
IT does support all the other features completely.

Your archive does not contain the license as said on cc5x home-page,but I was able to generate more than 1k code which is limit for FREE edition. Also all the optimizations are fully working. Though I have not tested on real h/w, it seems working nicely.

If anyone find other limitations, I'll be greatful to hear.

sam_des
Logged

Never be afraid to do something new. Remember Amateurs built the Ark, Professionals built the Titanic !
sam_des
Senior Member
****
Offline Offline

Posts: 253

Thank You
-Given: 124
-Receive: 146


« Reply #9 on: November 04, 2007, 05:13:32 17:13 »

Hi,

I ported one of my PIC-14 projects to few C Compilers & here are the results--

PICC(3.249)       - ROM: 2492 Words, RAM: 91-114, Stack 7+1
WIZ-C(14)         - ROM: 2444 Words, RAM: 123,     Stack 6+1
HT-PIC(9.50 PL2)- ROM: 1959 Words, RAM: 113,     Stack 5+2
CC5X(3.2N RED)  - ROM: 1593 Words, RAM:  94,      Stack 4+2

All the compilers were configured for maximum optimization level.
Though CC5X has some limitations like single dim array, simplified math expressions etc, it seems
that when all other things are equal, CC5X is clearly a winner.

Can anyone share STANDARD or EXTENDED edition of cc5x ?

regards,

sam_des

Logged

Never be afraid to do something new. Remember Amateurs built the Ark, Professionals built the Titanic !
bugmike25
Junior Member
**
Offline Offline

Posts: 84

Thank You
-Given: 15
-Receive: 13


« Reply #10 on: November 04, 2007, 06:20:24 18:20 »

Does anyone have a cracked version for this program?
Logged
robban
Senior Member
****
Offline Offline

Posts: 265

Thank You
-Given: 34
-Receive: 38


Warrior


WWW
« Reply #11 on: November 05, 2007, 11:53:15 11:53 »

CC5x red: I've been fiddling around with this compiler and it is able(for some reasons) to output hex-files. But - sorry to say - it is full of bugs. I tried to compile the following code(among others) in the MPLAB environment(though my favourite is TextPad):

/* Crypto program. Let for instance putchar(c/c*2); and everything echoes back as garbage)
   echo characters, serial input/output for 16F84

   Serial communication (RS232) Note that PIC16F84 doesn't even have an UART module!
   
   one start bit, one stop bit, 8 data bits, no parity = 10 bits
   Baudrate: 9600 baud
   ser_in RB1, ser_out RB0 */
   
   #pragma config |= 0x3ff1 //(Fosc=XT, WDTE=off, PWRT=on, CP=off)

 
    bit putchar(char); //function prototype
    char getchar(void); //function prototype

   void main(void)
   {
      char c;
      PORTB = 0b00000001;
      TRISB = 0b01111110;
      while(1)
         {
            c = getchar();   //input one character
            if(c == '\r')
               {
                  putchar('\r');   //line feed
                  putchar('\n');   //carriage return
               }
            else putchar(c);      //echo the character
   
            
      /*Functions*/
      
      bit putchar(char d_out)   //sends one character. Baudrate = 9600 = 104.167 usec/bit
      {
         char bitCount, ti;
         if (d_out == '\0') return 0;   //refuse to send "end of string"
         PORTB.0 = 0 //set startbit
         for(bitCount = 10; bitCount 0; bitCount--)
            {
            //delay one bit 104 usec at 4 MHz (5+30*3-1+1+9=104)
            ti = 30;do;while(--ti 0); nop()
            Carry = 1;            //stop bit
            d_out = rr(d_out);            //rotate right trhough carry
            PORTB.0 = Carry;
            }
      return 1 // all done
      }
      
      char getchar(void)      //receives one character
      {

      //here we use a delay of 1.5 bit = 156 usec
      char d_in, bitCount, ti;
   while(PORTB.1 ==1)   //wait for startbit
      
         //delay 1.5 bit 156 usec @ 4 MHz (5+47*3-1+2+9=156)
         ti = 47; do; while(ti 0); bitCount--)
            {
            Carry = PORTB.1;
            d_in = rr(d_in);   // rotate carry right
               ti = 30; do; while(--ti 0); nop();
            }
         return d_in;
      }
***********************************************************************

Here's what the compiler tells me:

Executing: "C:\CC5X\CC5X.EXE" echo84.c -CC -fINHX8M -p16F84 -a -L -Q -V -FM
CC5X Version 3.2N, Copyright (c) B Knudsen Data, Norway 1992-2006, No. 1705
 --> RED edition, 8-16 bit int, 24 bit float, 8k code
echo84.c:

      
      bit putchar(char d_out)   //sends one character. Baudrate = 9600 = 104.167 usec/bit
                           ^------
Error[1] C:\CC5X\echo84\echo84.c 34 : Syntax error
 (The expression must be corrected. The marker ^------ shows
 the approximate position where CC5X gives up. The documentation
 should be checked if the cause is not obvious)

Error options: -ew: no warning details  -ed: no error details  -eL: list details
BUILD FAILED: Mon Nov 05 12:48:39 2007

Any clever remarks? All the example code is working OK. I don't have the energy to inform Knudsen, all they do is to give me a "Thank You" and forget me


//Cheers Robban
      
            
               
   
« Last Edit: November 05, 2007, 12:00:25 12:00 by robban » Logged

Code Warrior
recan
Guest
« Reply #12 on: November 05, 2007, 12:44:25 12:44 »

try this correction...

{
      char c;
      PORTB = 0b00000001;
      TRISB = 0b01111110;
      while(1)
         {
            c = getchar();   //input one character
            if(c == '\r')
               {
                  putchar('\r');   //line feed
                  putchar('\n');   //carriage return
               }
            else putchar(c);      //echo the character
////////////////////
         {   
{
//////////////////
 
           
      /*Functions*/
     
      bit putchar(char d_out)   //sends one character. Baudrate = 9600 = 104.167 usec/bit
Logged
ipek
Junior Member
**
Offline Offline

Posts: 95

Thank You
-Given: 59
-Receive: 79


« Reply #13 on: November 05, 2007, 01:32:46 13:32 »

hello avaible old version cracked unlimit & editor only by path change very easy
v3.2g only 12xx and 16xx compiled 18xx not enought

http://rapidshare.com/files/67595827/ccccccc5x.rar.html
Logged
sam_des
Senior Member
****
Offline Offline

Posts: 253

Thank You
-Given: 124
-Receive: 146


« Reply #14 on: November 06, 2007, 04:44:44 16:44 »

Hi robban,

Which C compiler accepted your program ?  Huh
Just tell me & I will stay away from it for rest of my life.  Grin

Here are some of the errors in your program, all marked "// ERROR //"
I got these just by reading your program & I haven't bothered to lint/compile. There may be more of them.  Roll Eyes

1]
        else putchar(c);        //echo the character
    //ERROR// missing closing bracket
}

2]
    PORTB.0 = 0 //ERROR// missing semicolon                     //set startbit
3]
    for(bitCount = 10; bitCount 0; bitCount--)//ERROR//missing condition in for()
4]
         ti = 30;do;while(--ti 0); nop() //ERROR// missing condition in while
                                                  //ERROR// missing semicolon at the after nop()
                                                  //ERROR// Syntax of do-while() loop.
5]
    return 1 //ERROR// missing semicolon                        // all done
6]
    while(PORTB.1 ==1) //ERROR//missing semicolon           //wait for startbit
7]
    ti = 47; do; while(ti 0); bitCount--; //ERROR//missing condition in while()
8]
        ti = 30; do; while(--ti 0); nop(); //ERROR// missing condition in while()
                                                    //ERROR// Syntax of do-while() loop

No wonder Knudsen guys said Thank You & forgot to reply.
They are not there to teach you C.  Embarrassed

I hope you will start using tools like "lint".

& don't forget to tell me which C compiler did accepted this. You will do me a great favour.  Wink

BTW thanks ipek for your post. It seems to generate code for more than 1k,but does bot generate other files such as listing/asm/fcs etc. Also all other demo restrications remain. Sad

regards,
sam_des
« Last Edit: November 06, 2007, 05:00:46 17:00 by sam_des » Logged

Never be afraid to do something new. Remember Amateurs built the Ark, Professionals built the Titanic !
robban
Senior Member
****
Offline Offline

Posts: 265

Thank You
-Given: 34
-Receive: 38


Warrior


WWW
« Reply #15 on: November 06, 2007, 06:30:50 18:30 »

Thanx for Yr. effort.
I got this code snippet from a web-based university in a course in Mechatronics. This snippet is solely intended for the CC5X. I have not tried it on another compiler, and I think I never will. CC5X is not ANSI and is known for it's ability to integrate asm-code and C. In my opinion, it's better to use MPASM(35 instructions) with tons of example code.
If You manage to compile properly, let me know...
Logged

Code Warrior
sam_des
Senior Member
****
Offline Offline

Posts: 253

Thank You
-Given: 124
-Receive: 146


« Reply #16 on: November 06, 2007, 07:38:54 19:38 »

Hello robban,

Here is your code which can now be compiled using cc5x RED 3.2N. I've changed it somwhat, but still it is quite original code you posted.

Code:
/*
   Crypto program. Let for instance putchar(c/c*2); and everything echoes back as garbage)
   echo characters, serial input/output for 16F84

   Serial communication (RS232) Note that PIC16F84 doesn't even have an UART module!
   
   one start bit, one stop bit, 8 data bits, no parity = 10 bits
   Baudrate: 9600 baud
   ser_in RB1, ser_out RB0
*/
   
#pragma config |= 0x3ff1        //(Fosc=XT, WDTE=off, PWRT=on, CP=off)

 
bit putchar(char);              //function prototype
char getchar(void);             //function prototype

void main(void)
{
    char c;
    PORTB = 0b00000001;
    TRISB = 0b01111110;
    while(1)
    {
        c = getchar();          //input one character
        if('r' == c)
        {
            putchar('\r');      //line feed
            putchar('\n');      //carriage return
        }
        else putchar(c);        //echo the character  ??? Return value not checked ???
    }
}
   
           
/*Functions*/
     
bit putchar(char d_out)              //sends one character. Baudrate = 9600 = 104.167 usec/bit
{
    char bitCount, ti;

    if ('\0' == d_out ){ return 0; }    //refuse to send "end of string"

    PORTB.0 = 0;                      //set startbit
    for(bitCount = 10; bitCount!=0; bitCount--)
    {
        //delay one bit 104 usec at 4 MHz (5+30*3-1+1+9=104)

// sam_des -- ??? Check this delay whether this is indeed 104uS @ 4MHz ???
        ti = 30;
do {
  nop();
}while(--ti);

        Carry = 1;                  //stop bit
        d_out = rr(d_out);          //rotate right trhough carry
        PORTB.0 = Carry;
    }

    //??? sam_des -- Stop Bit ???
    return 1; // all done
}


     
char getchar(void)                  //receives one character
{

    //here we use a delay of 1.5 bit = 156 usec
    char d_in, bitCount, ti;

    while(PORTB.1);            //wait for startbit
     
 
    // sam_des -- ??? Added check for 10 bits in recved char ???
    for( bitCount=10; bitCount!=0; bitCount-- )
    {
    //delay 1.5 bit 156 usec @ 4 MHz (5+47*3-1+2+9=156)

// sam_des -- ??? Check if this delay is indeed 156uS @ 4MHz ???
    ti = 47;
do {
}while(--ti);

        Carry = PORTB.1;
        d_in = rr(d_in);            // rotate carry right

        ti = 30;
do
        {
   nop();
        }while(--ti);
    }
    return d_in;
}

But I've no doubts that this code will NOT work.
Whoever wrote this code, must have forgot half-way what he/she intended to do  Shocked

Some suggestions, Few of them, I've added into the code above. Others..
1] putchar() - for() must do the delay for stop-bit also after 8 char bits.
                  - Check the return value of putchar().
2] getchar() - We must check each bit atleast 3-times during each bit-period & take it as 1 or 0
                   depending max. no. of 0s or 1s deteced.
                 - Since Tx & Rx bauds are same(9600), bit period is same(104uS) in both cases.

regards,
sam_des
Logged

Never be afraid to do something new. Remember Amateurs built the Ark, Professionals built the Titanic !
robban
Senior Member
****
Offline Offline

Posts: 265

Thank You
-Given: 34
-Receive: 38


Warrior


WWW
« Reply #17 on: November 06, 2007, 09:17:01 21:17 »

Thanx sam_des!
I've must have been tired yesterday, I always sit too long without break, but here's the corrected code:

/* echo84.c echo charcters, serial input/output ( for 16F84 without UART) */
/*
SERIAL COMMUNICATION (RS232)
============================
One start bit, one stop bit, 8 data bit, no parity = 10 bit.
Baudrate:
9600 baud = 104.167 usec. per bit. //could be increased to 115000 Kbaud
ser_in RB1 ser_out RB0
*/
/* Circuitprogrammer Configuration: FOSC=XT, WDTE=off, PWRT=on,
CP=off
*/
#pragma config |= 0x3ff1
bit putchar( char ); /* function prototype */
char getchar( void ); /* function prototype */
void main( void)
{
char c;
PORTB = 0b00000001;
TRISB = 0b11111110;
while( 1)
{
c = getchar( ); /* input 1 character */
if( c == '\r')
{
putchar('\r');
putchar('\n');
} /* "Line Feed" and "Carrige Return" */
else putchar(c); /* echo the character */
}
}

/*
Functions
=========
*/
bit putchar( char d_out ) /* sends one char */
{
char bitCount, ti;
/* One start bit, one stop bit, 8 data bit, no parity = 10 bit. */
/* Baudrate: 9600 baud = 104.167 usec. per bit. */
if(d_out == '\0') return 0; /* refuse to send "end of string" */
PORTB.0 = 0; /* set startbit */
for ( bitCount = 10; bitCount>0 ; bitCount-- )
{
/* delay one bit 104 usec at 4 MHz (5+30*3-1+1+9=104) */
ti = 30; do ; while( --ti > 0); nop();
Carry = 1; /* stopbit */
d_out = rr( d_out ); /* Rotate Right through Carry */
PORTB.0 = Carry;
}
return 1; /* all done */
}
char getchar( void ) /* recieves one char */
{
/* One start bit, one stop bit, 8 data bit, no parity = 10 bit. */
/* Baudrate: 9600 baud = 104.167 usec. per bit. */
char d_in, bitCount, ti;
while( PORTB.1 == 1 ) /* wait for startbit */ ;
/* delay 1,5 bit 156 usec at 4 MHz ( 5+47*3-1+2+9=156) */
ti = 47; do ; while( --ti > 0); nop2();
for( bitCount = 8; bitCount > 0 ; bitCount--)
{
Carry = PORTB.1;
d_in = rr( d_in); /* rotate carry */
/* delay one bit 104 usec at 4 MHz (5+30*3-1+1+9=104) */
ti = 30; do ; while( --ti > 0); nop();
}
return d_in;
}

//Compiles alright. As You can see, the CC5X syntax is a bit unusual
« Last Edit: November 14, 2007, 06:20:06 06:20 by robban » Logged

Code Warrior
sam_des
Senior Member
****
Offline Offline

Posts: 253

Thank You
-Given: 124
-Receive: 146


« Reply #18 on: November 07, 2007, 11:26:59 11:26 »

Hi robban,

Glad you get that working Smiley

But I don't understand why you say that cc5x has unusual syntax ?? I think any ANSI C compiler will accept this as valid program.( with some mods which are PIC dependent)

No doubt cc5x has limitations regarding array dims & complex expression evaluation,but I guess they are rather design decisions due to lack of stack in PIC-14.

I would like to add that whoever wrote your code has very bad taste of indentation & other c-style issues. That's what make it look rather strange.
e.g. do; while(--ti > 0);
Though this is a valid C-statement, but it is better to have it like do{ }while(--ti>0); or simply as while(--ti>0) without do.

reagrds,
sam_des
Logged

Never be afraid to do something new. Remember Amateurs built the Ark, Professionals built the Titanic !
robban
Senior Member
****
Offline Offline

Posts: 265

Thank You
-Given: 34
-Receive: 38


Warrior


WWW
« Reply #19 on: November 07, 2007, 12:56:57 12:56 »

Hi sam_des!
Well, I admit the syntax isn't quite unusual in the above example, and the indentation is solely my responisibility.
However, here's another code snippet(Hello World!) which shows that the CC5X can't handle string constants in the usual way, but there is a built -in workaround with skip(x) and #pragma return[]
Ex: ANSI_C allows: text1[] = "Hello World!\r\n";

In Assembler it will look like this:

text1   addwf   PCL,F   ;jump indirect W(working register
          retlw    0x48     ; 'H'
          retlw    0x65     ; 'e'
          retlw    0x6c     ; 'l'
          retlw    0x6c     ; 'l'
          retlw    0x6f      ;'o'

There's no obvious way to do this in C, so the CC5X has this skip(x)-function. The above ANSI-C code in CC5X is:

char text1(char x)
{
   skip(x);
   #pragma return[] = "Hello World!" '\r' '\n' '\0'
The skip function just skip x instructions and the #pragma return[] gives You the opportunity to write a whole string.

Here's the code:
/* hello62x.c "Hello World!" program for 16F628    */
/* 9600 baud  */

#include "16f628.h"
#pragma config |= 0x3f90
/*  function prototypes  */
void initserial( void );        /* from seriF62x.c */
bit putchar( char );            /* from seriF62x.c */
void delay( char );             /* from delays.c   */
char text1( char );

#include "seriF62x.c"
#include "delays.c"

void main(void)
{
  char i;
/* Initialise serial port                          */
  initserial();
  putchar('\r'); putchar('\n');

/* print textstring text1                          */
  for(i = 0; putchar( text1(i))  ; i++) ;
  delay(10);
}


/* String to write. Note the special syntax with skip(x) and #pragma return[], it's like a loop.
char text1( char x)
{
   skip(x);
   #pragma return[] = "Hello World!" '\0'
}
//Cheers Robban
Logged

Code Warrior
sam_des
Senior Member
****
Offline Offline

Posts: 253

Thank You
-Given: 124
-Receive: 146


« Reply #20 on: November 07, 2007, 06:52:53 18:52 »

Hello rabban,

cc5x does accepts tranditional C-string notation- const char Hello[] = "Hello World\n\r";
Your example just shows one of the ways by which string can be added to cc5x program.

It is worth noting that cc5x also --

1] Allows to store ASCII strings as Packed ASCII(2 char/14-bit word) for CPUs which can read their code-memory. Compiler even detects whether 'retlw' or code-read will be more efficient for a particular string. For large string data this reduces the code-size nearly to half. As far as I know no other C-compiler for PIC-14 allows such packed ASCII.

3] cc5x does intelligent literal-folding, i.e. It merges 2 similar strings into 1. See cc5x manual.
This feature is also unknown in other PIC compilers.

3] For arrays of strings you can do like-
    struct {
       const char *s;         // In ROM
    }StrArray[] = {
        "str1", "str2", "str3" // In ROM
    };

   Now you can access any of string as "StrArray[index].s"

reagrds,
sam_des

Logged

Never be afraid to do something new. Remember Amateurs built the Ark, Professionals built the Titanic !
robban
Senior Member
****
Offline Offline

Posts: 265

Thank You
-Given: 34
-Receive: 38


Warrior


WWW
« Reply #21 on: November 08, 2007, 03:56:04 03:56 »

Thanx sam_des for taking the effort to thoroughly read the CC5X manual Smiley
Ambitious guy You are!
Have You tried to exceed the 8 k hex-file yet? There are some limitation when You do that. In MPLAB they always ask me for a linker-script when splitting several C-files into two or more. The manual also warn agaisnt it, due to reduced optimization among other things.

On the other hand, when I use TextPad(or whatever Yr.choice is) it always comilpe correct(provided You put all the necessasry files in one folder and put .c-files and headers in the right context).
OK, I miss the MPLAB SIM, but I have other means to debug my projects(LED:S and output of data when it comes to sensors and similar.

I also have a function that let's You output a reult to another file. Useful for all sorts of math and other appliances. Use bloodshed devcpp. May we can port it to CC5X.

Cheers robban
« Last Edit: November 08, 2007, 04:00:31 04:00 by robban » Logged

Code Warrior
sam_des
Senior Member
****
Offline Offline

Posts: 253

Thank You
-Given: 124
-Receive: 146


« Reply #22 on: November 08, 2007, 10:28:32 10:28 »

Hello robabn,

I like to know my tools well. So I always spend some time reading manuals & experimenting with tool,to see if tool really does what manual says. Well, experience is the best teacher & i had plenty of it in the past.  Wink

8k hex ? 8kWords or 8kBytes ?
Till now I haven't experience any problems when my hex-size reached 7700 kwords.
What limitations you got ? May be I have overlooked something !
And cc5x supports only PIC with 14-BIT Program Counter & thus don't need to support code excess of 8kWords(2^14 = 16384 bytes or 8192 words).

As to your MPLAB problem - use only your file containing main() & other C/H includes as source file & don't include other "C" files in MPLAB project. It will now compile correctly without asking for Linker scripts. You will able to simulate C or ASM level code. Mind that cc5x generates only COD file & not COFF. Hence there is no type information for C-variables in COD !

& my choice for editor is JFE & Programmer's Notepad, both support C & work very well with makefiles - my normal method of compile.

regards,
sam_des
Logged

Never be afraid to do something new. Remember Amateurs built the Ark, Professionals built the Titanic !
robban
Senior Member
****
Offline Offline

Posts: 265

Thank You
-Given: 34
-Receive: 38


Warrior


WWW
« Reply #23 on: November 08, 2007, 01:31:12 13:31 »

Thanx sam_des!
According to Knudsen, the red-edition of CC5X is capable of 8 K hex-code.
I dubt I'll will use more(at least in one module). Do Yo have a huge -code just for testing. There are not many around, since people tend to use(or crack) expensive stuff.

I used to use Jen's file editor(when CC5x was a novelty) earlier, but as I said - for me - TexPad works better(old habit dies slowly). I am glad You really take the time to study the CC5X manual. Myself I work with accelerometer's and found I got most control using assembly. The MPLAB does have a SIM, but it's too tedious to arrange stimulus for different circumstances.

By the way, www.eleccenter.com is selling a USB-ICD2 clone for 72 $ incl. freight. It is possible to debug both in C and asm(unless You mix them two).
I bought one a year ago, no problem.

There is also a serial programmer (abt. 36 bucks)which could be used as a test gadget:
PIC-PG1 - ICSP SERIAL PORT DONGLE PROGRAMMER



FEATURES:

PIC-PG1 is programmer based on JDM design which takes all necessary signals and power supply from RS232 serial port. It uses 6 pin 0.1" step ICSP connector to connect to target board with the PIC microcontroller.
The supported devices depend on the current version of ICPROG software.
Dimensions 50x30 mm (1.95x1.2") + 30 cm (12") cable
DOCUMENTS:

PIC-PG1.pdf - Users manual
PIC-PG1 tutorial
NOTE: The programmer may not work with low power serial interfaces - i.e. laptop or notebook serial ports. USB to serial cables have also not been proven to work.
HARDWARE:

PIC-PG1 schematic
PIC ICSP connector
SOFTWARE:
ICPROG from Bonny Gijzen is the best software for serial ports programmers we ever know. And it's FREE!
WinPIC - Great new software by Wolfgang "Wolf" Bnscher. Supports all the popular flash PICs, as well as many of the newly released PICs! Use this software for support for the 16F628A, 16F87, and 16F88.
WinPIC in Japanese version.

Peronally I prefer the WinPIC, because You are able to define Yr. own PIC:s in a device.INI instead of defined in PIC hardware. And it's also free.

Cheers robban
Logged

Code Warrior
robban
Senior Member
****
Offline Offline

Posts: 265

Thank You
-Given: 34
-Receive: 38


Warrior


WWW
« Reply #24 on: November 09, 2007, 12:44:21 12:44 »

http://www.bknd.com/cc5x/downl-prof.shtml
Logged

Code Warrior
robban
Senior Member
****
Offline Offline

Posts: 265

Thank You
-Given: 34
-Receive: 38


Warrior


WWW
« Reply #25 on: November 09, 2007, 01:51:29 13:51 »

Hello robban,

Here is your code which can now be compiled using cc5x RED 3.2N. I've changed it somwhat, but still it is quite original code you posted.

Code:
/*
   Crypto program. Let for instance putchar(c/c*2); and everything echoes back as garbage)
   echo characters, serial input/output for 16F84

   Serial communication (RS232) Note that PIC16F84 doesn't even have an UART module!
   
   one start bit, one stop bit, 8 data bits, no parity = 10 bits
   Baudrate: 9600 baud
   ser_in RB1, ser_out RB0
*/
   
#pragma config |= 0x3ff1        //(Fosc=XT, WDTE=off, PWRT=on, CP=off)

 
bit putchar(char);              //function prototype
char getchar(void);             //function prototype

void main(void)
{
    char c;
    PORTB = 0b00000001;
    TRISB = 0b01111110;
    while(1)
    {
        c = getchar();          //input one character
        if('r' == c)
        {
            putchar('\r');      //line feed
            putchar('\n');      //carriage return
        }
        else putchar(c);        //echo the character  ??? Return value not checked ???
    }
}
   
           
/*Functions*/
     
bit putchar(char d_out)              //sends one character. Baudrate = 9600 = 104.167 usec/bit
{
    char bitCount, ti;

    if ('\0' == d_out ){ return 0; }    //refuse to send "end of string"

    PORTB.0 = 0;                      //set startbit
    for(bitCount = 10; bitCount!=0; bitCount--)
    {
        //delay one bit 104 usec at 4 MHz (5+30*3-1+1+9=104)

// sam_des -- ??? Check this delay whether this is indeed 104uS @ 4MHz ???
        ti = 30;
do {
  nop();
}while(--ti);

        Carry = 1;                  //stop bit
        d_out = rr(d_out);          //rotate right trhough carry
        PORTB.0 = Carry;
    }

    //??? sam_des -- Stop Bit ???
    return 1; // all done
}


     
char getchar(void)                  //receives one character
{

    //here we use a delay of 1.5 bit = 156 usec
    char d_in, bitCount, ti;

    while(PORTB.1);            //wait for startbit
     
 
    // sam_des -- ??? Added check for 10 bits in recved char ???
    for( bitCount=10; bitCount!=0; bitCount-- )
    {
    //delay 1.5 bit 156 usec @ 4 MHz (5+47*3-1+2+9=156)

// sam_des -- ??? Check if this delay is indeed 156uS @ 4MHz ???
    ti = 47;
do {
}while(--ti);

        Carry = PORTB.1;
        d_in = rr(d_in);            // rotate carry right

        ti = 30;
do
        {
   nop();
        }while(--ti);
    }
    return d_in;
}

But I've no doubts that this code will NOT work.
Whoever wrote this code, must have forgot half-way what he/she intended to do  Shocked

Some suggestions, Few of them, I've added into the code above. Others..
1] putchar() - for() must do the delay for stop-bit also after 8 char bits.
                  - Check the return value of putchar().
2] getchar() - We must check each bit atleast 3-times during each bit-period & take it as 1 or 0
                   depending max. no. of 0s or 1s deteced.
                 - Since Tx & Rx bauds are same(9600), bit period is same(104uS) in both cases.

regards,
sam_des

Hi sam_des!

I'll try to explain why the stop bit has to be a bit longer than the start bit(at least with a PIC without UART like the 16F84):

Before idle(high), the startbit goes low to initialize transmission, then follows 8 bits with no parity(low bit). Then the stop bit goes high to end transmission(with the parity in between). If the transmission ended with a low bit with the same duration as a data bit the last bit could be lost. A UART could often be programmed to use the parity bit as a ninth data bit. If that's the case, communication halts if the ninth data bit is high(it indicate that transmission has ended and the message comes out as garbage) and everything crashes.

As You might recall, the parity bit was used in the ancient times when mechanical punchcard was used. These gadgets easily jammed and that's why it's still used.

chers robban
Logged

Code Warrior
robban
Senior Member
****
Offline Offline

Posts: 265

Thank You
-Given: 34
-Receive: 38


Warrior


WWW
« Reply #26 on: November 09, 2007, 08:17:36 20:17 »

hello avaible old version cracked unlimit & editor only by path change very easy
v3.2g only 12xx and 16xx compiled 18xx not enought

http://rapidshare.com/files/67595827/ccccccc5x.rar.html

I managed to compile it OK after abt. 2 hour in the RED-CC5X. Several files were missing, so it took some detective work.
Logged

Code Warrior
cjeffries1
Senior Member
****
Offline Offline

Posts: 348

Thank You
-Given: 252
-Receive: 176


« Reply #27 on: November 10, 2007, 04:45:45 04:45 »

I managed to compile it OK after abt. 2 hour in the RED-CC5X. Several files were missing, so it took some detective work.
Can you outline what you did and what the missing files were please?
Logged
robban
Senior Member
****
Offline Offline

Posts: 265

Thank You
-Given: 34
-Receive: 38


Warrior


WWW
« Reply #28 on: November 10, 2007, 11:53:12 11:53 »

Hi!
These are the files needed to compile it in MPLAB. Don't worry about warning message 302(wrong bank bits) in the MPASM. According to MPLAB:s MPASM helpfile, You can suppress that(after a successful compilationand testing) by the command "errorlevel -302"(right after the PICxxx statement), but no success. Really, it doesn't matter, but clean outputs are nice. I suggest You study the linker script for future reference.

Good luck and return if You run into difficulties (the p16F873.inc is in the MPASM suite).
« Last Edit: November 21, 2007, 01:21:07 13:21 by robban » Logged

Code Warrior
cjeffries1
Senior Member
****
Offline Offline

Posts: 348

Thank You
-Given: 252
-Receive: 176


« Reply #29 on: November 10, 2007, 03:46:45 15:46 »

Hi!
These are the files needed ................Good luck and return if You run into difficulties (the p16F873.inc is in the MPASM suite).
I appreciate your response but at the risk of appearing dumb I don't see which files you are referring to. I suspect you have added an attachment and I think not everyone's browser can see attachments in this forum? If there is an "invisible" attachment, any chance you could put it on rapidshare with a link posted here? Also is this "FULL" version really a full version or does it have the same limitations as the "RED" version?
Logged
robban
Senior Member
****
Offline Offline

Posts: 265

Thank You
-Given: 34
-Receive: 38


Warrior


WWW
« Reply #30 on: November 10, 2007, 04:57:00 16:57 »

Here it is...

http://rapidshare.com/files/68778304/ant-anl-0.03.rar.html

Note that I use MPLAB 8 (just for trying out the new C32) and I'm using red-CC5X producing 14k of hex in this case.

In all cases, if You can fit every C module in one, do it!
« Last Edit: November 10, 2007, 05:03:42 17:03 by robban » Logged

Code Warrior
sonsivritwchen
Junior Member
**
Offline Offline

Posts: 37

Thank You
-Given: 18
-Receive: 15


« Reply #31 on: November 20, 2007, 03:58:48 15:58 »

Have anyone try the 24-bit integer math ?
Logged
mark1st
Newbie
*
Offline Offline

Posts: 9

Thank You
-Given: 1
-Receive: 3


« Reply #32 on: November 21, 2007, 12:28:12 12:28 »

Hi. Anyone here use cc5x compiler?
It's worth?
I'm looking for a good compiler (for a fuzzy project). I read all almost all topic about PIC compiler and I'm really confused.

mark
Logged
robban
Senior Member
****
Offline Offline

Posts: 265

Thank You
-Given: 34
-Receive: 38


Warrior


WWW
« Reply #33 on: November 21, 2007, 12:53:00 12:53 »

Have anyone try the 24-bit integer math ?
I will attache the code-ant.anl, a Project File, compiled inside MPLAB. Every code snippet and Math24lbc is there. So from this point of view, the 24-bit integer works fine. Revert If You run into problems
« Last Edit: November 21, 2007, 01:13:17 13:13 by robban » Logged

Code Warrior
robban
Senior Member
****
Offline Offline

Posts: 265

Thank You
-Given: 34
-Receive: 38


Warrior


WWW
« Reply #34 on: November 21, 2007, 01:19:12 13:19 »

Hi. Anyone here use cc5x compiler?
It's worth?
I'm looking for a good compiler (for a fuzzy project). I read all almost all topic about PIC compiler and I'm really confused.

mark

This is the CC5X topic, read it through! Yr project may need another approach. Tell us what You really whant achieve and which MCU Y'r planning to use, along with other relevant info..
Logged

Code Warrior
bxac
Newbie
*
 Muted
Offline Offline

Posts: 18

Thank You
-Given: 4
-Receive: 2


« Reply #35 on: November 21, 2007, 03:09:07 15:09 »

I've seen here references to the RED Edition of cc5x but I was not able to find it.
Also, where can be found the full version of cc5x?
Logged
robban
Senior Member
****
Offline Offline

Posts: 265

Thank You
-Given: 34
-Receive: 38


Warrior


WWW
« Reply #36 on: November 21, 2007, 03:31:40 15:31 »

So far, no one has been able to find a .lincence file for the full or extended CC5X. I stared this topic in 2004 with the now absent member DAX(He really contributed a lot to this forum)
You can use the (red)CC5x(Beta version) I submit here. It can handles single C-modules which produce 8K of words. I recently compiled a multi-module project producing 14K of words(Also included). The real limitations lies in it's lack of 32 Fixed point and float headers. Maybe someone can find them or transform them from other c_compilers(a tedious work Though)! Use with Yr.favourite ASCII-editor. For ease, copy all the binaries from MPASM SUITE(MASM,linker,MPCOD etc)

Good luck!
« Last Edit: November 21, 2007, 04:50:14 16:50 by robban » Logged

Code Warrior
mark1st
Newbie
*
Offline Offline

Posts: 9

Thank You
-Given: 1
-Receive: 3


« Reply #37 on: November 21, 2007, 04:40:53 16:40 »

Try to make a fuzzy controller to drive a brushless motor in 4-quadrant (with PIC16F84): variable speed, variable load. Need to fit all in 2k Wink

regards,
mark
Logged
robban
Senior Member
****
Offline Offline

Posts: 265

Thank You
-Given: 34
-Receive: 38


Warrior


WWW
« Reply #38 on: November 21, 2007, 04:45:09 16:45 »

That's a good idea.
I check my code source and try to find something...
I have looked through what I got, but no code for the 16F84(lack of CCP(PWM) module). There is a Timer 0, but at least to me I don't know how to implement what You have in mind.

If this is something Yr. teacher gave You, tell him You got to have the least a 16F628. For this MCU I think I can help You(inCC5X code). When it comes to variable(stable) load You have to ask somebody else. What I have in mind is a pulse-generator, a Legotype motor and a ICL7667-driver(everything is rather cheap). The pulsegenerator is divided in 255 steps and must be able to drive the motor in two directions. This is done by inverting the PWM-signal at earth. But - as I said - for the 16F84, I can't help You...
« Last Edit: November 23, 2007, 03:38:34 15:38 by robban » Logged

Code Warrior
mark1st
Newbie
*
Offline Offline

Posts: 9

Thank You
-Given: 1
-Receive: 3


« Reply #39 on: November 25, 2007, 12:02:22 12:02 »

Ok. Thanks for advice

regards,
mark
 Wink
Logged
kcsoft
Junior Member
**
Offline Offline

Posts: 43

Thank You
-Given: 4
-Receive: 68


« Reply #40 on: September 01, 2008, 09:32:48 09:32 »

As nobody could get a full version of cc5x (btw, i searched everywhere... noting), i tried myself to make one and after a few hours
i succeed to patch cc5xtest (RED version) to generate all the labels in the asm file.
You can get cc5xtest:http://www.bknd.com/cc5xtest.zip
My patch:http://rapidshare.com/files/141450071/CC5X33APatch.7z.html
MPASM from:www.microchip.com
Better to use an IDE or a bat file to build your project.
And its true:cc5x can generate 20-30% better code than hi-tech.
Still, my favourite is hi-tech.
Test results of the patch are welcomed.
Logged
robban
Senior Member
****
Offline Offline

Posts: 265

Thank You
-Given: 34
-Receive: 38


Warrior


WWW
« Reply #41 on: September 01, 2008, 05:58:09 17:58 »

I've must be missing something! The patch report success, but still the compiler is restricted to 8k code(which I can very well live with)
Logged

Code Warrior
kcsoft
Junior Member
**
Offline Offline

Posts: 43

Thank You
-Given: 4
-Receive: 68


« Reply #42 on: September 01, 2008, 09:32:15 21:32 »

Why do you need more than 8k program for a midrange pic since the biggest midrange has 8k of program memory??
Maybe its my mistake, i didnt give enough details about the patch:
I quote from the bknd.com cc5x test edition:
http://www.bknd.com/cc5x/downl-prof.shtml
"The Test Edition is NOT a complete compiler. Up to 8k words of code can be generated, but NO hex file. The assembly file is MODIFIED (labels are not complete). This TEST edition supports 8, 16, 24 and 32 bit integers, fixed and floating point math, leanslice multitasking and FULL optimization (same as EXTENDED edition). This allows code development and conversion of existing applications to check code size."
And what is does is putting all labels in the generated asm file(no hex file, must be compiled with MPASM) to "m000".
The patch fixes this and all labels will have a name like m001,m002...
So you have a full optimized compiler that generates a ready-to-compile asm file.
Logged
kcsoft
Junior Member
**
Offline Offline

Posts: 43

Thank You
-Given: 4
-Receive: 68


« Reply #43 on: January 08, 2009, 07:12:13 19:12 »

New version of CC5X 3.3H from bknd.com avalilable from 8  jan 2009.
Download professional version as in my previous post.
Get the patch in one of the files. Apply patch. cc5x will generate complete asm file, use mpasm to compile.
http://rapidshare.com/files/181142029/CC5X33H.7z.html
http://www.filefactory.com/file/a013806/n/CC5X33H_7z

Logged
ahmed
Cracking Team
Senior Member
****
Offline Offline

Posts: 315

Thank You
-Given: 100
-Receive: 592


« Reply #44 on: February 26, 2009, 03:34:44 03:34 »

New version of CC5X 3.3H from bknd.com avalilable from 8  jan 2009.
Download professional version as in my previous post.
Get the patch in one of the files. Apply patch. cc5x will generate complete asm file, use mpasm to compile.
http://rapidshare.com/files/181142029/CC5X33H.7z.html
http://www.filefactory.com/file/a013806/n/CC5X33H_7z


Patch is not working (Mismatch version)
Logged
ennio
Newbie
*
Offline Offline

Posts: 15

Thank You
-Given: 4
-Receive: 15


« Reply #45 on: February 26, 2009, 06:58:28 06:58 »

Patch is OK.
Download the file cc5xtest.zip (D3CEEEDD9D50525FF50CDEB7D20C7C63 MD5 Hash)
from http://www.bknd.com/cc5x/downl-prof.shtml
Regards
ennio
Logged
sam_des
Senior Member
****
Offline Offline

Posts: 253

Thank You
-Given: 124
-Receive: 146


« Reply #46 on: February 27, 2009, 07:45:10 19:45 »

Hi,
Please reupload, possible other than rapid/filefactory  Tongue
Also kcsoft, can you do the patch for cc8e too ??

Thanks in advance,
sam_des
Logged

Never be afraid to do something new. Remember Amateurs built the Ark, Professionals built the Titanic !
sam_des
Senior Member
****
Offline Offline

Posts: 253

Thank You
-Given: 124
-Receive: 146


« Reply #47 on: November 01, 2009, 11:10:32 11:10 »

Hello,

Quote
CC5X

The free edition supports up to 32768 instructions. The variable size is limited to 16 bit, signed and unsigned, plus 24 bit floating point. The generated code is compact, but full optimization is not available. The estimated code size of full optimization is stated.

...

Restrictions: The free edition can be used to generate code for all prototype, commercial and non-commercial systems without restrictions.

&
Quote
CC8E

The free edition supports up to 128k (131072) instructions in a single C module. The variable size is limited to 16 bit, signed and unsigned, plus 24 bit floating point. The generated code is compact, but full optimization is not available. The estimated code size of full optimization is stated.

...

Restrictions: The free edition can be used to generate code for all prototype, commercial and non-commercial systems without restrictions


That's really great  Grin This covers entire code/ram space of 14-bit PIC ! Grin

As far as I remember, bad optimization is about code page/ram bank switching, nothing else and (I think you can turn off automatic bank/page updating & do it yourself manually). Even without full optimizations this is a good compiler written specifically for PIC.

regards,
sam_des
Logged

Never be afraid to do something new. Remember Amateurs built the Ark, Professionals built the Titanic !
tomywong
Active Member
***
Offline Offline

Posts: 134

Thank You
-Given: 98
-Receive: 203


« Reply #48 on: November 04, 2009, 02:01:37 02:01 »

Can someone upload cc5xtest.zip (v3.3H) ? Thx !
Logged
kcsoft
Junior Member
**
Offline Offline

Posts: 43

Thank You
-Given: 4
-Receive: 68


« Reply #49 on: November 04, 2009, 10:06:50 10:06 »

http://rapidshare.com/files/302237699/cc5xtest.7z.html
http://rapidshare.com/files/302238687/cc5xtest.7z.html
http://uploading.com/files/38c3ff98/cc5xtest.7z/
http://uploading.com/files/m568dea7/cc5xtest.7z/

Includes:
cc5x33H patched (patcher included but already patched)
cc5 help file (PDF)
Scite editor as IDE (Sc201.exe) - open the *.c file, compile=generate asm file, go=generate asm and compile with mpasmwin
Needs:
MPLAB/MPASMWIN installed to compile the asm file.

Logged
robban
Senior Member
****
Offline Offline

Posts: 265

Thank You
-Given: 34
-Receive: 38


Warrior


WWW
« Reply #50 on: November 13, 2009, 07:01:10 19:01 »

Knudsen compilers have issued a new FREE edition(32k code, no asm-file but hex code) which I enclose together with some useful functions and KCSoft Scintilla IDE:
If You run into problems, pls. feedback. Note: Some of the implementations(like the EEPROM routine) doesn't work using MPLAB_IDE for me, but maybe You have other experience. There are other compatibility issues as well(not clear when to switch between KCSoft-cracked version and Knudsen CC5X v.3.4 Free edition). Hex code size between cracked version and test version is abt. 20%

Logged

Code Warrior
kcsoft
Junior Member
**
Offline Offline

Posts: 43

Thank You
-Given: 4
-Receive: 68


« Reply #51 on: March 23, 2014, 08:23:44 20:23 »

Patcher for CC5X v3.5 Test Edition.
The test edition generates an incomplete but fully optimized asm file, all labels are named "m000" and does not generate a hex file.
The patcher fixes that and correct labels are generated inside the asm FIle. You still need to compile the asm file using MPASM.

http://www.multiupload.nl/BCAKP0LJIK
Logged
FriskyFerretReloaded2
Junior Member
**
Offline Offline

Posts: 82

Thank You
-Given: 232
-Receive: 208



« Reply #52 on: March 24, 2014, 05:15:43 05:15 »

Patcher for CC5X v3.5 Test Edition.
The test edition generates an incomplete but fully optimized asm file, all labels are named "m000" and does not generate a hex file.
The patcher fixes that and correct labels are generated inside the asm FIle. You still need to compile the asm file using MPASM.

That's a very respectable compiler. Nice post. Did you crack it?


Here's your Sonsivri Pirate Badge if you did.
Logged
kcsoft
Junior Member
**
Offline Offline

Posts: 43

Thank You
-Given: 4
-Receive: 68


« Reply #53 on: March 24, 2014, 09:23:15 09:23 »

Quote
That's a very respectable compiler. Nice post. Did you crack it?
Yep.

Quote
Here's your Sonsivri Pirate Badge if you did.
Diploma printed!
Logged
metal
Global Moderator
Hero Member
*****
Offline Offline

Posts: 2420

Thank You
-Given: 862
-Receive: 678


Top Topic Starter


« Reply #54 on: April 16, 2014, 07:26:26 07:26 »

Patcher for CC5X v3.5 Test Edition.
The test edition generates an incomplete but fully optimized asm file, all labels are named "m000" and does not generate a hex file.
The patcher fixes that and correct labels are generated inside the asm FIle. You still need to compile the asm file using MPASM.

http://www.multiupload.nl/BCAKP0LJIK

In your patch, did you fix the 8k code limit?

thanks
Logged
ptr
Newbie
*
Offline Offline

Posts: 15

Thank You
-Given: 17
-Receive: 2


« Reply #55 on: April 16, 2014, 07:51:52 19:51 »

@kcsoft

do you also have a patcher for CC8E Test Edition?
http://www.bknd.com/cc8etest.exe

Would be very interesting to test this version.

thanks
Logged
kcsoft
Junior Member
**
Offline Offline

Posts: 43

Thank You
-Given: 4
-Receive: 68


« Reply #56 on: April 17, 2014, 10:45:26 10:45 »

Quote
In your patch, did you fix the 8k code limit?
No, I haven't tested/patched anything about the 8k limit. (Lack of free time). Maybe somebody can test this, I don't have any cc5x c program that large in cc5x c dialect to test with. A dummy large c file could be generated for testing.

Quote
do you also have a patcher for CC8E Test Edition?
No, sorry.

I'm not much of a cc5/8 compilers user due to some language limitations, lack of support for Microchip libraries (USB, WiFi, MiWi, external storage/FAT)
Logged
bxac
Newbie
*
 Muted
Offline Offline

Posts: 18

Thank You
-Given: 4
-Receive: 2


« Reply #57 on: December 23, 2014, 04:27:09 04:27 »

The link for Patcher for CC5X v3.5 Test Edition is not working.
Can you please update it? Thanks
Logged
Pages: 1 2 3 [All]
Print
Jump to:  


DISCLAIMER
WE DONT HOST ANY ILLEGAL FILES ON THE SERVER
USE CONTACT US TO REPORT ILLEGAL FILES
ADMINISTRATORS CANNOT BE HELD RESPONSIBLE FOR USERS POSTS AND LINKS

... Copyright © 2003-2999 Sonsivri.to ...
Powered by SMF 1.1.18 | SMF © 2006-2009, Simple Machines LLC | HarzeM Dilber MC