Article 1485 of comp.os.linux.alpha: In article <19980115172500.MAA01360@ladder03.news.aol.com>, scpetry1@aol.com (SCPetry1) writes: > Has anyone successfully set up and used cdrecord-1.6 on a 166Mhz Multia? I have > a Matsushita CW-7502 that I am trying to get to work with this software and am > having no luck at all. Try the following patches. It didn't work for my drive (DCC-2600), but the original author reported they worked. I applied them to cdrecord-1.5, and that did the job for me. diff -ru orig/cdrecord-1.6/cdrecord/fifo.c cdrecord-1.6/cdrecord/fifo.c --- orig/cdrecord-1.6/cdrecord/fifo.c Wed Nov 5 17:43:41 1997 +++ cdrecord-1.6/cdrecord/fifo.c Sun Nov 16 01:25:15 1997 @@ -62,7 +62,7 @@ #define EDEBUG(a) #endif -#define palign(x, a) (((char *)(x)) + ((a) - 1 - (((unsigned)((x)-1))%(a)))) +#define palign(x, a) (((char *)(x)) + ((a) - 1 - (((unsigned long)((x)-1))%(a)))) typedef enum faio_owner { owner_none, diff -ru orig/cdrecord-1.6/cdrecord/scsi-linux-sg.c cdrecord-1.6/cdrecord/scsi-linux-sg.c --- orig/cdrecord-1.6/cdrecord/scsi-linux-sg.c Tue Nov 4 10:35:03 1997 +++ cdrecord-1.6/cdrecord/scsi-linux-sg.c Sun Nov 16 14:18:33 1997 @@ -312,9 +312,9 @@ int f; int tmo; { - tmo *= 100; + tmo *= HZ; if (tmo) - tmo += 50; + tmo += HZ/2; if (ioctl(f, SG_SET_TIMEOUT, &tmo) < 0) comerr("Cannot set SG_SET_TIMEOUT.\n"); diff -ru orig/cdrecord-1.6/include/standard.h cdrecord-1.6/include/standard.h --- orig/cdrecord-1.6/include/standard.h Sun Jan 26 12:49:31 1997 +++ cdrecord-1.6/include/standard.h Sun Nov 16 01:41:15 1997 @@ -182,7 +182,7 @@ extern int wait_chld __PR((int)); extern int geterrno __PR((void)); extern void raisecond __PR((const char *, long)); -extern int snprintf __PR((char *, unsigned, const char *, ...)); +/* extern int snprintf __PR((char *, unsigned, const char *, ...)); */ /*extern int sprintf __PR((char *, const char *, ...)); ist woanders falsch deklariert !!!*/ extern char *strcatl __PR((char *, ...)); extern int streql __PR((const char *, const char *)); diff -ru orig/cdrecord-1.6/lib/fillbytes.c cdrecord-1.6/lib/fillbytes.c --- orig/cdrecord-1.6/lib/fillbytes.c Sun Feb 4 18:40:33 1996 +++ cdrecord-1.6/lib/fillbytes.c Sun Nov 16 14:15:19 1997 @@ -19,6 +19,21 @@ * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ +#ifdef __alpha__ +/* the fillbytes() below doesn't work on machines with sizeof(long) != 4 */ +/* and at least on Linux/Alpha memset does a better job */ +#ifdef PROTOTYPES +char *fillbytes(void *tov, int cnt, char val) +#else +char *fillbytes(tov, cnt, val) + void *tov; + int cnt; + char val; +#endif +{ + memset (tov, val, cnt); +} +#else #include #include @@ -83,3 +98,4 @@ } while (--n > 0); return (to); } +#endif diff -ru orig/cdrecord-1.6/lib/movebytes.c cdrecord-1.6/lib/movebytes.c --- orig/cdrecord-1.6/lib/movebytes.c Sun Feb 4 18:40:34 1996 +++ cdrecord-1.6/lib/movebytes.c Sun Nov 16 14:14:57 1997 @@ -19,6 +19,17 @@ * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ +#ifdef __alpha__ +/* the movebytes() below doesn't work on machines with sizeof(long) != 4 */ +/* and at least on Linux/Alpha memmove() does a better job */ +char *movebytes(fromv, tov, cnt) + const void *fromv; + void *tov; + int cnt; +{ + memmove (tov, fromv, cnt); +} +#else #include #include @@ -117,3 +128,4 @@ return (ep); } } +#endif -- Martin Ostermann | DEC 2000/300, DECpc-150, Jensen tips: Communication Networks | http://www.comnets.rwth-aachen.de/~ost Aachen University of Technology | Linux/Alpha Hompage with FAQ: Germany | http://www.azstarnet.com/~axplinux