From: Scott McDonnell (NetSamurai_at_comcast.net)
Date: 2004-10-21 18:01:03
Originally, I was thinking that you would need to emulate the potentiometer
in the POT interfaces, but after reading about the 1351 interface a bit
more, it appears that it bangs the 6 bit position data digitally (why it
would do this on the POT port, I don't understand...) Is this what you
getting from this?:
http://www.funet.fi/pub/cbm/documents/projects/interfaces/mouse/Mouse.html
I would think it would make more sense to simply emulate a paddle. In which
case, you could use a transistor to create a current source on each pot port
which would emulate a paddle. It is a little early for me this morning to
think clearly, but I will look at this later tonight and try to help more if
someone doesn't already answer you.
Scott
----- Original Message -----
From: "Jim Brain" <brain@jbrain.com>
To: "CBM Hackers" <cbm-hackers@ling.gu.se>
Sent: Thursday, October 21, 2004 1:43 AM
Subject: Commodore joystick ports
> I have been playing around with interfacing with the Commodore joystick
> ports. Obviously the digital inputs are easy, but the analog inputs
> were tough, and doing anything else on the controller while handling
> them posed definite challenges.
>
> I used some ideas from this cbm-hackers thread:
>
> *Subject*: PS/2 mouse as 1351?*
> From:* Maciej Witkowiak (/ytm_at_elysium.pl/)*
> Date:* 2003-09-16 23:51:08
>
> And the serial mouse interface information presented on funet. The
> controller is an 8MHz Atmel ATmega16.
>
> Tonight, I think I have some working code.
>
> I noticed a few things:
>
> I am using a 10K resistor to feed the POT lines, with POTY going
> straight to an INT line (INT1). Since my intended interface was as a
> joystick/paddle, I tried to run the entire range. I can;t seem to the
> POT line to 5V. The reading is 10 at the lowest (255 being ground, 0
> being 5V). I thought I would just start the charging earlier, but that
> does not work, as the SID internally shorts out the line until 256
> clocks into the cycle. Any ideas?
>
> When sampling, I noticed +-5 jitter as I got up to 255 (less voltage
> applied). I thought that was excessive, but it appears a regular paddle
> has +-4 jitter.
>
> Although not really needed for a paddle emulation, I was thinking I
> could detect PAL or NTSC by measuring a couple intervals between
> triggers, and calibrating. to get maximum resolution.
>
> In another vein, I am trying to think of a way to utilize the 5 bit
> joystick interface to transfer raw interface data to the 64/128, say in
> the case you wanted raw PS2 mouse data back or you needed to talk to the
> controller. My idea was to transfer it in nybbles, using the fire
> button as a clock generated by the 64/128. I am pretty sure that will
> work fine, but the question is how to detect that the 64/128 wants to
> switch into this alternate mode. When no buttons are pressed on the
> controller, I can set the pins to input and watch for activity, but what
> activity?
>
> My initial idea is to look for a bit-pattern like 01010 and then 10101
> and then 01010, as that should never occur in the keyscan routine, If I
> see 01010, wait for 10101 for x uS. If found, wait for 01010 for x uS.
> If found, switch into raw mode. Wait for clock (FIRE) to go hi, dump
> low nybble onto "bus", then wait for clock to go low, then hi, repeat
> for high nybble, rinse, latther, repeat until done sending packet, then
> switch "bus" to inputs to await comand from 64 (0000 would be nop, 1111
> would be switch back into normal mode, etc.). What are everyone's
thoughts?
>
> As always, code is GPL, so anyone that has a ATmega8/16/32 is welcome to
> have. Eventually target is MLF-32 package ATmega8. I tried to fit the
> functionality into a ATtiny28, but it is lacking some required items. I
> found the ATmega8 is the smallest controller that can support the SPI
> interface and >1 IRQ. My idea is to design a PCB that fits in a DB9
> shell, but bring all the pins need used by the joystick interface
> portion to solder pads. That way, folks could modify the code and
> re-use the boards to build different interfaces/adapters.
>
> Jim
>
> --
> Jim Brain, Brain Innovations
> brain@jbrain.com http://www.jbrain.com
> Dabbling in WWW, Embedded Systems, Old CBM computers, and Good Times!
>
>
> Message was sent through the cbm-hackers mailing list
Message was sent through the cbm-hackers mailing list
Archive generated by hypermail pre-2.1.8.