Skip to content

Commit

Permalink
update readme and conversions patch
Browse files Browse the repository at this point in the history
  • Loading branch information
nixxou committed Feb 19, 2024
1 parent 8c45088 commit 8ec5051
Show file tree
Hide file tree
Showing 158 changed files with 8,768 additions and 18 deletions.
56 changes: 38 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,60 +1,80 @@
# DuckStation - LightGun Edition
You need to apply Justifier patch for some of the game
Those are included in the rlz zip.

Lightgun must be used in joystick mode, using guncon relative aiming

Outputs support either with a direct connection for Gun4IR or with MameHooker.

For Gun4IR recoil : go to controller settings, your guncon Port, Settings and you should see Gun4Ir Com port option
For Mamehooker : Settings, General, Enable MameHooker checkbox (you need .NET 8 because i use a third party app to make it work)

Also added some No Flash Gun cheat that were not build in duckstation.

## Compatibility List

SLUS-00335 : Crypt Killer
SLUS-00335 : Crypt Killer [Recoil support]

SLES-00445 : Die Hard Trilogy [Recoil support]

SLUS-00119 : Die Hard Trilogy [Recoil support]

SLES-00445 : Die Hard Trilogy
SLUS-01015 : Die Hard Trilogy 2 - Viva Las Vegas (USA) [Recoil support]

SLUS-00654 : Elemental Gearbolt
SLUS-00654 : Elemental Gearbolt [Recoil support]

SLES-03990 : Extreme ghostbuster
SLES-03990 : Extreme ghostbuster [Recoil support]

SCES-02543 : Ghoul Panic
SCES-02543 : Ghoul Panic [Recoil support]

SLUS-00630 : Judge Dreed
SLUS-00630 : Judge Dreed [Recoil support]

SLUS-00293 : Lethal enforcer
SLUS-00293 : Lethal enforcer [Recoil support]

SLUS-00503 : Maximum force
SLES-00542 : Lethal enforcer [Recoil support]

SLUS-00503 : Maximum force [Recoil support]

SLES-02244 : Mighty Hits Special (Europe) (En,Fr,De)

SLES-03846 : Moorhen 3 - Chicken Chase

SLES-03278 : Moorhuhn 2 - Die Jagd Geht Weiter

SLES-04174 : Moorhuhn X (Germany)

SLUS-01354 : Point Blank 3
SLUS-01354 : Point Blank 3 [Recoil support]

SLPM-86048 : Policenauts (Japan) (Disc 1)
SLPM-86048 : Policenauts (Japan) (Disc 1) [Recoil support]

SLPM-86049 : Policenauts (Japan) (Disc 2) (Untested !)

SCUS-94408 : Project - Horned Owl (USA)
SCUS-94408 : Project - Horned Owl (USA) [Recoil support]

HASH-2A8EE8AAA2279639 : Horned Owl (Japan) [Recoil support]

SCES-02569 : Rescue Shot (Europe)

SLES-02744 : Resident Evil - Survivor (France) (calibration target need to be shoot a little lower)
SLES-02744 : Resident Evil - Survivor (France) (calibration target need to be shoot a little lower) [Recoil support]

SLES-02732 : Resident Evil - Survivor (Europe) (calibration target need to be shoot a little lower) [Recoil support]

SLES-02732 : Resident Evil - Survivor (Europe) (calibration target need to be shoot a little lower)
SLUS-01087 : Resident Evil - Survivor (USA) [Recoil support]

SLPS-02474 : Simple 1500 Series Vol. 24 - The Gun Shooting (Japan)
SLPS-02474 : Simple 1500 Series Vol. 24 - The Gun Shooting (Japan) [Recoil support]

SLPM-86816 : Simple 1500 Series Vol. 63 - The Gun Shooting 2 (Japan)

SLUS-00405 : Time Crisis (USA)
SLUS-00405 : Time Crisis (USA) [Recoil support]

SLUS-00381 : Star Wars - Rebel Assault II - The Hidden Empire (USA) (Disc 1)

Also working (but didn't need a fix) :

SLUS-01398 Gunfighter - The Legend of Jesse James (USA)
SLUS-01398 Gunfighter - The Legend of Jesse James (USA) [Recoil support]

SLPS-01106 Guntu - Western Front June, 1944 - Tetsu no Kioku(Japan)

SLUS-00481 Point Blank 1 & 2 : no need
SLUS-00481 Point Blank 1 & 2 : [Recoil support] (Partial recoil support, when you have unlimited ammo, recoil is triggered for any trigger press)

Time Crisis - Project Titan (USA)
Time Crisis - Project Titan (USA) [Recoil support]
Binary file not shown.
Binary file not shown.
26 changes: 26 additions & 0 deletions ps1 - guncon conversions/Crypt Killer/readme.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
Crypt Killer / Henry Explorers


Works
> (USA) http://redump.org/disc/11085/


Converts justifiers to dual guncon



Instructions:
1. Rip game cd to bin/cue or ccd/img format
2. Run bin/ppf-o-matic3
3. Drag-drop bin or img file
4. Drag-drop bin/ppf file
5. Hit patch



Uninstall:
1. Run bin/ppf-o-matic3
2. Click 'undo patch'
3. Drag-drop bin or img file
4. Drag-drop bin/ppf file
5. Hit patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
del *.bin

spasm -b pad-guncon-1.txt pad-guncon-1.bin
spasm -b pad-guncon-2.txt pad-guncon-2.bin

pause
209 changes: 209 additions & 0 deletions ps1 - guncon conversions/Crypt Killer/src/code/europe/pad-guncon-1.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,209 @@
; 6b550-6b770
; - 6b550-6b6xx = remap buttons, id, cursor data



org $8006b548

j $8006b550
nop



or at,ra,r0


; player 1
lui v0,$8006
jal REMAP_GUNCON
ori v0,$c758

; player 2
lui v0,$8006
jal REMAP_GUNCON
ori v0,$c7ae


or ra,at,r0



; unlatch dead gun - only 1 active at time
lbu v0,$74(gp)
lui v1,$8006+1

bne v0,r0,DEAD_GUN2
nop

; gun 1 active - shut down 2
beq r0,r0,TOTAL_DONE
sb r0,$c7b3(v1)

; gun 2 active - shut down 1
DEAD_GUN2:
sb r0,$c75d(v1)



TOTAL_DONE:

; OLD code
lw a0,$6c4(gp)
nop
j $80035ffc
nop

; =======================================
; =======================================
; =======================================

; at, s0, a0, v0, v1, (s1)
; - v0 = guncon data
; - at = jal return
; - s0,a0,v1

REMAP_GUNCON:

; remap guncon ID to justifier
ori s0,r0,$31
sb s0,1(v0)



; force cursor data (guncon x-y)
lh s0,4(v0)
lh v1,6(v0)
;nop




; set valid latch data (1,10 = guncon offscreen normally)
slti a0,s0,2
beq a0,r0,REMAP_XY
ori a0,r0,1


; offscreen shot - force (0,0)
sh r0,4(v0)
sh r0,6(v0)
beq r0,r0,REMAP_GUNCON_BUTTONS
sh r0,8(v0)




REMAP_XY:

; signal on-screen shot
sb a0,5(v0)


; x-axis

; 255 guncon (pSX rough center) --> 160 justifier --> 0 center
addi s0,s0,$ffa1
addi s0,s0,$ff60



; adjustment range (pSX 384 --> 320)
; - 80 / 96 (384 * 128 / 320) ===> x * (64+16) / 96
sll a0,s0,6
sll s0,s0,4
add s0,s0,a0

lui a0,0x02aa
ori a0,0xaaaa
mult s0,a0
mfhi s0

; 0 center --> 160 justifier
addi s0,s0,$a0

sh s0,8(v0)



; y-axis

; 136 guncon (pSX rough center) --> 128 justifier --> 0 center
addi v1,v1,$fff8
addi v1,v1,$ff80

; adjustment range (pSX 240 --> 256 pal range)
; - 256 / 240 = 16/15
sll v1,v1,4

lui a0,0x1111
ori a0,0x1111
mult v1,a0
mfhi v1

; 0 center --> 128 justifier
addi v1,v1,$80

sh v1,6(v0)




REMAP_GUNCON_BUTTONS:

; remap guncon --> justifier buttons

; $2000 = trigger --> $8000 = trigger
; $0008 = A --> $4000 = auxiliary
; $4000 = B --> $0008 = start

; at,a0,ra

lhu s0,2(v0)
ori a0,r0,$ffff



; check trigger (low-assert)
andi v1,s0,$2000
bne v1,r0,REMAP_A
nop

; set $8000 bit
andi a0,a0,$7fff



REMAP_A:
; check aux
andi v1,s0,$0008
bne v1,r0,REMAP_B
nop

; set $4000 bit
andi a0,a0,$bfff




REMAP_B:
; check start
andi v1,s0,$4000
bne v1,r0,REMAP_BUTTONS
nop

; lower $0008 bit
andi a0,a0,$fff7



REMAP_BUTTONS:
sh a0,2(v0)

; ================================
; ================================
; ================================

DONE:

jr ra
nop
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
org $800176f8

; in-game x-math
j $8001771c
or v0,r0,v1


; calibration p1
j $8001a890
or v0,r0,v1


; calibration p2
j $8001aa4c
or v0,r0,v1
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
del *.bin

spasm -b pad-guncon-1.txt pad-guncon-1.bin

pause
Loading

0 comments on commit 8ec5051

Please sign in to comment.