|
@@ -34,18 +34,20 @@ PROCEDURE -ReadMouse() : LONGINT;
|
|
|
CODE
|
|
|
#IF I386 THEN
|
|
|
MOV EAX, 564D5868H
|
|
|
- PUSH ECX
|
|
|
+ #IF COOP THEN
|
|
|
+ MOV ESI, ECX
|
|
|
+ #END
|
|
|
MOV ECX, 4
|
|
|
MOV DX, 5658H
|
|
|
IN EAX, DX;
|
|
|
- POP ECX
|
|
|
+ #IF COOP THEN
|
|
|
+ MOV ECX, ESI
|
|
|
+ #END
|
|
|
#ELSIF AMD64 THEN
|
|
|
MOV EAX, 564D5868H
|
|
|
- PUSH RCX
|
|
|
MOV ECX, 4
|
|
|
MOV DX, 5658H
|
|
|
IN EAX, DX;
|
|
|
- POP RCX
|
|
|
#ELSE
|
|
|
unimplemented
|
|
|
#END
|
|
@@ -56,19 +58,27 @@ CODE
|
|
|
#IF I386 THEN
|
|
|
MOV EAX, 564D5868H
|
|
|
POP EBX
|
|
|
- PUSH ECX
|
|
|
+ #IF COOP THEN
|
|
|
+ MOV ESI, ECX
|
|
|
+ #END
|
|
|
MOV ECX, 5
|
|
|
MOV DX, 5658H
|
|
|
OUT DX, EAX;
|
|
|
- POP ECX
|
|
|
+ #IF COOP THEN
|
|
|
+ MOV ECX, ESI
|
|
|
+ #END
|
|
|
#ELSIF AMD64 THEN
|
|
|
MOV EAX, 564D5868H
|
|
|
+ #IF COOP THEN
|
|
|
+ MOV RSI, RBX
|
|
|
+ #END
|
|
|
POP EBX
|
|
|
- PUSH RCX
|
|
|
MOV ECX, 5
|
|
|
MOV DX, 5658H
|
|
|
OUT DX, EAX;
|
|
|
- POP RCX
|
|
|
+ #IF COOP THEN
|
|
|
+ MOV RBX, RSI
|
|
|
+ #END
|
|
|
#ELSE
|
|
|
unimplemented
|
|
|
#END
|
|
@@ -79,19 +89,27 @@ CODE
|
|
|
#IF I386 THEN
|
|
|
MOV EAX, 564D5868H
|
|
|
POP EBX
|
|
|
- PUSH ECX
|
|
|
+ #IF COOP THEN
|
|
|
+ MOV ESI, ECX
|
|
|
+ #END
|
|
|
MOV ECX, 8
|
|
|
MOV DX, 5658H
|
|
|
OUT DX, EAX;
|
|
|
- POP ECX
|
|
|
+ #IF COOP THEN
|
|
|
+ MOV ECX, ESI
|
|
|
+ #END
|
|
|
#ELSIF AMD64 THEN
|
|
|
MOV EAX, 564D5868H
|
|
|
+ #IF COOP THEN
|
|
|
+ MOV RSI, RBX
|
|
|
+ #END
|
|
|
POP EBX
|
|
|
- PUSH RCX
|
|
|
MOV ECX, 8
|
|
|
MOV DX, 5658H
|
|
|
OUT DX, EAX;
|
|
|
- POP RCX
|
|
|
+ #IF COOP THEN
|
|
|
+ MOV RBX, RSI
|
|
|
+ #END
|
|
|
#ELSE
|
|
|
unimplemented
|
|
|
#END
|
|
@@ -102,19 +120,27 @@ CODE
|
|
|
#IF I386 THEN
|
|
|
MOV EAX, 564D5868H
|
|
|
POP EBX
|
|
|
- PUSH ECX
|
|
|
+ #IF COOP THEN
|
|
|
+ MOV ESI, ECX
|
|
|
+ #END
|
|
|
MOV ECX, 9
|
|
|
MOV DX, 5658H
|
|
|
OUT DX, EAX;
|
|
|
- POP ECX
|
|
|
+ #IF COOP THEN
|
|
|
+ MOV ECX, ESI
|
|
|
+ #END
|
|
|
#ELSIF AMD64 THEN
|
|
|
MOV EAX, 564D5868H
|
|
|
+ #IF COOP THEN
|
|
|
+ MOV RSI, RBX
|
|
|
+ #END
|
|
|
POP EBX
|
|
|
- PUSH RCX
|
|
|
MOV ECX, 9
|
|
|
MOV DX, 5658H
|
|
|
OUT DX, EAX;
|
|
|
- POP RCX
|
|
|
+ #IF COOP THEN
|
|
|
+ MOV RBX, RSI
|
|
|
+ #END
|
|
|
#ELSE
|
|
|
unimplemented
|
|
|
#END
|
|
@@ -124,18 +150,20 @@ PROCEDURE -ReceiveLength() : LONGINT;
|
|
|
CODE
|
|
|
#IF I386 THEN
|
|
|
MOV EAX, 564D5868H
|
|
|
- PUSH ECX
|
|
|
+ #IF COOP THEN
|
|
|
+ MOV ESI, ECX
|
|
|
+ #END
|
|
|
MOV ECX, 6
|
|
|
MOV DX, 5658H
|
|
|
IN EAX, DX;
|
|
|
- POP ECX
|
|
|
+ #IF COOP THEN
|
|
|
+ MOV ECX, ESI
|
|
|
+ #END
|
|
|
#ELSIF AMD64 THEN
|
|
|
MOV EAX, 564D5868H
|
|
|
- PUSH RCX
|
|
|
MOV ECX, 6
|
|
|
MOV DX, 5658H
|
|
|
IN EAX, DX;
|
|
|
- POP RCX
|
|
|
#ELSE
|
|
|
unimplemented
|
|
|
#END
|
|
@@ -145,18 +173,20 @@ PROCEDURE -Receive4Chars() : LONGINT;
|
|
|
CODE
|
|
|
#IF I386 THEN
|
|
|
MOV EAX, 564D5868H
|
|
|
- PUSH ECX
|
|
|
+ #IF COOP THEN
|
|
|
+ MOV ESI, ECX
|
|
|
+ #END
|
|
|
MOV ECX, 7
|
|
|
MOV DX, 5658H
|
|
|
IN EAX, DX
|
|
|
- POP ECX
|
|
|
+ #IF COOP THEN
|
|
|
+ MOV ECX, ESI
|
|
|
+ #END
|
|
|
#ELSIF AMD64 THEN
|
|
|
MOV EAX, 564D5868H
|
|
|
- PUSH RCX
|
|
|
MOV ECX, 7
|
|
|
MOV DX, 5658H
|
|
|
IN EAX, DX
|
|
|
- POP RCX
|
|
|
#ELSE
|
|
|
unimplemented
|
|
|
#END
|
|
@@ -166,18 +196,20 @@ PROCEDURE -GetVirtualHWVersion() : LONGINT;
|
|
|
CODE
|
|
|
#IF I386 THEN
|
|
|
MOV EAX, 564D5868H
|
|
|
- PUSH ECX
|
|
|
+ #IF COOP THEN
|
|
|
+ MOV ESI, ECX
|
|
|
+ #END
|
|
|
MOV ECX, 11H
|
|
|
MOV DX, 5658H
|
|
|
IN EAX, DX
|
|
|
- POP ECX
|
|
|
+ #IF COOP THEN
|
|
|
+ MOV ECX, ESI
|
|
|
+ #END
|
|
|
#ELSIF AMD64 THEN
|
|
|
MOV EAX, 564D5868H
|
|
|
- PUSH RCX
|
|
|
MOV ECX, 11H
|
|
|
MOV DX, 5658H
|
|
|
IN EAX, DX
|
|
|
- POP RCX
|
|
|
#ELSE
|
|
|
unimplemented
|
|
|
#END
|
|
@@ -187,20 +219,22 @@ PROCEDURE -GetVMWareVersion() : LONGINT;
|
|
|
CODE
|
|
|
#IF I386 THEN
|
|
|
MOV EAX, 564D5868H
|
|
|
- PUSH ECX
|
|
|
+ #IF COOP THEN
|
|
|
+ MOV ESI, ECX
|
|
|
+ #END
|
|
|
MOV ECX, 0AH
|
|
|
MOV DX, 5658H
|
|
|
IN EAX, DX
|
|
|
MOV EAX, ECX
|
|
|
- POP ECX
|
|
|
+ #IF COOP THEN
|
|
|
+ MOV ECX, ESI
|
|
|
+ #END
|
|
|
#ELSIF AMD64 THEN
|
|
|
MOV EAX, 564D5868H
|
|
|
- PUSH RCX
|
|
|
MOV ECX, 0AH
|
|
|
MOV DX, 5658H
|
|
|
IN EAX, DX
|
|
|
MOV EAX, ECX
|
|
|
- POP RCX
|
|
|
#ELSE
|
|
|
unimplemented
|
|
|
#END
|
|
@@ -212,21 +246,29 @@ CODE
|
|
|
#IF I386 THEN
|
|
|
MOV EAX, 564D5868H
|
|
|
POP EBX
|
|
|
- PUSH ECX
|
|
|
+ #IF COOP THEN
|
|
|
+ MOV ESI, ECX
|
|
|
+ #END
|
|
|
MOV ECX, 0BH
|
|
|
MOV DX, 5658H
|
|
|
IN EAX, DX
|
|
|
MOV EAX, EBX
|
|
|
- POP ECX
|
|
|
+ #IF COOP THEN
|
|
|
+ MOV ECX, ESI
|
|
|
+ #END
|
|
|
#ELSIF AMD64 THEN
|
|
|
MOV EAX, 564D5868H
|
|
|
+ #IF COOP THEN
|
|
|
+ MOV RSI, RBX
|
|
|
+ #END
|
|
|
POP EBX
|
|
|
- PUSH RCX
|
|
|
MOV ECX, 0BH
|
|
|
MOV DX, 5658H
|
|
|
IN EAX, DX
|
|
|
MOV EAX, EBX
|
|
|
- POP RCX
|
|
|
+ #IF COOP THEN
|
|
|
+ MOV RBX, RSI
|
|
|
+ #END
|
|
|
#ELSE
|
|
|
unimplemented
|
|
|
#END
|
|
@@ -238,20 +280,28 @@ CODE
|
|
|
#IF I386 THEN
|
|
|
MOV EAX, 564D5868H
|
|
|
POP EBX
|
|
|
- PUSH ECX
|
|
|
+ #IF COOP THEN
|
|
|
+ MOV ESI, ECX
|
|
|
+ #END
|
|
|
MOV ECX, 0EX
|
|
|
MOV DX, 5658H
|
|
|
OUT DX, EAX;
|
|
|
- POP ECX
|
|
|
+ #IF COOP THEN
|
|
|
+ MOV ECX, ESI
|
|
|
+ #END
|
|
|
#ELSIF AMD64 THEN
|
|
|
MOV EAX, 564D5868H
|
|
|
+ #IF COOP THEN
|
|
|
+ MOV RSI, RBX
|
|
|
+ #END
|
|
|
POP EBX
|
|
|
- PUSH RCX
|
|
|
MOV ECX, 0EX
|
|
|
MOV DX, 5658H
|
|
|
OUT DX, EAX;
|
|
|
- POP RCX
|
|
|
-#ELSE
|
|
|
+ #IF COOP THEN
|
|
|
+ MOV RBX, RSI
|
|
|
+ #END
|
|
|
+##ELSE
|
|
|
unimplemented
|
|
|
#END
|
|
|
END SetGUIOptions;
|
|
@@ -260,18 +310,20 @@ PROCEDURE -GetGUIOptions(): SET;
|
|
|
CODE
|
|
|
#IF I386 THEN
|
|
|
MOV EAX, 564D5868H
|
|
|
- PUSH ECX
|
|
|
+ #IF COOP THEN
|
|
|
+ MOV ESI, ECX
|
|
|
+ #END
|
|
|
MOV ECX, 0DX
|
|
|
MOV DX, 5658H
|
|
|
IN EAX, DX;
|
|
|
- POP ECX
|
|
|
+ #IF COOP THEN
|
|
|
+ MOV ECX, ESI
|
|
|
+ #END
|
|
|
#ELSIF AMD64 THEN
|
|
|
MOV EAX, 564D5868H
|
|
|
- PUSH RCX
|
|
|
MOV ECX, 0DX
|
|
|
MOV DX, 5658H
|
|
|
IN EAX, DX;
|
|
|
- POP RCX
|
|
|
#ELSE
|
|
|
unimplemented
|
|
|
#END
|