Logitech Formula GP USB Driver#
Table of Contents
Tested with a Logitec Formula GP Wheel USB. Other Logitech Wheels might work. Please send feedback.
Description#
USB Register | Byte of HID Packet | Function | Atari Memory Shadow | original Label | new USB label | |
---|---|---|---|---|---|---|
$10 | 1 | Wheel movement | $270 (624) | PADDL0 | LWHEEL | |
$11 | 2 | Buttons 1-6 | $271 (625) | PADDL1 | LBUTTON | |
$12 | 3 | Accelleration (Brake and Throttle) | $272 (626) | PADDL2 | LACCEL | |
$13 | 4 | Throttle | $273 (627) | PADDL3 | LTHROTL | |
$14 | 5 | Brake | $274 (628) | PADDL4 | LBRAKE |
- Byte 1: Wheel movement ($00 = left, $80 = middle, $FF= right)
- Byte 2: Buttons 1-6
- Byte 3: Accelleration (Throttle and Brake) ($00 = Brake, $80 = idle, $FF= Throttle)
- Byte 4: Throttle ($00 = accellerate, $FF= idle)
- Byte 5: Brake ($00 = Idle, $FF= Brake)
Device dependent source#
This Source must be included into the Base HID Driver.
01000 .LI OFF 01010 **************************** 01020 ** 6502 USB DEVELOPMENT ** 01030 ** (C) 2005 BY ABBUC ** 01040 ** REGIONALGRUPPE FFM ** 01050 ** DEVICE DRIVER FOR ** 01060 ** LOGITECH FORMULA GP ** 01070 ** VERSION 1.0 20050106 ** 01080 ** LICENSED UNDER THE ** 01090 ** GNU PUBLIC LICENSE ** 01100 ** (GPL) VERS. 2 OR LATER ** 01110 ** ** 01120 **************************** 01130 ; THIS FILE MUST BE INCLUDED 01140 ; FROM USBHID.SRC! 01150 ; 01160 ; ATARI MEMORY LOCATIONS 01170 ; 01180 STICK0 = $0278 01190 STICK1 = $0279 01200 STRIG0 = $0284 01210 STRIG1 = $0285 01220 ; 01230 ; USB JOYSTICK SHADOW REGISTER 01240 ; 01250 LWHEEL = $0270 01260 LBUTTON = $0271 01270 LACCEL = $0272 01280 LTHROTL = $0273 01290 LBRAKE = $0274 01300 ; 01310 ------------------------------ 01320 POLLDEVICE 01330 ; 01340 LDA #03 01350 JSR PROCESS 01360 ; AND #01 01370 ; BEQ .2 ; NO DATA 01380 ; 01390 LDX #$10 01400 JSR REGFETCH 01410 STA LWHEEL 01420 ; 01430 LDX #$11 01440 JSR REGFETCH 01450 STA LBUTTON 01460 ; 01470 LDX #$12 01480 JSR REGFETCH 01490 STA LACCEL 01500 ; 01510 LDX #$13 01520 JSR REGFETCH 01530 STA LTHROTL 01540 ; 01550 LDX #$14 01560 JSR REGFETCH 01570 STA LBRAKE 01580 ; 01590 .2 RTS 01600 ------------------------------ 01610 USB2ATA 01620 LDA #$0F 01630 STA STICK0 01640 LDA #1 01650 STA STRIG0 01660 ; 01670 LDA LBUTTON 01680 BEQ GETSTICK 01690 LDA #0 01700 STA STRIG0 01710 ; 01720 GETSTICK 01730 LDA STICK0 01740 LDX LWHEEL 01750 CPX THLEFT 01760 BCC .1 ; LEFT 01770 CPX THRIGHT 01780 BCS .2 ; RIGHT 01790 BCC .10 01800 .1 EOR #$04 ; LEFT 01810 BPL .3 01820 .2 EOR #$08 ; RIGHT 01830 .3 STA STICK0 01840 .10 RTS 01850 ------------------------------ 01860 THLEFT .HX 40 ; THRESHOLD LEFT 01870 THRIGHT .HX C0 ; THRESHOLD RIGHT 01880 ------------------------------ 01890 VBI 01900 LDA STICK0 01910 EOR #$0F 01920 BNE .1 01930 LDA STRIG0 01940 BEQ .1 01950 ; 01960 JSR POLLDEVICE 01970 JSR USB2ATA 01980 .1 JMP XITVBV 01990 ------------------------------ 02000 .OR $7400 02010 ------------------------------ 02020 PRINTDEVICE 02030 JSR PRINT 02040 .AS "Logitech FORMULA GP Driver" 02050 .HX 40 02060 RTS 02070 ------------------------------ 02080 PRINTVERSION 02090 JSR PRINT 02100 .AS "Version 1.0 " 02110 .HX 40 02120 RTS 02130 ------------------------------ 02140 PRINTCOPY 02150 JSR PRINT 02160 .AS "(c) 20050106 C. Strotmann/ABBUC" 02170 .HX 40 02180 RTS 02190 ------------------------------