I've been trying to get an HID bootloader running for the 18f2550, with a 4MHz crystal, and it should be in the lower 0x800 bytes, but I want the 'boot' switch to be on pin RA4. I mostly program in assembler, hence the probably basic question below: Trying to compile the Holger bootloader under Linux, which was originally compiled with mcc18, but under Windoze. I get (after creating a Makefile): mcc18 usb9.c -Oa+ -p=3D18f2550 usb9.c: USBCheckStdRequest() 95: wCount._word =3D sizeof(device_dsc); ^ (196) struct/union required 100: wCount._word =3D sizeof(cfg01); ^ (196) struct/union required 105: wCount._word =3D sizeof(sd000); ^ (196) struct/union required 121: ((wCount).v[0]) =3D 1; ^ (196) struct/union required ^ (981) pointer required ^ (981) pointer required Now, wCount is defined as WORD, which is defined as a struct: typedef union _WORD { word _word; struct { byte byte0; byte byte1; }; struct { BYTE Byte0; BYTE Byte1; }; struct { BYTE LowB; BYTE HighB; }; struct { byte v[2]; }; } WORD; Can someone suggest a solution? John --=20 http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .