Commit 113a0714 authored by Jeffrey Lee's avatar Jeffrey Lee Committed by ROOL

Report appropriate mouse name via PointerV 1

Report the type of PS/2 mouse detected (sticking to 30 char limit
mandated by PRM5), and correct "PS2" to "PS/2"

Version 0.40. Tagged as 'PS2Driver-0_40'
parent 0313a270
PS2Name:PS2 mouse PS2Name:PS/2 mouse
Intelli:Microsoft Intellimouse PS/2
Explore:MS Intellimouse Explorer PS/2
; ;
; This file is automatically maintained by srccommit, do not edit manually. ; This file is automatically maintained by srccommit, do not edit manually.
; Last processed by srccommit version: 1.1.
; ;
GBLS Module_MajorVersion GBLS Module_MajorVersion
GBLA Module_Version GBLA Module_Version
...@@ -10,14 +9,12 @@ ...@@ -10,14 +9,12 @@
GBLS Module_ApplicationDate GBLS Module_ApplicationDate
GBLS Module_HelpVersion GBLS Module_HelpVersion
GBLS Module_ComponentName GBLS Module_ComponentName
GBLS Module_ComponentPath Module_MajorVersion SETS "0.40"
Module_MajorVersion SETS "0.39" Module_Version SETA 40
Module_Version SETA 39
Module_MinorVersion SETS "" Module_MinorVersion SETS ""
Module_Date SETS "02 Mar 2012" Module_Date SETS "18 Mar 2020"
Module_ApplicationDate SETS "02-Mar-12" Module_ApplicationDate SETS "18-Mar-20"
Module_ComponentName SETS "PS2Driver" Module_ComponentName SETS "PS2Driver"
Module_ComponentPath SETS "castle/RiscOS/Sources/HWSupport/PS2Driver" Module_FullVersion SETS "0.40"
Module_FullVersion SETS "0.39" Module_HelpVersion SETS "0.40 (18 Mar 2020)"
Module_HelpVersion SETS "0.39 (02 Mar 2012)"
END END
/* (0.39) /* (0.40)
* *
* This file is automatically maintained by srccommit, do not edit manually. * This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1.
* *
*/ */
#define Module_MajorVersion_CMHG 0.39 #define Module_MajorVersion_CMHG 0.40
#define Module_MinorVersion_CMHG #define Module_MinorVersion_CMHG
#define Module_Date_CMHG 02 Mar 2012 #define Module_Date_CMHG 18 Mar 2020
#define Module_MajorVersion "0.39" #define Module_MajorVersion "0.40"
#define Module_Version 39 #define Module_Version 40
#define Module_MinorVersion "" #define Module_MinorVersion ""
#define Module_Date "02 Mar 2012" #define Module_Date "18 Mar 2020"
#define Module_ApplicationDate "02-Mar-12" #define Module_ApplicationDate "18-Mar-20"
#define Module_ComponentName "PS2Driver" #define Module_ComponentName "PS2Driver"
#define Module_ComponentPath "castle/RiscOS/Sources/HWSupport/PS2Driver"
#define Module_FullVersion "0.39" #define Module_FullVersion "0.40"
#define Module_HelpVersion "0.39 (02 Mar 2012)" #define Module_HelpVersion "0.40 (18 Mar 2020)"
#define Module_LibraryVersionInfo "0:39" #define Module_LibraryVersionInfo "0:40"
...@@ -89,12 +89,14 @@ RXStateHandler # 4 ; Address of current state handler. ...@@ -89,12 +89,14 @@ RXStateHandler # 4 ; Address of current state handler.
[ ScrollMouse [ ScrollMouse
ProbeStatePtr # 0 ; Overlay next 4 bytes ProbeStatePtr # 0 ; Overlay next 4 bytes
MouseType # 1 ; mousetype_*
] ]
Byte1 # 1 ; First byte of serial mouse report. Byte1 # 1 ; First byte of serial mouse report.
Byte2 # 1 ; Second byte of serial mouse report. Byte2 # 1 ; Second byte of serial mouse report.
Byte3 # 1 ; Third byte of serial mouse report. Byte3 # 1 ; Third byte of serial mouse report.
Byte4 # 1 ; Fourth byte of serial mouse report. Byte4 # 1 ; Fourth byte of serial mouse report.
[ ScrollMouse
MouseType # 1 ; mousetype_*
]
# 3:AND:(-:INDEX:@) # 3:AND:(-:INDEX:@)
channel_ws_size * :INDEX:@ channel_ws_size * :INDEX:@
......
...@@ -402,7 +402,7 @@ PointerRequest ...@@ -402,7 +402,7 @@ PointerRequest
; ;
; Identify our pointer device. ; Identify our pointer device.
; ;
PointerIdentify PointerIdentify ROUT
TEQ r0, #PointerReason_Selected ; If selected then TEQ r0, #PointerReason_Selected ; If selected then
BEQ PointerSelected ; initialise. BEQ PointerSelected ; initialise.
TEQ r0, #PointerReason_Identify ; If not identify then TEQ r0, #PointerReason_Identify ; If not identify then
...@@ -412,20 +412,37 @@ PointerIdentify ...@@ -412,20 +412,37 @@ PointerIdentify
Debug mod,"SM_PointerIdentify" Debug mod,"SM_PointerIdentify"
[ ScrollMouse
; What mouse type have we found?
; (Assume only one mouse connected - multiple won't work properly)
LDRB lr, PS2ch1+:INDEX:DeviceType
TEQ lr, #type_Mouse
LDREQB r2, PS2ch1+:INDEX:MouseType
BEQ %FT50
LDRB lr, PS2ch2+:INDEX:DeviceType
TEQ lr, #type_Mouse
LDREQB r2, PS2ch2+:INDEX:MouseType
BEQ %FT50
LDRB lr, PS2ch3+:INDEX:DeviceType
TEQ lr, #type_Mouse
LDREQB r2, PS2ch3+:INDEX:MouseType
MOVNE r2, #mousetype_STANDARD
50
ASSERT mousetype_STANDARD < mousetype_INTELLIMOUSE
ASSERT mousetype_INTELLIMOUSEX > mousetype_INTELLIMOUSE
CMP r2, #mousetype_INTELLIMOUSE
ADRLT r2, PS2Data
ADREQ r2, IntelliData
ADRGT r2, ExploreData
|
ADR r2, PS2Data ADR r2, PS2Data
]
BL AddPointerStruct BL AddPointerStruct
; EXITS VS
;
; ADR r2, MSCData
; BL AddPointerStruct
; EXITS VS
;
; ADR r2, MSData
; BL AddPointerStruct
CLRV CLRV
EXIT EXIT
AddPointerStruct AddPointerStruct ROUT
; In: r1 = pointer to device type record list or 0 ; In: r1 = pointer to device type record list or 0
; r2 = pointer to device data ; r2 = pointer to device data
; Out: r1 = pointer to extended list ; Out: r1 = pointer to extended list
...@@ -488,24 +505,26 @@ PS2Data ...@@ -488,24 +505,26 @@ PS2Data
[ international [ international
DCB "PS2Name",0 DCB "PS2Name",0
| |
DCB "PS2 mouse",0 DCB "PS/2 mouse",0
] ]
;MSCData [ ScrollMouse
; DCB PointerDevice_MSCMouse IntelliData
; [ international DCB PointerDevice_PS2Mouse
; DCB "MSCName",0 [ international
; | DCB "Intelli",0
; DCB "Mouse Systems Corp mouse",0 |
; ] DCB "Microsoft Intellimouse PS/2",0
; ]
;MSData
; DCB PointerDevice_MicrosoftMouse ExploreData
; [ international DCB PointerDevice_PS2Mouse
; DCB "MSName",0 [ international
; | DCB "Explore",0
; DCB "Microsoft mouse",0 |
; ] DCB "MS Intellimouse Explorer PS/2",0
]
]
ALIGN ALIGN
;--------------------------------------------------------------------------- ;---------------------------------------------------------------------------
...@@ -971,14 +990,15 @@ PS2_GetZero ...@@ -971,14 +990,15 @@ PS2_GetZero
STRB r2, DeviceType STRB r2, DeviceType
[ ScrollMouse [ ScrollMouse
ADREQ r1, ProbeData MOV r1, #mousetype_STANDARD
STREQ r1, ProbeStatePtr STRB r1, MouseType
ADREQ r2, PS2_MouseProbe ADR r1, ProbeData
STR r1, ProbeStatePtr
ADR r2, PS2_MouseProbe
| |
ADREQ r2, PS2_GetACKforSETRATE ADR r2, PS2_GetACKforSETRATE
] ]
BEQ continue B continue
B unexpected
; ;
; State routines for mouse ; State routines for mouse
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment