Code:
DoUSBinit:
pause 500
usbinit 
repeat 
usbservice
until usb_device_state = CONFIGURED_STATE
@ INT_ENABLE USB_INT
return
1. That PAUSE can screw up USB.

2. DT INT takes care of USB INIT for you.

3. You shouldn't have to write your own assembler routines for USB, they should be available in DT INT.

4. I didn't see ReEnterPBP-18.bas included.

Robert