Resource centre for ZX Spectrum games
using Manic Miner and Jet Set Willy game engines
Archive of the
Manic Miner & Jet Set Willy Yahoo! Group
messages
|
|
||
|
|
Message: 6608
Author: andrewbroad
Date: 10/12/2009
Subject: Broadsoft Lifts v0.2: Hex-editor type-in
Permission to use Broadsoft Lifts v0.2 in a Jet Set Willy game is granted provided that:
(a) The game is free of charge.
(b) The documentation that accompanies the game states that it uses Broadsoft Lifts v0.2.
To apply Broadsoft Lifts v0.2 using JSWED's hex-editor:
Variables:
>>>rHrL: address of "revert" subroutine (length 9 bytes)
xHxL: address of "lift" subroutine (length #64 bytes for JSW48/128, #72 bytes for JSW64)
<<<
Recommended values for JSW48/128:
>>>rHrL = #96F4 (last byte at #96FC)
xHxL = #96FD (last byte at #9760)
<<<
Recommended values for JSW64:
>>>rHrL = #9B00 (last byte at #9B08)
xHxL = #9B09 (last byte at #9B7A)
<<<
1. The call to "revert":
>>>#89C6: CD rL rH
<<<
2. The call to "lift":
>>>#91B6: CD xL xH
<<<
3a. The "revert" subroutine for JSW48/128:
>>>rHrL: 21 21 D0 22 6A 8E C3 C0
+#08: 90
<<<
3b. The "revert" subroutine for JSW64:
>>>rHrL: 21 21 D0 22 6A 8E C3 9B
+#08: 85
<<<
4a. The "lift" subroutine for JSW48/128:
>>>xHxL: DD CB 01 66 28 5A 3A D1
+#08: 85 FE 01 20 0B 3A D5 85
+#10: FE 10 28 04 FE 0D 20 48
+#18: 21 D3 85 DD 7E 02 E6 1F
+#20: 5F 7E E6 1F 93 FE 02 38
+#28: 04 FE FF 38 33 3A CF 85
+#30: E6 F0 5F DD 7E 03 E6 F0
+#38: 93 FE 30 38 04 FE FE 38
+#40: 1F DD 7E 03 D6 20 E6 F0
+#48: 32 CF 85 CD 9C 8E 3A D1
+#50: 85 FE 0C D2 B7 90 AF 32
+#58: D1 85 21 18 68 22 6A 8E
+#60: 11 08 00 C9
<<<
4b. The "lift" subroutine for JSW64:
>>>xHxL: DD CB 01 66 28 68 DD 7E
+#08: 00 B7 28 62 FE 88 28 5E
+#10: FE A8 28 5A 3A D1 85 FE
+#18: 01 20 0B 3A D5 85 FE 10
+#20: 28 04 FE 0D 20 48 21 D3
+#28: 85 DD 7E 02 E6 1F 5F 7E
+#30: E6 1F 93 FE 02 38 04 FE
+#38: FF 38 33 3A CF 85 E6 F0
+#40: 5F DD 7E 03 E6 F0 93 FE
+#48: 30 38 04 FE FE 38 1F DD
+#50: 7E 03 D6 20 E6 F0 32 CF
+#58: 85 CD 9C 8E 3A D1 85 FE
+#60: 0C D2 B7 90 AF 32 D1 85
+#68: 21 18 68 22 6A 8E 11 08
+#70: 00 C9
<<<
5. To turn a guardian into a lift, set Bit 4 of the second byte of the guardian-class (JSW48/128) or guardian (JSW64) to 1, i.e. add #10 to the existing (non-lift) value of the second byte.
--
Dr. Andrew Broad
http://abroad.sqweebs.com/spectrum/mmjsw/
