| Posted By
Rachy on 2004-08-14 04:49:53
| Mouse emulation
I checked out GEOS, and l loosely remember that my friend had a mouse back in time when he used GEOS for C64. How about implementing mouse support in emulators? I don't have any information about the possibility of mouse handling on Plus/4. Anybody?
|
|
Posted By
Csabo on 2004-08-14 14:28:04
| Re: Mouse emulation
Excellent topic. Not only we need to talk about mouse emulation, but also mouse support for the Plus/4 in genera. How can it be done? Has anybody done it? How do you add mouse support to your apps? What apps are out there already that support the mouse?
Here's a link to TLC's mouse interface docs: [ link ].
As far as apps go, perhaps the Plus/4 GEOS supports mouse? I remember there was one TCFS game, Terra-X which had a mouse option you could select in the beginning. I don't know if it was true support or just a gimmick. Anyway, let's share some knowledge folks...
|
|
Posted By
Crown on 2004-08-14 14:52:07
| Re: Mouse emulation
Solder's SID-card has an extra DB9 connector for C64 joysticks, as far as I recall the POT lines were also connected, so probably that can be used with a stock 1351 mouse, or paddles even as well... That means drivers for GEOS could have been written for that...
|
|
Posted By
TLC on 2004-08-14 18:03:14
| Re: Mouse emulation
Hmmm... So...
As a short introduction: C= mice operate in either of two operating modes; joystick ("compatibility") mode or proportional mode. (On the original 1351 mouse, you could select mode at power-up; the 1350 supported joystick mode only). In joystick mode, the mouse movement generates standard length 20ms pulses on the appropriate joystick direction lines. Whilst for proportional mode, the designers mis-used the C64 paddle inputs to transmit true 6-bit movement data continuously.
You can use a 1350 or 1351 on the Plus/4 in joystick mode, provided that you have a suitable joystick interface for it. Common, simple joystick interface cables won't work (due to the differences between the nature of the C64 and Plus/4 joystick ports).
On the emulator's side, emulating a joystick-mode mouse would be just emulating joystick movements from the PC mouse.
The 1351 won't work -- at all -- on a stock Plus/4 in proportional mode, since the Plus/4 has no paddle inputs.
(The 1351 certainly works together with the joystick port of Solder's SID card. ...There are little quirks because of the slower clock of the SID, but it works. As for whether some software actually _supports_ the native 1351 mode mouse through this interface, honestly, I don't know . Some german GUI stuff -- presumably -- could).
Emulating it won't be a hard task, as I guess. The operation is fully known and is also pretty simple.
There could be also other -- nonstandard -- mouse interfacing methods, like hooking a standard serial mouse directly to the user port (the ACIA would be an obvious chance to handle a serial mouse directly). Serial mice could have been promising, if people were seriously after mouse support back then. (More intelligent, and less problematic than interfacing a 1351 in proportional mode; still not mentioning mouse availability and price). But AFAIK there is no Plus/4 software supporting such mouse solution.
|
|
Posted By
JamesC on 2004-08-15 20:59:54
| Re: Mouse emulation
GEOS on the Plus/4 only supports a joystick. M&T did not incorporate mouse support because the TED itself doesn't recognize a 1351-style mouse and there were no commercially available mice for the TED systems at that time.
GEOS for the C64 and 128 did not support the 1351 mouse at first; Berkeley Softworks supplied mouse drivers to Commodore for inclusion with the 1351 but you had to have GEOS 1.3 for the drivers to work. GEOS 2.0 was the first retail version of GEOS that had mouse support included.
|
|
Posted By
Plus4Vampyre on 2004-08-22 13:27:15
| Re: Mouse emulation
Geos 3.5 is working with a Turbo Geos mouse which was designed for the c64. To protected the TED I used the solders TED protector with have a 9-pin-SUB-D input. It is NOT working with a commodore 1351 mouse!!!
|
|
Posted By
TLC on 2004-08-23 06:29:02
| Re: Mouse emulation
The only way to get a 1350/1351 to work with the Plus/4 joystick ports is using a bus driver chip ("gate") as interface circuitry.
The problem is: whilst the C64 joyports expect the joystick inputs to be shorted to ground (to signify when that particular direction is pressed), the Plus/4 expects them to be shorted to SELECT' (a low-active output that goes low only when the joyport is selected by the CPU). Common Plus/4 joystick interfaces therefore simply connect the Plus/4 Select' outputs to the joystick's GND point.
The 1351 needs the common ground point, since it's an active device (the chip inside will obviously fail to work if either GND or +5v or both are missing). Therefore, the "SELECT' routed to GND" way simply doesn't work here. One has to supply both GND and +5v to the mouse, and then gate the mouse direction outputs to the Plus/4 joyport inputs according to SELECT'.
(Another possibility: drop the gate idea completely, and wire the interface cable directly (GND to GND, etc...). Will work, but the mouse will interfere with the keyboard (and the other joyport), since it will no longer be possible to select either the keyboard, joy port 1 or joy port 2 in the keyboard scan process exclusively).
|
|
Posted By
Rachy on 2004-08-23 16:08:08
| Re: Mouse emulation
Ok, let's face it: next to impossible to connect the 1350/51 to the joy ports...
|
|
Posted By
TLC on 2004-08-24 04:52:00
| Re: Mouse emulation
It's possible; on the other hand, I don't expect more than few dozen of people actually ever using 1350/51 with a Plus/4.
Still, in emulators, it would be interesting indeed to include an option to emulate a joystick from the PC mouse, beside the usual "keyboard" or "PC joystick" options. ...Not that useable as a true proportional mouse, but hey, even the 1350/51 were created first to emulate a joystick .
(And for harcore Plus/4 emulator writers, this could extend to emulating the SID-card joyport with paddle inputs, and on the top of this, a proportional mode 1351 )
|
|
Posted By
Plus4Vampyre on 2004-11-08 10:41:21
| Re: Mouse emulation
I have to revise my statement - it is indeed POSSIBLE to connect a 1351 mouse to a plus/4. I tested it yesterday. I have a SID protection from R. Lindenschmidt (http://plus4world.com/gd.php?gid=7115). In a magazine I found the important hint I have to press the right mouse button, when I start the plus/4 than it works with geos. If I find some time I will test it with game "Borrowed Time"
|
|
Posted By
Csabo on 2004-11-08 22:58:26
| Re: Mouse emulation
Wow! You have one and managed to get it to work? That's hardcore Plus/4 stuff. Now I suddenly got the urge to write something that supports the mouse... Just don't have the time. I'll be interested to hear what Borrowed Time does, although I have a feeling it won't work. Try Terra-x though, which I mentioned earlier, that does have some kind of mouse support in it.
Remember, you can put stuff in double square brackets like this: [[R. Lindenschmidt]], and the site will autolink it, like this: R. Lindenschmidt.
Oh, and I just remembered I have to upload those protected D64 files you sent me...
|
|
Posted By
Plus4Vampyre on 2004-11-09 14:25:43
| Re: Mouse emulation
Csabo, the mouse emulation works! with Borrowe Time but moving the arrow with a mouse is not really smooth - its bucking - btw I added a solution for this game. I will try Terra-x - maybe that works better. In my last posting I made a mistake it is of course a TED protector and it is described in the german magazine "Compute mit" SA 3/88
|
|
Posted By
TLC on 2004-11-10 09:35:13
| Re: Mouse emulation
Csabo, you don't need any extra efforts to support the mouse; in that particular mode, the mouse itself emulates a joystick instead.
Plus4Vampyre: if it works, then this "TED protector" should be a bus driver chip or something like that. I don't know the circuit but I'd bet that it's based on a 74ls245 or a similar chip. Nice to know that there's at least some hope that there have been a device available for purchase, with which one could connect a 1351 to the Plus/4 (finally...).
The trick you've found is the official method one should do in order to boot the 1351 in "1350-mode" (= joystick emulation). You mentioned that the pointer doesn't quite move smoothly -- yes, this is normal; whenever you move the mouse, the internal circuitry will pull one or two of the joystick direction lines active for the mouse movement time + 20ms. If you move the mouse slowly, then there will be times when either there's no movement (the mouse pulls no direction lines), or the game fails to catch at least some of these separate 20ms long pulses.
|
|
| |
Copyright © Plus/4 World Team, 2001-2024. Support Plus/4 World on Patreon |