Scroll wheel support?

Troubles with your machine? Just want to speak about the latest improvements? This is the place!

Moderators: Mug UK, Zorro 2, Greenious, spiny, Moderator Team

User avatar
Foxie
Captain Atari
Captain Atari
Posts: 354
Joined: Wed Feb 03, 2016 7:12 pm

Scroll wheel support?

Postby Foxie » Thu Feb 22, 2018 5:27 pm

I wondered if anyone has implemented scroll wheel support for mice by patching GEM somehow?

I heard the CosmosEx can now support scroll wheels by emulating up/down cursor keys like Hatari does. This is useful, but it would be even better if it would be mapped to GEM scrollbars via a little TSR patch - if that's even possible.

Apart from mapping to cursor keys, I can see two other ways of sending scroll wheel data to the Atari. Firstly, it could be sent via a special extended packet over the IKBD protocol. A driver would be needed to interpret the data.

Secondly, a device similar to PEST could plug into both mouse and joystick ports. Up/down on the joystick are mapped to scroll events. For mice with left/right scroll wheels, they map to left/right. A middle click would press up and down simultaneously. This would be really easy to add support for in new software, but it would still need a driver to make it drive GEM scrollbars in legacy software.

On the Amiga, a mouse adapter exists to take advantage of the scroll wheel in conjunction with a special driver. I don't know exactly how it works (though of course the Amiga has a spare input pin on its mouse/joystick connectors for conveying extended information).

In the absence of anyone working on such an extension, I'll probably just support up/down cursor keys for scrolling in any software I write. And/or the joystick method.

Galvez
Captain Atari
Captain Atari
Posts: 195
Joined: Fri Oct 19, 2007 7:49 am

Re: Scroll wheel support?

Postby Galvez » Thu Feb 22, 2018 5:54 pm

Similar to the second way you explain there was this adapter (web site in German):

http://www.ardisoft.de/Produkte/Jerry_ST/jerry_st.html

and the driver:

http://www.ardisoft.de/Produkte/MWheel/mwheel.html

and I think it was MilanTOS that implemented a VDI call for wheel events:

http://toshyp.atari.org/en/007007.html#vex_wheelv

User avatar
frank.lukas
Hardware Guru
Hardware Guru
Posts: 1545
Joined: Tue Jan 29, 2008 5:33 pm
Location: Germany

Re: Scroll wheel support?

Postby frank.lukas » Thu Feb 22, 2018 6:03 pm

The Eiffel Interface has Wheel PS/2 Mouse support.
fancy Atari Musik anDA Dance "Agare Hinu Harukana" 1998 ATARI http://www.youtube.com/watch?v=JX10fxb5eYE

User avatar
Foxie
Captain Atari
Captain Atari
Posts: 354
Joined: Wed Feb 03, 2016 7:12 pm

Re: Scroll wheel support?

Postby Foxie » Thu Feb 22, 2018 8:42 pm

Galvez wrote:Similar to the second way you explain there was this adapter (web site in German):

http://www.ardisoft.de/Produkte/Jerry_ST/jerry_st.html

and the driver:

http://www.ardisoft.de/Produkte/MWheel/mwheel.html


This looks very interesting! Unfortunately, all the documentation is in German and I can't figure out how to use it. It says you can launch it from the desktop, but it prints something to the screen and exits. I think it failed for some reason.

From what I can gather through Google translate, there's some kind of API extension to make the wheel events available to programs that don't use GEM scrollbars. Any idea how that works? I may or may not use GEM scrollbars in my software.

frank.lukas wrote:The Eiffel Interface has Wheel PS/2 Mouse support.


Is there an API extension for this too? Is it different to MWheel?

It looked like MWheel has some support for the Eiffel, but I couldn't figure out the details. Do you know what byte-level protocol Eiffel uses for the wheel?

Further complicating the situation, I might consider implementing multiple monitor support in my software. That will be achieved by sending the R, G, B signals from a graphics card to different monitors. In order for that to work, I need to take over drawing of the mouse so I can selectively draw it on only one bitplane (otherwise it will appear on multiple monitors). I'm not sure how I'll do that yet. I could just take over control of the keyboard ACIA and handle all keyboard/mouse events myself and then draw the mouse using VDI. Or I could continue to pass ACIA bytes into TOS (which is surely more compatible with things like MWheel) and just turn the mouse pointer off and draw it myself.

If I do pass the ACIA bytes into TOS, I'm not sure of the best way to do that. So far whenever I've needed to manage the ACIAs I've always implemented my own keyboard/mouse handler. The TOS interrupt handler for the ACIAs is extremely slow so I'd need to bypass that for sure. But I'd need to figure out where it writes its data to, so TOS/GEM can pick it up.

Galvez
Captain Atari
Captain Atari
Posts: 195
Joined: Fri Oct 19, 2007 7:49 am

Re: Scroll wheel support?

Postby Galvez » Fri Feb 23, 2018 7:22 am

Foxie wrote:
frank.lukas wrote:The Eiffel Interface has Wheel PS/2 Mouse support.


Is there an API extension for this too? Is it different to MWheel?

It looked like MWheel has some support for the Eiffel, but I couldn't figure out the details. Do you know what byte-level protocol Eiffel uses for the wheel?

You can find some information about the Eiffel here:
http://didierm.pagesperso-orange.fr/eiffel-e.htm

Galvez
Captain Atari
Captain Atari
Posts: 195
Joined: Fri Oct 19, 2007 7:49 am

Re: Scroll wheel support?

Postby Galvez » Fri Feb 23, 2018 7:47 am

Foxie wrote:
Galvez wrote:Similar to the second way you explain there was this adapter (web site in German):

http://www.ardisoft.de/Produkte/Jerry_ST/jerry_st.html

and the driver:

http://www.ardisoft.de/Produkte/MWheel/mwheel.html


This looks very interesting! Unfortunately, all the documentation is in German and I can't figure out how to use it. It says you can launch it from the desktop, but it prints something to the screen and exits. I think it failed for some reason.

From what I can gather through Google translate, there's some kind of API extension to make the wheel events available to programs that don't use GEM scrollbars. Any idea how that works? I may or may not use GEM scrollbars in my software.

If I understand it correctly it uses cursor keys simulation in that scenario.

Here you have more information about wheel events:
http://www.ardisoft.de/Produkte/MWheel/ ... xaaes.html

and there is a mouse driver in XaAES that support wheel events, perhaps you can gather more information from there:
https://github.com/freemint/freemint/tr ... i/whlmoose

MetalCruncher
Atari User
Atari User
Posts: 33
Joined: Sat Apr 23, 2011 6:34 pm
Location: Dk

Re: Scroll wheel support?

Postby MetalCruncher » Fri Feb 23, 2018 9:20 am

All along there's been plenty drivers for serial mice connected to one of the serial ports of the Atari.
Usually the function was "curser keys" for the scroll-wheel and a selectable function for the 3rd button.
Not all in German though: Most trackballs and pads came from the US... with drivers.
Cubase, (Mega)ST(e)(fm), TT, Falcon, Jaguar, MiST.

User avatar
Sturm
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 138
Joined: Wed Aug 24, 2016 1:51 pm
Location: France

Re: Scroll wheel support?

Postby Sturm » Fri Feb 23, 2018 10:26 am

I bought this for my Amiga 1200 and it works very good.
http://amigakit.amiga.store/catalog/pro ... ts_id=1311

Model A-EON Mx1000-1
http://www.amiga.org/forums/showthread.php?t=69723
edit : mine is this boing ball model above, seems it's a different one now

If there is scroll wheel support on Amiga, why wouldn't it be possible on our Ataris ?
I think I will buy another one to use with my Falcon, to replace my usb adapter, but unlike joysticks, mice are not compatible out of the box.
What do i need to do to use an Amiga mouse on Atari ?
Last edited by Sturm on Tue Feb 27, 2018 1:21 pm, edited 1 time in total.

Miguel
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 134
Joined: Mon Sep 21, 2015 2:59 pm

Re: Scroll wheel support?

Postby Miguel » Fri Feb 23, 2018 1:50 pm

A while ago I started contemplating the K..AT keyboard remote controller by Freindchip which plugs into the joystick port in the hope of building my own and while playing around with the desk accessory I noticed that some of the combinations were unobtainable using a regular joystick because they were opposites such as up+down and left+right and this got me thinking, would it be possible to use a combination of up+down=up and left+right=down for the scroll wheel in order to avoid any need for extra wiring?

User avatar
Foxie
Captain Atari
Captain Atari
Posts: 354
Joined: Wed Feb 03, 2016 7:12 pm

Re: Scroll wheel support?

Postby Foxie » Fri Feb 23, 2018 7:18 pm

Galvez wrote:If I understand it correctly it uses cursor keys simulation in that scenario.

Here you have more information about wheel events:
http://www.ardisoft.de/Produkte/MWheel/ ... xaaes.html

and there is a mouse driver in XaAES that support wheel events, perhaps you can gather more information from there:
https://github.com/freemint/freemint/tr ... i/whlmoose


Thanks. I could probably live with just cursor keys, since they will normally scroll anyway. But there are a few times where I'd want the cursor keys to have a slightly different function to the scroll wheel.

Galvez wrote:You can find some information about the Eiffel here:
http://didierm.pagesperso-orange.fr/eiffel-e.htm


That gives quite a lot of detail, thanks!


MetalCruncher wrote:All along there's been plenty drivers for serial mice connected to one of the serial ports of the Atari.
Usually the function was "curser keys" for the scroll-wheel and a selectable function for the 3rd button.
Not all in German though: Most trackballs and pads came from the US... with drivers.


In order to support serial mice I'd need to rely entirely on TOS/GEM for certain. Hopefully the interrupt handler will be fast? There might also be potential conflicts since in some situations I'll be accessing the MFP UART directly. I guess I could build my own serial mouse driver into the program.

The trickiest part would be detecting what kind of device is attached to the modem port. I think serial mice respond to some kind of query, but if you have a MIDI cable attached to the modem port it would result in garbage being transmitted. Perhaps serial mice do something predictable with the handshaking lines? Or I could try and detect the presence of a serial mouse driver and if found, stay well away from the UART. Do serial mouse drivers put some kind of cookie in the jar?


Sturm wrote:If there is scroll wheel support on Amiga, why wouldn't it be possible on our Ataris ?
I think I will buy another one to use with my Falcon, to replace my usb adapter, but unlike joysticks, mice are not compatible out of the box.
What do i need to do to use an Amiga mouse on Atari ?


Amiga mice and Atari mice only differ in their pinouts. The up/down/left/right pins are swapped around. If you Google for "Amiga mouse pinout" and "Atari ST mouse pinout" you can probably find a table to show the differences. The easiest way to convert one from the other is to cut the cable, use a multimeter to determine which colour wires go to which pin and then reconnect the wires in the new arrangement. If you don't want to modify the mouse, you could use a joystick extension cable.

Scroll wheel support on the Amiga will work differently to the ST. The Amiga has a much more flexible mouse/joystick port - it has one extra input, and each of the pins can be configured between input or output mode. Two of the input pins are capable of reading analogue levels.

I have no idea exactly how scroll wheel mice are implemented on the Amiga. If I had to guess, I would imagine it's one of two possibilities. First, they could use an analogue input on the extra input pin. Four different voltage levels could convey the functions scroll up / scroll down / middle click / do nothing. Second, they might assign the extra pin as an output. Then, pulses on the output pin will switch between different modes for the two mouse keys. When the line is high (default) it just reads left/right mouse keys. When it pulses low, it can read serial data via the left mouse key and a start marker via the right mouse key. This would allow an arbitrary number of bits of data to be sent to the Amiga.

Because the ST mouse and joystick ports lack this extra pin (or any way of reading analogue levels) such scrolling features won't work on the ST. You could make an adapter to connect to the enhanced joystick ports on the STE/Falcon, but you'd need a special driver and it probably won't work in games. The easiest way to implement a scroll mouse without taking the ST apart is surely to send the scroll events into the joystick port.

Something like the Eiffel is a good approach if you don't mind opening your ST (or have a Mega). The main shortcoming is the lack of support for Atari keyboards, and the lack of support for uploading keyboard firmware. The latter might be a problem for some games or demos. I believe the CosmosEx allows a hybrid approach where you can continue to use an Atari keyboard but inject the data for a mouse into the data stream. This would be more compatible with uploading keyboard firmware, though it still won't work for programs that use custom firmware to read the mouse.


Miguel wrote:A while ago I started contemplating the K..AT keyboard remote controller by Freindchip which plugs into the joystick port in the hope of building my own and while playing around with the desk accessory I noticed that some of the combinations were unobtainable using a regular joystick because they were opposites such as up+down and left+right and this got me thinking, would it be possible to use a combination of up+down=up and left+right=down for the scroll wheel in order to avoid any need for extra wiring?


Do you have any details on this device? I'm curious about it. Does it let you map inputs to functions such as keyboard events?

Unfortunately the up+down method won't work for the mouse port, because a normal mouse also uses those combinations. The mouse is a quadrature sensor, so when you move it upwards the up/down inputs see the following states:
00
01
11
10
00
repeat

When you move it down, the sequence runs in reverse - this is how it detects which direction it's moving. The reason those combinations are used is the way the mouse works internally. There are two light sensors side by side, and the light shines through a slotted disc. As the light is allowed to pass through, it first illuminates the first sensor and then both sensors as the disc rotates. Finally the first sensor gets shaded and then both sensors go into the shade.

What you could probably do is completely replace the mouse protocol with a new protocol. This would allow a single connection to the mouse port without a separate plug for the joystick port to convey scroll events. You could use one of the inputs as a clock and the other as a data signal and send any amount of serial data to it. The major downside is that it would only work with a special driver. You could perhaps upload some custom keyboard firmware to make it appear to the Atari as a normal mouse. This is a bit tricky though, since there are less than 128 bytes available to fit the firmware in. I think connecting to both mouse and joystick ports is probably more practical.

I should also add that it would be possible to connect a PS/2 mouse directly to the mouse port without any circuitry - providing you could make some suitable keyboard firmware. I think it would be really difficult to support all IKBD commands in just 128 bytes, and I don't know if Atari's keyboard firmware is modular enough to re-use parts of it by calling subroutines from your tiny 128 byte program. You might be able to support the bare minimum number of IKBD commands to keep some software happy.

Miguel
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 134
Joined: Mon Sep 21, 2015 2:59 pm

Re: Scroll wheel support?

Postby Miguel » Sat Feb 24, 2018 11:58 am

The K..AT is a remote control for keyboard shortcuts that plugs into the joystick port so that you can control programs such as Cubase from across the room by pressing buttons which are assigned to key commands using the desk accessory. http://www.muzines.co.uk/articles/friendchip-k-at/909

Yes you are quite right, it would actually be necessary to discard the standard mouse protocol at the port.

joska
Hardware Guru
Hardware Guru
Posts: 3957
Joined: Tue Oct 30, 2007 2:55 pm
Location: Florø, Norway
Contact:

Re: Scroll wheel support?

Postby joska » Sat Feb 24, 2018 12:23 pm

The easiest solution is to connect the mouse adapter between the keyboard and ST, bypassing the keyboard controller completely. Then the mouse adapter would inject mouse data in the IKBD stream directly.
Jo Even

Firebee - Falcon060 - Milan060 - Falcon040 - MIST - Mega ST - STM - STE - Amiga 600 - Sharp MZ700 - MSX - Amstrad CPC - C64

User avatar
Foxie
Captain Atari
Captain Atari
Posts: 354
Joined: Wed Feb 03, 2016 7:12 pm

Re: Scroll wheel support?

Postby Foxie » Sat Feb 24, 2018 7:43 pm

Miguel wrote:The K..AT is a remote control for keyboard shortcuts that plugs into the joystick port so that you can control programs such as Cubase from across the room by pressing buttons which are assigned to key commands using the desk accessory. http://www.muzines.co.uk/articles/friendchip-k-at/909


This seems like quite a simple device. Is the software available online anywhere?

I'm a little surprised it works with Cubase, considering how much it takes over the machine and bypasses TOS.

I wonder if anyone ever made a controller which plugged into the enhanced joystick ports on the STE/Falcon? I vaguely remember hearing about something. You could easily implement a 32 fader controller on each port.

joska wrote:The easiest solution is to connect the mouse adapter between the keyboard and ST, bypassing the keyboard controller completely. Then the mouse adapter would inject mouse data in the IKBD stream directly.


I think this is what the CosmosEx does? It allows the use of a standard Atari keyboard and an IBM compatible mouse, and also AFAIK supports custom keyboard firmware for games/demos.

I thought of another way to connect a PS/2 mouse to an ST that doesn't involve custom keyboard firmware - but does involve a small modification to the ST PCB. You could cut the trace feeding timer D into the UART RX clock of the MFP, then feed the clock/data from PS/2 directly to the MFP. The UART could be set for /1 mode and as far as I can tell, it should then receive PS/2 data reliably. Of course, it might just be easier to find a serial mouse than do that kind of modification.

A while back, I modified Hatari to monitor all writes to the keyboard. It seemed that most programs never talk to the keyboard except for one command - get time of day. So I would guess that a minimal 128 byte keyboard firmware could be sufficient.

joska
Hardware Guru
Hardware Guru
Posts: 3957
Joined: Tue Oct 30, 2007 2:55 pm
Location: Florø, Norway
Contact:

Re: Scroll wheel support?

Postby joska » Sun Feb 25, 2018 11:23 am

Foxie wrote:I think this is what the CosmosEx does? It allows the use of a standard Atari keyboard and an IBM compatible mouse, and also AFAIK supports custom keyboard firmware for games/demos.


Exactly.

Foxie wrote:I thought of another way to connect a PS/2 mouse to an ST that doesn't involve custom keyboard firmware - but does involve a small modification to the ST PCB. You could cut the trace feeding timer D into the UART RX clock of the MFP, then feed the clock/data from PS/2 directly to the MFP. The UART could be set for /1 mode and as far as I can tell, it should then receive PS/2 data reliably.


Wouldn't it just be easier to use a small microcontroller to convert PS/2 directly to serial? Shouldn't be hard to do that, but it would of course require a special driver to be able to use the mouse at all. And that means no mouse in games/demos. Better to convert PS/2 to quad and then route additional functionality (third/fourth button, scroll) through the serial port, joystick ports, STE gameport etc.

Foxie wrote:A while back, I modified Hatari to monitor all writes to the keyboard. It seemed that most programs never talk to the keyboard except for one command - get time of day. So I would guess that a minimal 128 byte keyboard firmware could be sufficient.


I have written a simple IKBD implementation for Arduino that seems to work with most things. It can relatively easy be expanded to support all IKBD commands, but not custom keyboard firmware.
Jo Even

Firebee - Falcon060 - Milan060 - Falcon040 - MIST - Mega ST - STM - STE - Amiga 600 - Sharp MZ700 - MSX - Amstrad CPC - C64

Miguel
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 134
Joined: Mon Sep 21, 2015 2:59 pm

Re: Scroll wheel support?

Postby Miguel » Sun Feb 25, 2018 12:58 pm

Foxie wrote:This seems like quite a simple device. Is the software available online anywhere?

I'm a little surprised it works with Cubase, considering how much it takes over the machine and bypasses TOS.

I wonder if anyone ever made a controller which plugged into the enhanced joystick ports on the STE/Falcon? I vaguely remember hearing about something. You could easily implement a 32 fader controller on each port.


Yeah the K..AT seems like a simple device but it doesn't seem to work as I expected, perhapes a cleaver fox such as yourself might be able to figure it out. download/file.php?id=30432

It's not uncommon to use desk accessories alongside Cubase and from what I can tell the K..AT has a lot of potential, for example I hooked up a rotory encoder to control the cursor and it worked quite well despite the fact that I am not really doing things properly. We can of course use MIDI controllers to manipulate faders in mixer maps but unlike the more modern versions of Cubase the Atari version is really limited in how much can be manipulated remotly, which is why the K..AT is so cool.

User avatar
Foxie
Captain Atari
Captain Atari
Posts: 354
Joined: Wed Feb 03, 2016 7:12 pm

Re: Scroll wheel support?

Postby Foxie » Sun Feb 25, 2018 6:47 pm

Miguel wrote:Yeah the K..AT seems like a simple device but it doesn't seem to work as I expected, perhapes a cleaver fox such as yourself might be able to figure it out. http://www.atari-forum.com/download/file.php?id=30432


I don't know about clever, just too persistent for my own good!

It seems really weird. In Hatari, I tried remapping the joystick keys to "safe" keys (control/option/command) and yet I still can't get all combinations. I can get the second functions for record/stop/rewind/fast forward/play, and the primary functions for rewind/stop but that's all. I'm wondering if Hatari is blocking some combinations.

Have you tried connecting four physical switches to the joystick port of a real Atari and checking all 16 combinations? I suppose it might also be using the fire button as a modifier, so there could be 32 combinations to test. I couldn't seem to get the fire button to affect anything in Hatari, and it seems less likely to be used considering it's wired to the right mouse key.

I don't know how they deal with the situation where one of the joystick lines might go low before the other, when it tries to pull two low simultaneously. Perhaps the software has a small delay and waits for another joystick event before acting on it.

I wonder if there's any active circuitry inside? You might need to find someone with the real hardware and run a test program.

The joystick port does have an output available on pin 5. This could be manipulated with custom keyboard firmware, but the KAT definitely doesn't do this. I checked in my modified version of Hatari, and nothing is written to the keyboard. Under normal conditions, pin 5 pulses low whenever the mouse/joystick are being read. Could the KAT be using this as some kind of clock?

It does seem a bit over-complicated. Surely they could easily map 14 functions to combinations of up/down/left/right.

Miguel
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 134
Joined: Mon Sep 21, 2015 2:59 pm

Re: Scroll wheel support?

Postby Miguel » Sun Feb 25, 2018 11:12 pm

Yes Foxie I have been playing around on a real Atari and I thought it would work basically like a joystick where wires are simply connected to ground but if you connect the same wire 6 times to ground (outside of the desk accessory) it stops working but you can get around that by making sure that at least one of the left, right, down wires is always connected to ground but I suspect that Freindchip put some kind of circuitry in there.

The combinations are 2nd=up, <<=right, Rec=down, Stop=left, Play=left/down, >>=down/right, -=left/right, +=down/left/right.

User avatar
Foxie
Captain Atari
Captain Atari
Posts: 354
Joined: Wed Feb 03, 2016 7:12 pm

Re: Scroll wheel support?

Postby Foxie » Sun Feb 25, 2018 11:35 pm

Miguel wrote:The combinations are 2nd=up, <<=right, Rec=down, Stop=left, Play=left/down, >>=down/right, -=left/right, +=down/left/right.


Ah! It looks like Hatari must be blocking left+right because I couldn't get + or - at all. Makes sense, since some games might not like left+right being pressed at the same time. While you can't do that on a joystick, you could on a keyboard.

I guess you could arrange it so that when no buttons are being pressed, up gets pulled to ground. Will that be enough to avoid the 6 times crashing problem?

It seemed that up needed to be grounded to disable the 2nd function, so you could just eliminate the 2nd function feature and permanently ground up. Or you could have separate physical buttons for the 2nd functions (total 14 buttons), and switch up to high whenever those are pressed. You could do that without any active circuitry pretty easily - just a bunch of double pole switches or single pole switches plus schottky diodes.

Miguel
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 134
Joined: Mon Sep 21, 2015 2:59 pm

Re: Scroll wheel support?

Postby Miguel » Tue Feb 27, 2018 12:10 pm

I initially made the same assumption Foxie but unfortunately it doesn't work like that, it's one of the other three directional wires which must be connected to ground at all times to avoid that 6 presses problem.....I have cobbled something together using some diodes and a mix of push-on and push off switches but it's a bodge.

User avatar
Foxie
Captain Atari
Captain Atari
Posts: 354
Joined: Wed Feb 03, 2016 7:12 pm

Re: Scroll wheel support?

Postby Foxie » Tue Feb 27, 2018 2:18 pm

Miguel wrote:I initially made the same assumption Foxie but unfortunately it doesn't work like that, it's one of the other three directional wires which must be connected to ground at all times to avoid that 6 presses problem.....I have cobbled something together using some diodes and a mix of push-on and push off switches but it's a bodge.


That sounds really tricky to work around. Wouldn't you have to assign one of the left/right/down functions to be non-repeating and use a normally closed switch for it? I could perhaps see that working for stop.

I wonder what the actual cause of the 6 press problem is? It sounds like a bug more than a feature. Does it also show up in a text editor, with the keys assigned to A-Z keys?

I don't really know why they couldn't keep the hardware simple, just switches and nothing else. The only thing I could think of is handling the situation where you're pulling two lines low simultaneously. It's possible the keyboard processor might scan the port exactly as the transition is happening, and read one line as 1 and the other as 0 when both were meant to be 0. The obvious way to fix that problem would be to put a small delay in the desk accessory to wait for any further joystick events immediately after. They might have taken a hardware approach to fixing the problem though. They could use pin 5 as a clock, and latch new data onto the port only on the rising edge. The latch would have one bit for each button of the device (+, -, <<, >>, play, stop, record, 2nd), and the signals would be combined with diodes after the latch. I think this would guarantee the keyboard processor never catches a line mid-transition - since it only reads the port when pin 5 is low.

Does the repeat function work if you just ground an input? I'm wondering if the hardware uses pin 5 through a divider to actually generate key repeat events.

Miguel
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 134
Joined: Mon Sep 21, 2015 2:59 pm

Re: Scroll wheel support?

Postby Miguel » Wed Feb 28, 2018 1:42 pm

Yeah it's a real headache Foxie, so far my bodge works by defaulting to an unassigned button when no other buttons are pressed and I am still playing around with the matrix. Yes the repeat function works simply by grounding a wire but once again you can only connect the wire 6 times and then it stops working which almost seems like Freindchip didn't want people using a joystick or DIY switch box with their software....I mean you can play around all day with the desk accessory open but once you close it you only get 6 presses of each button.

User avatar
Foxie
Captain Atari
Captain Atari
Posts: 354
Joined: Wed Feb 03, 2016 7:12 pm

Re: Scroll wheel support?

Postby Foxie » Thu Mar 01, 2018 7:36 pm

Miguel wrote:Yeah it's a real headache Foxie, so far my bodge works by defaulting to an unassigned button when no other buttons are pressed and I am still playing around with the matrix. Yes the repeat function works simply by grounding a wire but once again you can only connect the wire 6 times and then it stops working which almost seems like Freindchip didn't want people using a joystick or DIY switch box with their software....I mean you can play around all day with the desk accessory open but once you close it you only get 6 presses of each button.


Yeah, it does sound a bit like a "copy protection" feature!

Have you tried making the stop switch normally closed? You could use a second pole on the other switches to disconnect the stop switch when they're pressed. This would ensure at least one of the lines is always grounded, but you would need to make sure stop is set to non-repeating.

Did you get the desk accessory from someone who actually owns the original hardware?

joska
Hardware Guru
Hardware Guru
Posts: 3957
Joined: Tue Oct 30, 2007 2:55 pm
Location: Florø, Norway
Contact:

Re: Scroll wheel support?

Postby joska » Thu Mar 01, 2018 9:08 pm

What does this acc do? Translate events from this piece of hardware to simulated keyboard events?
Jo Even

Firebee - Falcon060 - Milan060 - Falcon040 - MIST - Mega ST - STM - STE - Amiga 600 - Sharp MZ700 - MSX - Amstrad CPC - C64

ranix
Atari maniac
Atari maniac
Posts: 79
Joined: Sun Jan 14, 2018 8:01 pm

Re: Scroll wheel support?

Postby ranix » Thu Mar 01, 2018 9:53 pm

can joystick port 2 be a mouse? maybe what you really need is to make a driver that will intercept one of the axes of the 2nd mouse port and treat that as a scroll wheel

maybe you can make a ram patch for GEM to trigger the up/down arrows in the local window to scroll like that. If you could do that... why not just write software that uses a trackball plugged into mouse2 to use the x axis to trigger left/right movements in the currently acrtive window and the y axis to trigger up/down? I would use that in cubase

I'm not sure GEM provides a hook like that to trigger the arrows though

arf
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 136
Joined: Thu May 17, 2012 9:56 pm
Location: Germany

Re: Scroll wheel support?

Postby arf » Thu Mar 01, 2018 10:39 pm

Foxie wrote:
Galvez wrote:Similar to the second way you explain there was this adapter (web site in German):
This looks very interesting! Unfortunately, all the documentation is in German and I can't figure out how to use it. It says you can launch it from the desktop, but it prints something to the screen and exits. I think it failed for some reason.


It would be easier to jump in and help if you could perhaps post a screenshot of the error?


Social Media

     

Return to “Hardware”

Who is online

Users browsing this forum: No registered users and 3 guests