unsigned char* USB_INIT_39_ADDR = (unsigned char*)0x710039; unsigned char* USB_INIT_3A_ADDR = (unsigned char*)0x71003A; unsigned char* USB_INIT_4A_ADDR = (unsigned char*)0x71004A; unsigned char* USB_INIT_4B_ADDR = (unsigned char*)0x71004B; unsigned char* USB_INIT_4C_ADDR = (unsigned char*)0x71004C; unsigned char* USB_INIT_4D_ADDR = (unsigned char*)0x71004D; unsigned char* USB_BASE_POWER_ADDR = (unsigned char*)0x710054; unsigned char* USB_INT_STATUS1_ADDR = (unsigned char*)0x710055; unsigned char* USB_INT_STATUS2_ADDR = (unsigned char*)0x710056; unsigned char* USB_INT_MASK_ADDR = (unsigned char*)0x710057; unsigned char* USB_INT_ENABLE_ADDR = (unsigned char*)0x71005B; unsigned char* USB_FUNCTION_ADDRESS_ADDR = (unsigned char*)0x710080; unsigned char* USB_UNKNOWN_81_ADDR = (unsigned char*)0x710081; unsigned char* USB_OUTGOING_DATA_SUCCESS_ADDR = (unsigned char*)0x710082; unsigned char* USB_INCOMING_DATA_READY_ADDR = (unsigned char*)0x710084; unsigned char* USB_DATA_STATUS_ADDR = (unsigned char*)0x710086; unsigned char* USB_DATA_OUT_EN_ADDR = (unsigned char*)0x710087; unsigned char* USB_DATA_IN_EN_ADDR = (unsigned char*)0x710089; unsigned char* USB_INIT_RELATED1_ADDR = (unsigned char*)0x71008B; unsigned char* USB_FRAME_COUNTER_LOW_ADDR = (unsigned char*)0x71008C; unsigned char* USB_FRAME_COUNTER_HIGH_ADDR = (unsigned char*)0x71008D; unsigned char* USB_SELECTED_ENDPOINT_ADDR = (unsigned char*)0x71008E; unsigned char* USB_MODE_ADDR = (unsigned char*)0x71008F; unsigned char* USB_OUTGOING_CMD_ADDR = (unsigned char*)0x710091; unsigned char* USB_UNKNOWN_92_ADDR = (unsigned char*)0x710092; unsigned char* USB_INCOMING_CMD_ADDR = (unsigned char*)0x710094; unsigned char* USB_INCOMING_DATA_COUNT_ADDR = (unsigned char*)0x00710096; unsigned char* USB_ENDPOINT0_DATA_ADDR = (unsigned char*)0x7100A0; int* USB_DEVICE_ADDRESS = (int*)0x893C; void USB_HandleControlPacket(unsigned char* packet); void USB_FinishControlRequest(); void USB_StartControlOutput(); void USB_SendControlData(unsigned char* data, unsigned int length); void USB_FinishControlOutput(); void USB_WaitOutgoingCmdSuccess(); void USB_OutgoingCmdDummyRead(); void USB_SetFunctionAddress(int address); void USB_SendInterruptData(unsigned char endpoint, unsigned char* data, unsigned int count); void USB_ReceiveInterruptData(unsigned char endpoint, unsigned char* data, unsigned int count); void USB_PeripheralInitialize(); void USB_PeripheralKill(); void USB_HandleHostDataWaiting();