Joystick in user port

Modding and Technical Issues

Moderator: Moderators

vicassembly
Vic 20 Devotee
Posts: 253
Joined: Fri Mar 19, 2010 1:40 pm

Joystick in user port

Post by vicassembly »

I seem to remember reading that an additional joystick could be added to the user port. Anyone else heard of such a thing? Through an RS232 connection?


Jonathan
Boray
Musical Smurf
Posts: 4064
Joined: Mon May 03, 2004 10:47 am

Post by Boray »

That is a good idea. Should not be too hard to do.
PRG Starter - a VICE helper / Vic Software (Boray Gammon, SD2IEC music player, Vic Disk Menu, Tribbles, Mega Omega, How Many 8K etc.)
User avatar
tokra
Vic 20 Scientist
Posts: 1123
Joined: Tue Apr 27, 2010 5:32 pm
Location: Scheessel, Germany

Post by tokra »

This exists for the C64:

http://www.protovision-online.de/hardw/build4player.htm

and can be bought ready built:

http://www.vesalia.de/e_c64_4player.htm

On the Protovision site you can also find the source-code how to read the joystick-ports - no idea if this can be adapted to the VIC or if the User-Ports are even identical to support this
User avatar
Mayhem
High Bidder
Posts: 3027
Joined: Mon May 24, 2004 7:03 am
Website: http://www.mayhem64.co.uk
Location: London

Post by Mayhem »

There was a joystick adapter released for the Vic20 by OEM, but I can't recall if it split the existing joystick port, or went in the user port.
Lie with passion and be forever damned...
User avatar
Jeff-20
Denial Founder
Posts: 5759
Joined: Wed Dec 31, 1969 6:00 pm

Post by Jeff-20 »

Ew! Sounds a little perverse. But I'll give it a try. :lol:
High Scores, Links, and Jeff's Basic Games page.
Kananga
Vic 20 Afficionado
Posts: 317
Joined: Mon Mar 08, 2010 2:11 pm

Post by Kananga »

The Protovision 4-player adapter works for the Vic-20 as well, because it uses the parallel port bits of the user port.
You can either buy or build it yourself, the schematics are available on the protovision site.
I built it some time ago and can now connect three joysticks to my Vic-20. Not that I found any use for it yet...
Buy the new Bug-Wizard, the first 100 bugs are free!
User avatar
eslapion
ultimate expander
Posts: 5458
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

Post by eslapion »

AFAIK, there was a game published in Compute's Gazette for the VIC which required a second joystick attached to the User port.

Does anybody remember that?
tokra wrote:On the Protovision site you can also find the source-code how to read the joystick-ports - no idea if this can be adapted to the VIC or if the User-Ports are even identical to support this
Modems for the VIC also work on the 64 and vice-versa. There is a certain similitude.
Be normal.
User avatar
GreyGhost
Vic 20 Nerd
Posts: 525
Joined: Wed Oct 05, 2005 11:10 pm

Post by GreyGhost »

In Compute, March 1983. The game is called Fighter Aces. Also, If you can find a copy of "Tricks for Vics" by Sam D. Roberts, the appendix has an article for adding two additional joysticks to the Vic via the user port.
Rob
User avatar
nbla000
Salmon Run
Posts: 2582
Joined: Thu Oct 13, 2005 8:58 am
Location: Italy

Post by nbla000 »

Mayhem wrote:There was a joystick adapter released for the Vic20 by OEM, but I can't recall if it split the existing joystick port, or went in the user port.
It went in the user port and add an just one additional joystick, there are 4 cart games that uses this hardware, Close Encounters, Amazing Maze, Space Ric-o-shay and Tank Wars.
Mega-Cart: the cartridge you plug in once and for all.
vicassembly
Vic 20 Devotee
Posts: 253
Joined: Fri Mar 19, 2010 1:40 pm

Post by vicassembly »

I ordered a copy of Tricks for Vics.... I think I may try it.
User avatar
rmelick
Vic 20 Hobbyist
Posts: 134
Joined: Sat Mar 26, 2005 7:29 pm
Website: http://www.geocities.ws/cbm/
Location: Bay Area
Occupation: IT

how to read both ports?

Post by rmelick »

For the Vesalia adapter, anyone know how to read the left port (looking top-down onto the unit)? I can read the right port (closest to the cassette connection looking top-down onto the unit) thusly:

Code: Select all

1 DA=37136:POKEDA,0
2 GOSUB10
3 PRINT"{CLR}J0 J1 J2 J3 FB"
4 PRINTJ0;J1;J2;J3;FB
5 GOTO2
10 P=PEEK(DA)
11 J2=-((PAND4)=0)
12 J3=-((PAND8)=0)
13 J0=-((PAND1)=0)
14 J1=-((PAND2)=0)
20 FB=-((PAND16)=0):RETURN
Kananga
Vic 20 Afficionado
Posts: 317
Joined: Mon Mar 08, 2010 2:11 pm

Post by Kananga »

The Protovision Adapter multiplexes the input for the ports. So you have to select the port first before reading.

The according bit of the port should be set to output mode (one time initialisation):

Code: Select all

POKE DA+2,128
Now select the port for reading:

First port:

Code: Select all

POKE DA, 0
Second port:

Code: Select all

POKE DA, 128
Buy the new Bug-Wizard, the first 100 bugs are free!
User avatar
rmelick
Vic 20 Hobbyist
Posts: 134
Joined: Sat Mar 26, 2005 7:29 pm
Website: http://www.geocities.ws/cbm/
Location: Bay Area
Occupation: IT

thank you

Post by rmelick »

This is great! Thank you!!
User avatar
e5frog
Vic 20 Nerd
Posts: 551
Joined: Sat Feb 17, 2007 5:46 pm
Website: http://channelf.se
Location: Sweden
Occupation: Service Engineer

Post by e5frog »

If you only hook up one extra port you don't need any circuitry.

Perhaps a three player worm game would be a doable task on the VIC.

Here are some more examples of games if you haven't seen them already:
http://www.protovision-online.de/hardw/4_player.htm

Here are some code example, for the C64, in assembly:
http://www.protovision-online.de/hardw/ ... htm#codeit

When I wrote my 4 joystick tester program (on the C64) I made it in BASIC and it was a little slow. So perhaps you need to program that part in assembler to speed things up.
My other interest: http://channelf.se
User avatar
rmelick
Vic 20 Hobbyist
Posts: 134
Joined: Sat Mar 26, 2005 7:29 pm
Website: http://www.geocities.ws/cbm/
Location: Bay Area
Occupation: IT

Post by rmelick »

Here are some more examples of games if you haven't seen them already:
Last night I wrote a special edition of my game with CB2 sound (see Programmer's Reference Guide, pg. 232) and Protovision 4-player interface support. To access these new features, plug your joystick into the outside Protovision port, hold down the fire button and LOAD/RUN the 'Assteroyd Dodger' program.

http://sleepingelephant.com/ipw-web/bul ... php?t=4861

This is the fastest version yet because reading the Protovision joystick requires two fewer steps in the main loop than the default port on the VIC-20. :D
Post Reply