Re: Seeking software for SGI/Sun dial box (was Re: IBM 6094-010 "Dials" protocol?)

2018-04-09 Thread Richard Sheppard via cctalk
On Sun, Mar 25, 2018 at 3:48 PM, Ethan Dicks http://www.classiccmp.org/mailman/listinfo/cctalk>> wrote:

> SN-921

>   
> https://upload.wikimedia.org/wikipedia/commons/7/74/Sgi_dialbox_sn-921_front.jpg

>

> DANAHER CONTROLS Dials DLS80-1022

>   
> https://upload.wikimedia.org/wikipedia/commons/c/cd/SGI_dialbox_DLS80-1022_front.jpg



 https://github.com/hanshuebner/sgi-dialbox-usb/blob/master/dialbox.py

>

> I'm going to test this code out when I have a dialbox in hand.

The Solaris CDs used to have /usr/demo/DIALBOX (and BUTTONBOX) with source 
code. I think it was meant for xview though so you'd need to pick out the 
useful bits (if any).

Richard Sheppard


Re: Seeking software for SGI/Sun dial box (was Re: IBM 6094-010 "Dials" protocol?)

2018-04-08 Thread Ethan Dicks via cctalk
On Sun, Apr 8, 2018 at 8:13 PM, Glen Slick  wrote:
> On Sun, Apr 8, 2018 at 4:56 PM, Ethan Dicks  wrote:
>>
>> What I _think_ I'm seeing is the Python code sends a mode switch
>> command to get the dial box to auto-send dial events, so I wonder if
>> there are any firmware differences with units destined for HP and
>> units destined for SGI
>
> FWIW, the microcontroller inside my HP A4362A dial box is a Motorola
> MC68HC705C4A with a stick on paper label with the number 109315-0001.

Ah ah!  Mine is marked 109457-0001.

Additionally, in case there's a difference here, my PCB has 3 jumpers,
JP-1, JP-2, and JP-3.  On mine, JP-1 is closed with a solder blob, the
other two are open.

> The number etched on the component side of the PCB is 109202-0001 REV A.

Same.

Thanks for the sticker number.  It's possible they are different
internally, and from the comment in one of the mailing list threads
about having to mod one of the programs for a specific model (absolute
mode vs relative mode) it does seem likely that different units come
up in different default modes.

-ethan


Re: Seeking software for SGI/Sun dial box (was Re: IBM 6094-010 "Dials" protocol?)

2018-04-08 Thread Glen Slick via cctalk
On Sun, Apr 8, 2018 at 4:56 PM, Ethan Dicks  wrote:
>
> What I _think_ I'm seeing is the Python code sends a mode switch
> command to get the dial box to auto-send dial events, so I wonder if
> there are any firmware differences with units destined for HP and
> units destined for SGI.  They could behave the same way when in the
> same mode, but perhaps they are coming up in different modes.  It's of
> course quite likely that I have a broken unit and there are no
> internal differences.
>

FWIW, the microcontroller inside my HP A4362A dial box is a Motorola
MC68HC705C4A with a stick on paper label with the number 109315-0001.
It's a soldered down PLCC-44 package. If it was in a socket I'd remove
it and try to dump the firmware if it's not read protected. If your
dial box happens to have the same 109315-0001 number on the
microcontroller then my assumption would be that the firmware is
likely the same. If the number is different, no telling how different
the firmware might be.

The number etched on the component side of the PCB is 109202-0001 REV A.


Re: Seeking software for SGI/Sun dial box (was Re: IBM 6094-010 "Dials" protocol?)

2018-04-08 Thread Ethan Dicks via cctalk
On Sun, Apr 8, 2018 at 5:48 PM, Glen Slick  wrote:
> On Sun, Apr 8, 2018 at 2:01 PM, Ethan Dicks via cctalk
>  wrote:
>> On Sun, Mar 25, 2018 at 3:48 PM, Ethan Dicks  wrote:
>>> SN-921
>>>   
>>> https://upload.wikimedia.org/wikipedia/commons/7/74/Sgi_dialbox_sn-921_front.jpg
>>>
>>> DANAHER CONTROLS Dials DLS80-1022
>>>   
>>> https://upload.wikimedia.org/wikipedia/commons/c/cd/SGI_dialbox_DLS80-1022_front.jpg
>>

> What version of the dial box do you have? I have an HP A4362A dial box
> which looks identical to the pictures of the DLS80-1022 dial box.

I have one DLS80-1022 and one SN-921, both badged for SGI.  Because I
did not get the serial/power Y-cable with the DLS80-1022, I started
working on the SN-921 because it just takes +5V on either the serial
cable or a 2.1mm jack and was shipped with a +5V PSU for it and I just
had to pass RxD, TxD and GND back from it.

I have not put together a triple-voltage supply and custom cable for
the DLS80-1022 yet, but that may be in my near future.

I do have the necessary tools to trace out and monitor the comm
circuit on each dial box.

> I just hooked up the HP A4362A dial box to a PC serial port with the
> Y-cable and the +5,+12,-12 AC adapter and I get 9600,N,8,1 dial
> rotation data from the dial box as soon as it is powered on without
> needing to send any commands to the dial box first.

OK then!  My SN-921 is definitely *not* talking.  I will crack it open
and check the upstream of the RS-232 chip and see if the MCU is
generating traffic.  I'm entirely willing to believe the weak link is
either the onboard boost converter for +/-9VDC for comms or the
converter chip itself (not a 1488/1489 pair).  It's also possible I
have a dead unit, but there's more investigation to do.

> It appears that the data format is three bytes per dial rotation
> report. The first byte is the dial number, 0x80 through 0x87. The next
> two bytes are the twos-complement rotation count, MSB first,
> counter-clockwise negative, clockwise positive.

Very handy to know.  I was looking over the Python code and it seems
that there are a number of modes where the host sends some bytes to
modify the behavior of the dialbox before setting up an event handler
to catch bytes sent from the dialbox but I hadn't figured out exactly
what was happening at a bytes-exchanged level.  Your explanation is
entirely clear.

What I _think_ I'm seeing is the Python code sends a mode switch
command to get the dial box to auto-send dial events, so I wonder if
there are any firmware differences with units destined for HP and
units destined for SGI.  They could behave the same way when in the
same mode, but perhaps they are coming up in different modes.  It's of
course quite likely that I have a broken unit and there are no
internal differences.

Thanks for the helpful response!

-ethan


Re: Seeking software for SGI/Sun dial box (was Re: IBM 6094-010 "Dials" protocol?)

2018-04-08 Thread Glen Slick via cctalk
On Sun, Apr 8, 2018 at 2:01 PM, Ethan Dicks via cctalk
 wrote:
> On Sun, Mar 25, 2018 at 3:48 PM, Ethan Dicks  wrote:
>> SN-921
>>   
>> https://upload.wikimedia.org/wikipedia/commons/7/74/Sgi_dialbox_sn-921_front.jpg
>>
>> DANAHER CONTROLS Dials DLS80-1022
>>   
>> https://upload.wikimedia.org/wikipedia/commons/c/cd/SGI_dialbox_DLS80-1022_front.jpg
>
> https://github.com/hanshuebner/sgi-dialbox-usb/blob/master/dialbox.py
>>
>> I'm going to test this code out when I have a dialbox in hand.
>
> I have now tried this and am not having success.  I have a traffic
> light on the serial cable and I know I'm getting chars out of the host
> and that I don't have TxD and RxD swapped.  I'm not seeing any
> responses from the dial box and the python script does all the
> initialization and just sits there.  Frobbing the knobs produces no
> blinks on the traffic light and no text from the script.

What version of the dial box do you have? I have an HP A4362A dial box
which looks identical to the pictures of the DLS80-1022 dial box.

I just hooked up the HP A4362A dial box to a PC serial port with the
Y-cable and the +5,+12,-12 AC adapter and I get 9600,N,8,1 dial
rotation data from the dial box as soon as it is powered on without
needing to send any commands to the dial box first.

It appears that the data format is three bytes per dial rotation
report. The first byte is the dial number, 0x80 through 0x87. The next
two bytes are the twos-complement rotation count, MSB first,
counter-clockwise negative, clockwise positive.