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.
; Last processed by srccommit version: 1.1.
;
GBLS Module_MajorVersion
GBLA Module_Version
......@@ -10,14 +9,12 @@
GBLS Module_ApplicationDate
GBLS Module_HelpVersion
GBLS Module_ComponentName
GBLS Module_ComponentPath
Module_MajorVersion SETS "0.39"
Module_Version SETA 39
Module_MajorVersion SETS "0.40"
Module_Version SETA 40
Module_MinorVersion SETS ""
Module_Date SETS "02 Mar 2012"
Module_ApplicationDate SETS "02-Mar-12"
Module_Date SETS "18 Mar 2020"
Module_ApplicationDate SETS "18-Mar-20"
Module_ComponentName SETS "PS2Driver"
Module_ComponentPath SETS "castle/RiscOS/Sources/HWSupport/PS2Driver"
Module_FullVersion SETS "0.39"
Module_HelpVersion SETS "0.39 (02 Mar 2012)"
Module_FullVersion SETS "0.40"
Module_HelpVersion SETS "0.40 (18 Mar 2020)"
END
/* (0.39)
/* (0.40)
*
* 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_Date_CMHG 02 Mar 2012
#define Module_Date_CMHG 18 Mar 2020
#define Module_MajorVersion "0.39"
#define Module_Version 39
#define Module_MajorVersion "0.40"
#define Module_Version 40
#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_ComponentPath "castle/RiscOS/Sources/HWSupport/PS2Driver"
#define Module_FullVersion "0.39"
#define Module_HelpVersion "0.39 (02 Mar 2012)"
#define Module_LibraryVersionInfo "0:39"
#define Module_FullVersion "0.40"
#define Module_HelpVersion "0.40 (18 Mar 2020)"
#define Module_LibraryVersionInfo "0:40"
......@@ -89,12 +89,14 @@ RXStateHandler # 4 ; Address of current state handler.
[ ScrollMouse
ProbeStatePtr # 0 ; Overlay next 4 bytes
MouseType # 1 ; mousetype_*
]
Byte1 # 1 ; First byte of serial mouse report.
Byte2 # 1 ; Second byte of serial mouse report.
Byte3 # 1 ; Third byte of serial mouse report.
Byte4 # 1 ; Fourth byte of serial mouse report.
[ ScrollMouse
MouseType # 1 ; mousetype_*
]
# 3:AND:(-:INDEX:@)
channel_ws_size * :INDEX:@
......
......@@ -402,7 +402,7 @@ PointerRequest
;
; Identify our pointer device.
;
PointerIdentify
PointerIdentify ROUT
TEQ r0, #PointerReason_Selected ; If selected then
BEQ PointerSelected ; initialise.
TEQ r0, #PointerReason_Identify ; If not identify then
......@@ -412,20 +412,37 @@ 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
]
BL AddPointerStruct
; EXITS VS
;
; ADR r2, MSCData
; BL AddPointerStruct
; EXITS VS
;
; ADR r2, MSData
; BL AddPointerStruct
CLRV
EXIT
AddPointerStruct
AddPointerStruct ROUT
; In: r1 = pointer to device type record list or 0
; r2 = pointer to device data
; Out: r1 = pointer to extended list
......@@ -488,24 +505,26 @@ PS2Data
[ international
DCB "PS2Name",0
|
DCB "PS2 mouse",0
DCB "PS/2 mouse",0
]
;MSCData
; DCB PointerDevice_MSCMouse
; [ international
; DCB "MSCName",0
; |
; DCB "Mouse Systems Corp mouse",0
; ]
;
;MSData
; DCB PointerDevice_MicrosoftMouse
; [ international
; DCB "MSName",0
; |
; DCB "Microsoft mouse",0
; ]
[ ScrollMouse
IntelliData
DCB PointerDevice_PS2Mouse
[ international
DCB "Intelli",0
|
DCB "Microsoft Intellimouse PS/2",0
]
ExploreData
DCB PointerDevice_PS2Mouse
[ international
DCB "Explore",0
|
DCB "MS Intellimouse Explorer PS/2",0
]
]
ALIGN
;---------------------------------------------------------------------------
......@@ -971,14 +990,15 @@ PS2_GetZero
STRB r2, DeviceType
[ ScrollMouse
ADREQ r1, ProbeData
STREQ r1, ProbeStatePtr
ADREQ r2, PS2_MouseProbe
MOV r1, #mousetype_STANDARD
STRB r1, MouseType
ADR r1, ProbeData
STR r1, ProbeStatePtr
ADR r2, PS2_MouseProbe
|
ADREQ r2, PS2_GetACKforSETRATE
ADR r2, PS2_GetACKforSETRATE
]
BEQ continue
B unexpected
B continue
;
; 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