Subversion Repositories NaviCtrl

Rev

Rev 244 | Rev 362 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 244 Rev 272
Line 11... Line 11...
11
        return(1);
11
        return(1);
12
}
12
}
Line 13... Line 13...
13
 
13
 
14
u8 fifo_put (fifo_t *f, const u8 data)
14
u8 fifo_put (fifo_t *f, const u8 data)
-
 
15
{
15
{
16
        if(f->buffer == 0) return(0);
16
        if (f->count >= f->size) return(0);     // return 0 in case of FIFO overflow.
17
        if (f->count >= f->size) return(0);     // return 0 in case of FIFO overflow.
17
        if(f->putvicsource != NO_ITLine) VIC_ITCmd(f->putvicsource, DISABLE);
18
        if(f->putvicsource != NO_ITLine) VIC_ITCmd(f->putvicsource, DISABLE);
18
        *(f->pwrite++) = data;      // copy data byte to buffer
19
        *(f->pwrite++) = data;      // copy data byte to buffer
19
        if(f->pwrite >= f->buffer + f->size) f->pwrite = f->buffer; // start at the begining after reaching the end 
20
        if(f->pwrite >= f->buffer + f->size) f->pwrite = f->buffer; // start at the begining after reaching the end 
Line 22... Line 23...
22
        return(1);
23
        return(1);
23
}
24
}
Line 24... Line 25...
24
 
25
 
25
u8 fifo_get (fifo_t *f, u8 *pdata)
26
u8 fifo_get (fifo_t *f, u8 *pdata)
-
 
27
{
26
{
28
        if(f->buffer == 0) return(0);
27
        if(!f->count) return(0);
29
        if(!f->count) return(0);
28
        if(f->getvicsource != NO_ITLine) VIC_ITCmd(f->getvicsource, DISABLE);
30
        if(f->getvicsource != NO_ITLine) VIC_ITCmd(f->getvicsource, DISABLE);
29
        *pdata = *(f->pread++);
31
        *pdata = *(f->pread++);
30
        if(f->pread >= f->buffer + f->size) f->pread = f->buffer; // start at the begining after reaching the end 
32
        if(f->pread >= f->buffer + f->size) f->pread = f->buffer; // start at the begining after reaching the end