News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_Phantomz

Two Player Games with Two Joysticks

Started by Phantomz, 17:24, 14 May 16

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Phantomz

I'm sure a lot of you know , I've remapped the keys in a few games so that they can work on the GX4000.  ;D

This got me thinking, maybe some of you guys or girls would like to be able to play some of the two player games I've done with two Joysticks instead of one of you on the keyboard.

If you're like me and have a " two x joystick / game port y adapter cable " that has diodes to avoid any conflicts between the two joysticks, then I believe the games I've remapped should work fine.   :)

So do you fancy playing Barbarian or Way of the Exploding Fist with two joysticks? If so it's possible now.  8)

The following versions of " Barbarian " and " Way of the Exploding Fist / + " are Joystick only versions. ( two joysticks required for two player ).

This version of barbarian is for the normal cpc range not the plus range.

I've included hfe files for the hxc emulator.

Enjoy  8)

Phantomz

Here are a couple more.

" Forgotten Worlds " and " Escape From The Planet Of The Robot Monsters ".

I've only changed player two to joystick control, all other controls are the same.

I've done two versions of " Escape From The Planet Of The Robot Monsters " as one version doesn't appear to work on the plus, both require 128k

Have Fun.  :)

VincentGR

Silkworm needs remapping too.
As far as I remember second joy maps on T key which makes the game switch to half line rendering mode  :picard:

Phantomz

Silkworm - scanlines fixed

Quote from: VincentGR on 15:31, 15 May 16
Silkworm needs remapping too.
As far as I remember second joy maps on T key which makes the game switch to half line rendering mode  :picard:

No problem, I converted that game to the GX4000 too, so know how to fix it.  ;D

I've remapped scanlines to the Return key, no other changes have been made.

I hope this is ok  ;)

VincentGR

Quote from: Phantomz on 16:19, 15 May 16
Silkworm - scanlines fixed

No problem, I converted that game to the GX4000 too, so know how to fix it.  ;D

I've remapped scanlines to the Return key, no other changes have been made.

I hope this is ok  ;)

OMG thanks!!! That was fast.
Now I can play with my friend!!!

:o

alex76gr

Phantomz Rules!

Thank you so much for all games but especially for Silkworm!
Me and Vincent will make good use of your fixed version. :)
I still believe that i got my myopia from the green GT-65 monitor, but i can't prove it! :)

Phantomz

Quote from: alex76gr on 07:35, 16 May 16
Phantomz Rules!

Thank you so much for all games but especially for Silkworm!
Me and Vincent will make good use of your fixed version. :)

You're welcome, I hope you both enjoy the game.  ;D

Here is a poked version with Infinite Lives for Both Characters.  ;)

Phantomz

Here are a couple more, " Badlands " and " Xybots :)

Both players use Joysticks, all other keys remain unchanged.

Gryzor

Ramparts[nb]j/k[/nb]?


:D :D (now I need to request it in the thread about ROM conversions)

Phantomz

Quote from: Gryzor on 15:07, 18 May 16
Ramparts[nb]j/k[/nb]?


:D :D (now I need to request it in the thread about ROM conversions)

Need it in all formats huh  ;)  :laugh:

I can remap the controls ( change keys ) but I can't change how the game controls work by default.  :doh:

In this game, you push down with fire button held down to punch with the joystick for Player One.

However, because Player Two uses the Keyboard, you have a separate Button to Punch down, therefore I can't remap Player Two to a Joystick alone.

I can do it the same as the cpr version, and you could use a Joypad or Joystick with Two Fire Buttons if you want?

Gryzor

No, really, I was kidding. Got nobody to play it with anyhow :D


A ROM version would be nice, but that's another thing for another day...

Phantomz

#11
Quote from: Gryzor on 15:22, 18 May 16
No, really, I was kidding. Got nobody to play it with anyhow :D


A ROM version would be nice, but that's another thing for another day...

Fair enough, sorry to hear you have nobody to play it with.  :doh: Maybe one day.  ;)

I know you are joking about the rom version  ;)

I had to work with the disk for the cart so it's here for you.  ;D

I don't know how to make a rom version as haven't looked into it, maybe I'll have to see how to do it.

The game is a single file on the disk " Ramparts.bin " it's 33k, that's without the title screen, the Title screen must be included in the Ramparts.BAS which is 14K

Anyway, the changes I've made would be in the bin file so it might come in handy for a rom conversion if people want player two on a joypad.  ;)

I've only changed Player Two controls, I've left all other keys the same.

I've applied the health fix and included a poked version again.

" Ramparts " Is here if anyone wants it and finds it useful.  ;D

Gryzor

Well, indeed, someone may find it useful, so thanks :)
(to be fair, my significant other does like the intro tune, but that's as far as it goes)



Should we be uploading these somewhere on the wiki?

Phantomz

Here is another " Grand Prix Simulator 2 " this is a 3 player game.

Ignore the onscreen graphics controls.

The game is now;

Player 1 = Joystick 1
Player 2 = Joystick 2
Player 3 = Cursors

I've made it so the fire button is used to accelerate, down is brake / reverse.

TotO

#14
Hey!

Nice to see Barbarian finally supporting two joysticks. Thank you.  :)

Please, because you know how to patch those games, can you provide a MultiPlay board support for them?
That allow to not have conflict and for some games, may be to support up to 4 players...  ;D

The Player A input is a byte read at &F990. Player B input at &F991.
The byte format is:

bit0: UP
bit1: DOWN
bit2: LEFT
bit3: RIGHT
bit4: FIRE 1
bit5: FIRE 2
bit6: FIRE 3
bit7: 0

For example, 3 players games like Rampage should be: JOY0, PLAYA, PLAYB.  ;D 


Thank you.
8)
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

Phantomz

Quote from: TotO on 09:33, 25 May 16
Hey!

Nice to see Barbarian finally supporting two joysticks. Thank you.  :)

Please, because you know how to patch those games, can you provide a MultiPlay board support for them?
That allow to not have conflict and for some games, may be to support up to 4 players...  ;D

The Player A input is a byte read at &F990. Player B input at &F991.
The byte format is:

bit0: UP
bit1: DOWN
bit2: LEFT
bit3: RIGHT
bit4: FIRE 1
bit5: FIRE 2
bit6: FIRE 3
bit7: 0

For example, 3 players games like Rampage should be: JOY0, PLAYA, PLAYB.  ;D 


Thank you.
8)

Hi, glad you like that " Barbarian " now has two joystick support.  :)

I'm not a programmer and I don't know machine code, but I've done what I can to help fellow cpc users.  :)

Because of the above, I don't know how to write calls for controls, what I do is search for the controls in winape or in a hex editor and changes those if I can find them.

This in itself is not an easy task as there seems to be so many different ways the controls are done, for example;

Joystick fire 1 and 2 could be 58 and 5a, 78 and 7a, 4C and 4D, 7D and 7E  and I'm sure there are others that I haven't worked out yet.

You also have the line scanning ones, where it can be 09 10 and 09 20, or e6 10 and e6 20, or CB 66 and CB 6E, CB67 and CB 6F

I'm not sure how the MultiPlay board works, as I haven't got one, if it requires calls to be written then maybe @Urusergi  or @dragon could help.  ;)

TotO

"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

Phantomz

Quote from: TotO on 15:27, 25 May 16
No problem. Thank you.  8)

How does the multiplay work? I guess it doesn't use keyboard calls to avoid the keyboard clash.

If you press up down left right fire1 and fire2 on joypad 2 for example, you would get 6 5 r t g f , does anything come up onscreen when you press the controls using the MultiPlay?

Kris

Any chance to remap "target renegade" ?
Thank you ;)

TotO

#19
Quote from: Phantomz on 15:55, 25 May 16How does the multiplay work? I guess it doesn't use keyboard calls to avoid the keyboard clash.
It work by reading a byte from an I/O port address for each controller. In example, from BASIC:

10 CLS : P1=&F990 : P2=&F991
20 LOCATE 1,1:PRINT BIN$(INP(P1),8) : LOCATE 10,1:PRINT BIN$(INP(P2),8)
30 GOTO 20

Will display the controller bits activated for each input. Here, we use the INP() function like JOY()  !
;D
So, understand that you only have to handle bits combinations. (i.e. UP+LEFT+FIRE1 return 0x00010101 = &15 = 21)
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

Phantomz

#20
Quote from: TotO on 16:07, 25 May 16
It work by reading a byte from an I/O address for each controller. In example, from BASIC:

10 CLS : P1=&F990 : P2=&F991
20 LOCATE 1,1:PRINT BIN$(INP(P1),8) : LOCATE 10,1:PRINT BIN$(INP(P2),8)
30 GOTO 20

Will display the controllers bits activated for each input. Here, we use the INP() function like JOY()  !
;D
So, understand that you only have to handle bits combinations. (i.e. UP+LEFT+FIRE1 return 0x00010101 = &15 = 21)


Thanks, I believe I understand how it works now, so it's a case of telling the game to look for the controls at F990 and F991 and using the right bits for directions and fire.  :)

I think this is a little above me at the moment.  ::)

The controls for Rampage are the following if it helps.  ;D

09 66 09 56 09 5E 09 4E 09 46 = JOYSTICK     RALPH   @ 0052
00 76 01 46 00 4E 00 56 00 46 = CURSORS     LIZZIE   @ 005E
02 7E 07 76 06 7E 08 7E 08 6E = KEYBOARD  GEORGE   @ 006A



RAMPAGE

Here is the 2 Joystick Disk version and CPR ( that needs Keyboard ) for the CPC Computers  ( not multiplay ).

It's the same as the GX4000 I did, Player 1 and Player 2 use the Joysticks, Player 3 uses the Cursor Keys and Small Enter Key.

Press Space Bar To Pass Title Screens

I've included poked versions and hfe files  ;) (The game bins are compressed to fit them all on a standard disk)   ;)

TotO

Yes, it is exactly that.  ;)
Thank you for the rampage dsk/cpr and informations.  8)
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

Phantomz

Quote from: Kris on 16:03, 25 May 16
Any chance to remap "target renegade" ?
Thank you ;)

@Kris

You can redefine the controls in the game to Joypad 2.

Anyway, if you want it to use both Joysticks and P to Pause By default, then it's here.  ;D

I've done a normal version and a poked version, I've included hfe files.   :)

Kris

Great job (and fast!).  :o


Thank you

KaosOverride

Ohh I will be glad to try those patched games with CapriceRPI and my USB Joysticks!!


By the way, ToTo's Multiplay is emulated at the latest versions of CapriceRPI so you can use it for testing. You can assign the USB joy 1 and/or 2 to  emulated Multiplay joysticks.


Only issue is that I use the official ports for Multiplay not the ghost IO ports.
KaosOverride · GitHub
MEGA Amstrad Public Amstrad folder

Powered by SMFPacks Menu Editor Mod