2024-05-21 06:37 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0006437Baal[WHDLoad Installs Games] slavepublic2024-03-17 13:02
Reporterztronzo 
Assigned ToAbaddonProject InfoBaal (Psyclapse)
http://www.whdload.de/games/Baal.html
 
PrioritynormalSeverityfeatureReproducibilityhave not tried
StatusassignedResolutionopen 
Summary0006437: 2nd fire for jump - feature request
DescriptionCan you please add support for 2nd fire for jump on normal joysticks?

CD32 support mode includes buttons to shortcuts but nothing for jump.
Steps To ReproduceTo normally jump you need to hit Fire + UP + direction (Left/Right)
This is rather difficult for some users.
Additional InformationUsing the WHDload source code, I added the following to apply a patch myself using copy of the original code and adding the 3 last operations.
But it would probably be better to add and combine this to your main source.

PL_PSS $9BC2,_joystick_2nd_button,$4a
PL_R $9BC8 ; writes the opcode for the RTS instruction ($4e75)


_joystick_2nd_button

                    ; LEA.L $010e(PC),A0 ; already passed previously by skipping patch location
                MOVE.W $00dff00c,D0
                MOVE.W D0,D2
                AND.W #$0002,D0
                LSL.W #$02,D0
                MOVE.W D0,D3
                MOVE.W D2,D0
                AND.W #$0200,D0
                LSR.W #$07,D0
                OR.W D0,D3
                MOVE.W D2,D0
                MOVE.W D2,D1
                LSL.W #$01,D1
                AND.W #$0002,D0
                AND.W #$0002,D1
                EOR.W D1,D0
                OR.W D0,D3
                MOVE.W D2,D0
                MOVE.W D2,D1
                LSR.W #$01,D1
                AND.W #$0100,D0
                AND.W #$0100,D1
                EOR.W D1,D0
                LSR.W #$08,D0
                OR.W D0,D3
                MOVE.B $00bfe001,D0
                NOT.B D0
                AND.B #$80,D0
                OR.B D0,D3
                MOVE.W D3,(A0)
                BSET.W #1,(A0)
                    BTST.B #$0006,$00dff016 ; check for 2nd fire
                    BNE .no_2nd_fire ; button not pressed
                    OR.W #$81,(A0) ; adding fire + up = $81 = 10000001 using logical OR.W
.no_2nd_fire RTS




; Additional info:
; $80 10000000 Fire
; $81 10000001 Fire + up
; $89 10001001 fire + jump up-right
; $85 10000101 fire + jump up-left
; $88 10001000 fire + right
; $84 10000100 fire + left
; #82 10000010 fire + down
TagsNo tags attached.
MachineA1200
CPU68020
CPUSpeed50
ChipSetAGA
GFXCardNone
ChipMem2 MB
FastMem0 MB
WorkbenchOS 3.0
KickROM40 - Kick 3.1
KickSoftNone
WHDLoad18.9
imported
Attached Files

-Relationships
+Relationships

-Notes

note ~0013625

ztronzo (reporter)

I actually ended up using OR.W #$89,(A0)
This allows to to jump towards the direction we are facing..
Jump "up" was pretty much useless and can still be performed with the old style control if needed.
+Notes

-Issue History
Date Modified Username Field Change
2024-03-11 16:28 ztronzo New Issue
2024-03-12 10:47 ztronzo Note Added: 0013625
2024-03-17 13:02 StingRay Assigned To => Abaddon
2024-03-17 13:02 StingRay Status new => assigned
+Issue History