antoine-source/loderunner/disk/broderbund_loderunner_4play...

114 lines
2.0 KiB
Plaintext

Lode runner
Broderbund
Adaptation for 4play
Antoine Vignau & Olivier Zardini
Brutal Deluxe Software
===
Addresses in RAM vs Track/Sector
$6000 T0E/S0
$7000 T0F/S0
$8000 T10/S0
$8F00 T10/SF
Search of joystick usage on the disk
with map in memory
$C061
-----------
$0E/$01-$A5 $61A4
$0E/$09-$C9 $69C8
$0E/$0A-$DA $6AD9
$0F/$07-$C3 $77C2
$10/$07-$90 $878F
$10/$0D-$37 $8D37
$C062
-----------
$0E/$01-$A0 $619F
$0E/$09-$C4 $69C3
$0E/$0A-$D1 $6AD0
$0F/$07-$BE $77BD
$10/$07-$8B $878A
$10/$0D-$32 $8D31
$C064
-----------
$10/$07-$52 $8751
$10/$07-$5C $875B
$10/$07-$A8 $87A7*
$C065
-----------
$10/$07-$5F $875E
$10/$07-$AB $87AA*
$C070
-----------
$10/$07-$4D $874C
$10/$07-$A3 $87A2*
* checks that a joystick is plugged, if not, force Keyboard
routine is called once at $6000
we can leave it as it is
ADDRESSES TO PATCH IN MEMORY
$xxxx before
=> after
If we do not find a 4play card, jump to $87B5, that will init the Keyboard mode of LR:
$6000 20 A2 87
=> 20 00 8F
$619F AD 62 C0 30 5D AD 61 C0 30 58
A=> AD 90 C0 30 5D 29 40 F0 59 EA
B=> AD 90 C0 30 5D 29 40 D0 59 EA
This next routine changes the behaviour of the program (slightly)
Before, priority was given to button 2.
Now, priority is given to button 1:
$69C3 AD 62 C0 30 05 AD 61 C0 10 09
A=> AD 90 C0 30 05 29 40 D0 0A EA
B=> AD 90 C0 30 05 29 40 F0 0A EA
=> $6AD0 is where you dig left or right:
$6AD0 AD 62 C0 10 04 A9 D5 D0 07 AD
61 C0 10 07
A=> AD 90 C0 10 04 A9 D5 D0 07 29
40 D0 08 EA
B=> AD 90 C0 10 04 A9 D5 D0 07 29
40 F0 08 EA
$77BD AD 62 C0 30 14 AD 61 C0 30 0F
A=> AD 90 C0 30 14 29 40 F0 10 EA
B=> AD 90 C0 30 14 29 40 D0 10 EA
$8746 A9 00 85 65 85 66 AD 70
C0 A2 01 BD 64 C0 10 13
F6 65 CA 10 F6 AD 64 C0
0D 65 C0 10 09 A5 65 05
66 10 E6 EA 10 EC 60
AB=> AD 90 C0 48 29 03 AA BD
5E 87 85 66 68 29 0C 4A
4A AA BD 5E 87 85 65 60
20 10 40 20
$878A AD 62 C0 30 07 AD 61 C0 30 02
A=> AD 90 C0 30 07 29 40 F0 03 EA
B=> AD 90 C0 30 07 29 40 F0 03 EA
$8D31 AD 62 C0 30 0B AD 61 C0 30 06
A=> AD 90 C0 30 0B 29 40 F0 07 EA
B=> AD 90 C0 30 0B 29 40 D0 07 EA