Joystick in user port
Moderator: Moderators
-
- Vic 20 Devotee
- Posts: 253
- Joined: Fri Mar 19, 2010 1:40 pm
Joystick in user port
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
Jonathan
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.)
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
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
- Mayhem
- High Bidder
- Posts: 3027
- Joined: Mon May 24, 2004 7:03 am
- Website: http://www.mayhem64.co.uk
- Location: London
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...
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!
- eslapion
- ultimate expander
- Posts: 5458
- Joined: Fri Jun 23, 2006 7:50 pm
- Location: Canada
- Occupation: 8bit addict
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?
Does anybody remember that?
Modems for the VIC also work on the 64 and vice-versa. There is a certain similitude.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
Be normal.
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.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.
Mega-Cart: the cartridge you plug in once and for all.
-
- Vic 20 Devotee
- Posts: 253
- Joined: Fri Mar 19, 2010 1:40 pm
- 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?
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
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):
Now select the port for reading:
First port:
Second port:
The according bit of the port should be set to output mode (one time initialisation):
Code: Select all
POKE DA+2,128
First port:
Code: Select all
POKE DA, 0
Code: Select all
POKE DA, 128
Buy the new Bug-Wizard, the first 100 bugs are free!
- 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
This is great! Thank you!!
- e5frog
- Vic 20 Nerd
- Posts: 551
- Joined: Sat Feb 17, 2007 5:46 pm
- Website: http://channelf.se
- Location: Sweden
- Occupation: Service Engineer
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.
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
- 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
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.Here are some more examples of games if you haven't seen them already:
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.