From d7ed7acccf91886f8535518deaec0bf818857a98 Mon Sep 17 00:00:00 2001 From: Yuval Adam Date: Fri, 25 Mar 2016 23:07:29 +0300 Subject: Add V-USB usbdrv/ --- keyboard/usbdrv/asmcommon.inc | 187 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 187 insertions(+) create mode 100644 keyboard/usbdrv/asmcommon.inc (limited to 'keyboard/usbdrv/asmcommon.inc') diff --git a/keyboard/usbdrv/asmcommon.inc b/keyboard/usbdrv/asmcommon.inc new file mode 100644 index 0000000..d2a4f7c --- /dev/null +++ b/keyboard/usbdrv/asmcommon.inc @@ -0,0 +1,187 @@ +/* Name: asmcommon.inc + * Project: V-USB, virtual USB port for Atmel's(r) AVR(r) microcontrollers + * Author: Christian Starkjohann + * Creation Date: 2007-11-05 + * Tabsize: 4 + * Copyright: (c) 2007 by OBJECTIVE DEVELOPMENT Software GmbH + * License: GNU GPL v2 (see License.txt), GNU GPL v3 or proprietary (CommercialLicense.txt) + */ + +/* Do not link this file! Link usbdrvasm.S instead, which includes the + * appropriate implementation! + */ + +/* +General Description: +This file contains assembler code which is shared among the USB driver +implementations for different CPU cocks. Since the code must be inserted +in the middle of the module, it's split out into this file and #included. + +Jump destinations called from outside: + sofError: Called when no start sequence was found. + se0: Called when a package has been successfully received. + overflow: Called when receive buffer overflows. + doReturn: Called after sending data. + +Outside jump destinations used by this module: + waitForJ: Called to receive an already arriving packet. + sendAckAndReti: + sendNakAndReti: + sendCntAndReti: + usbSendAndReti: + +The following macros must be defined before this file is included: + .macro POP_STANDARD + .endm + .macro POP_RETI + .endm +*/ + +#define token x1 + +overflow: + ldi x2, 1<