MultiPlay MX4 Expansion

Started by TotO, 20:29, 15 May 16

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

TotO

Yes. It is exactly that.  8)
That should allow to play up to 4 players too.

By the way, we are thinking about a Firmware update that should allow to natively support the "MultiPlayCity" combo and use them transparently.
So BASIC and programs using the system will be automaticly retro-compatible by doing nothing more.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

Axelay

Must be time to make the two demonstration MultiPlay compatible games available, so I'll present them here.


First up is a modified version of the Megablasters anniversary game with a third "multiplay" control option.  This allows both players to use joystick or pads, but both players must be using controllers on the multiplay ports, and both controllers will need at least two fire buttons, there's no keyboard option to detonate bombs manually with this option.


Second is a little 4 player light cycle game called QuadRaster.  It is 4 player only.  Player 1 must use internal joystick port, player 3 & 4 the multiplay ports.  Player 2 has a choice of keyboard or joystick, but the joystick option is only going to work correctly with an appropriate splitter.  During play you can hold fire to go twice as fast.  I wasnt able to test this one myself, so thanks go to TotO and Mr Lou for the feedback on this game.  :)

HAL6128

Wow, that is just in time :)
Great to see that!

@TotO: Is the board CPCplus compatible?
...proudly supported Schnapps Demo, Pentomino and NQ-Music-Disc with GFX

TotO

The MultiPlay must work on all CPC and PLUS.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

TFM

Hi! Tried to order using Chrome(1) or Explorer(2) using WinXP. But it doesn't work (1, security risc. 2, errors on page). Any idea what to do? (Will try on my laptop tomorrow).
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

TotO

Quote from: TFM on 22:45, 23 May 16
Hi! Tried to order using Chrome(1) or Explorer(2) using WinXP. But it doesn't work (1, security risc. 2, errors on page). Any idea what to do? (Will try on my laptop tomorrow).

No idea at all...  :-X
Send me an email withyour wishlist!  8)
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

TFM

Done! Will be fun to have real 4 Player games now!  :)  And even 2 Player games can get a nice speed up!  :)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

cpc4eva

so does that mean if i play CPC ping pong from Konami / Imagine that if i use this device i will be able to play against a friend with a joystick ?

TotO

Actually, all old games require to be patched.
With a Firmware update, games using the routines or BASIC may natively work.
Today, two Axelay games (MegaBlaster and QuadRasters) and one Mr_Lu game are compatible.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

angelcaio

Quote from: TotO on 11:19, 25 May 16
Actually, all old games require to be patched.
With a Firmware update, games using the routines or BASIC may natively work.
Today, two Axelay games (MegaBlaster and QuadRasters) and one Mr_Lu game are compatible.
Further. Other software , such as Art Studio, could also work with a mouse with more resolution?

Enviado desde mi H60-L04 mediante Tapatalk


TotO

Yes, if properly patched it should provide a better accuraty.

The expansion was designed to allow 1 or 2 players games using Amiga JOY/MOUSE.
So I can't guaranty that will be a must have for drawing. (untested)
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

angelcaio

Thanks, but really i ask for the update of the firmware that you say.  Anyway, how i can to patch a program?  like Art studio, for example.

TFM

Quote from: angelcaio on 13:46, 25 May 16
Thanks, but really i ask for the update of the firmware that you say.  Anyway, how i can to patch a program?  like Art studio, for example.

That's actually pretty simple. Instead of calling an OS routine  you patch it into two simple instructions:

LD BC,TotOs_joystick_and_mouse_port_1
IN A,(BC)

And A has all the nice little direction and fire button bits.
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

CraigsBar

Yay. Multiplay ordered.
IRC:  #Retro4All on Freenode

khaz

Quote from: TFM on 20:46, 25 May 16
That's actually pretty simple. Instead of calling an OS routine  you patch it into two simple instructions:

LD BC,TotOs_joystick_and_mouse_port_1
IN A,(BC)

And A has all the nice little direction and fire button bits.

Is it enough to manage the acceleration?

TotO

#40

It is not, because the joystick (and AMX/DK'Tronics) return only 1bit value.
The MultiPlay mice return 4bit values.


F990 : 0321RLDU : Input A, joystick and buttons
F991 : 0321RLDU : Input B, joystick and buttons
F992 : 0000XXXX : Input A, mouse X
F993 : 0000YYYY : Input A, mouse Y
F994 : 0000XXXX : Input B, mouse X
F995 : 0000YYYY : Input B, mouse Y



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

arnoldemu

Quote from: TotO on 15:39, 27 May 16
It is not, because the joystick (and AMX/DK'Tronics) return only 1bit value.
The MultiPlay mice return 4bit values.


F990 : 0321RLDU : Input A, joystick and buttons
F991 : 0321RLDU : Input B, joystick and buttons
F992 : 0000XXXX : Input A, mouse X
F993 : 0000YYYY : Input A, mouse Y
F994 : 0000XXXX : Input B, mouse X
F995 : 0000YYYY : Input B, mouse Y

Questions:
-  is f990 used for buttons for Mouse A and f991 used for buttons for Mouse B?
In this case is it 123 used or?

- And what is read from F996,F997?
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

TotO

#42
YES! Buttons 1, 2, 3 are the same for joystick and mouse input A/B.
F996 and F997 ports are unused.

About usages:
- Reading from BASIC with 50Hz interrupt is fine to handle a fast char pointer with acceleration.
- Reading from ASM with 300Hz interrupt is fine to handle a fast pixel pointer with acceleration.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

TFM

Quote from: khaz on 14:50, 27 May 16
Is it enough to manage the acceleration?


I don't know. But I guess yes, since IMHO it's all joystick compatible.
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

gerald

Quote from: TotO on 15:39, 27 May 16
It is not, because the joystick (and AMX/DK'Tronics) return only 1bit value.
The MultiPlay mice return 4bit values.


F990 : 0321RLDU : Input A, joystick and buttons
F991 : 0321RLDU : Input B, joystick and buttons
F992 : 0000XXXX : Input A, mouse X
F993 : 0000YYYY : Input A, mouse Y
F994 : 0000XXXX : Input B, mouse X
F995 : 0000YYYY : Input B, mouse Y


Mouse register X/Y return the offset since the last read. These are 4 bit value with sign extension.
Note also that the X/Y value will saturate if not read for a long time (or if the movement is fast). It will never overflow or wrap.
From a software point of view, just read the port and add its value to your position variable  ;)

TFM

Quote from: gerald on 18:28, 27 May 16
From a software point of view, just read the port and add its value to your position variable  ;)


Won't work with negative values since bits 7-4 are always zero. Right?

TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

gerald

#46
Quote from: TFM on 18:38, 27 May 16

Won't work with negative values since bits 7-4 are always zero. Right?
No  :D
The 4 values are sign extended to 8 bit, so negative value will have bit7-4 at one. In fact bit 7-4 = bit 3

Just consider them as signed 8 bit, they will just stay between -15 and 14 -16 and 15

TotO

Exactly. I have answered a bit too fast.  :-\
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

TFM

#48
Quote from: gerald on 18:45, 27 May 16
No  :D
The 4 values are sign extended to 8 bit, so negative value will have bit7-4 at one. In fact bit 7-4 = bit 3

Just consider them as signed 8 bit, they will just stay between -15 and 14

Thanks!!! That's super awesome! So actually this device need no drivers, it's 100% ready to go.  :) :) :)

Now all we need is a nice list of compatible mouses / proportional joysticks.  :) :) :)


EDIT: Just checked the net: Amiga mice are really expensive, it there an cheaper alternative?
EDIT: Also... it there a 3 button mouse we can use? (For hacking AMX Stop Press).

TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Scarlettkitten

Preordered and got the right shipping in the end :)





Sophie Rose:- My musical works https://soundcloud.com/sophierosemusics

Powered by SMFPacks Menu Editor Mod