Topics

HP-HIL and USB


Anders
 

OK. we have contact! I can now type and press F2 after changing BASIC5 disks when booting. There is something weird in addressing though. I get an address of 1 when autoconfiguring, but then the computer expects a reply on address 4, which is prety evident by the periodic trasmissions of EnterPassthrough, followed by EnterLoopback addressed to 4.

This is the HIL way of checking whether new units have joined. If none, then the EnterPassthrough will never make it back.If there is a new unit, then it will be echoed back by that.

The docs claim that autoconfigure always starts with 0x09 (ACF1), but in Al's traces, it starts with ACF3?

It is getting late and there is a day tomorrow s well.


 

I think you have a very compassionate partner ;)

-Rik




On Fri, May 15, 2020 at 8:15 PM +0200, "Anders" <anders.gustafsson@...> wrote:

OK. we have contact! I can now type and press F2 after changing BASIC5 disks when booting. There is something weird in addressing though. I get an address of 1 when autoconfiguring, but then the computer expects a reply on address 4, which is prety evident by the periodic trasmissions of EnterPassthrough, followed by EnterLoopback addressed to 4.

This is the HIL way of checking whether new units have joined. If none, then the EnterPassthrough will never make it back.If there is a new unit, then it will be echoed back by that.

The docs claim that autoconfigure always starts with 0x09 (ACF1), but in Al's traces, it starts with ACF3?

It is getting late and there is a day tomorrow s well.


Anders
 

On Sat, May 16, 2020 at 01:09 AM, Rik Bos wrote:
compassionate partner
Yes. I am lucky in that respect.


Anders
 

On Mon, May 11, 2020 at 10:12 PM, al_kossow wrote:
dump from a salaea logic-16 of everything up until the 16500 is booted at 500khz samplerate

http://bitsavers.org/projects/hphil/16500.logicdata
Interestigly enough does the HIL docs claim that autoconfigure always starts with ACF1 (0x09) and so it does on my 340, but here it starts wth ACF3 (0x11). The way autoconfigure works is that the host sends, say 0x09 and the first unit takes the lower three bits as its address, increments and passes on.
After the host has gotten the incremented ACF back, it should issue an IDD for every address and then an EPT (enterpassthrough)
On my 340 it is the other ay around and it always seem to assume address 4, no matter what.


Anders
 

The address was ny error. For some reason are addresses and data reversed in HIL and I had forgotten to reverse in one place so my 0x01 ended up as 0x04. So it works now, including language select. Incidentally does the 340 read that just once, on bootup, just like the 200-series.

So, I have to sort out some mapping issues fro PS/2 to HIL before continuing with the mouse.


Paul Berger
 

A 16500 has two internal HP-HIL devices the knob and the IR touch screen sensor that are likely configured before external devices.

Paul.

On 2020-05-16 6:48 a.m., Anders wrote:
On Mon, May 11, 2020 at 10:12 PM, al_kossow wrote:
dump from a salaea logic-16 of everything up until the 16500 is booted at 500khz samplerate

http://bitsavers.org/projects/hphil/16500.logicdata
Interestigly enough does the HIL docs claim that autoconfigure always starts with ACF1 (0x09) and so it does on my 340, but here it starts wth ACF3 (0x11). The way autoconfigure works is that the host sends, say 0x09 and the first unit takes the lower three bits as its address, increments and passes on.
After the host has gotten the incremented ACF back, it should issue an IDD for every address and then an EPT (enterpassthrough)
On my 340 it is the other ay around and it always seem to assume address 4, no matter what.


Anders
 

Ah.. That would explain it.


Kuba Ober
 

They really were forward-thinking. That’s no different from internal USB devices in modern laptops and such. 

16 maj 2020 kl. 11:18 fm skrev Paul Berger <phb.hfx@...>:



A 16500 has two internal HP-HIL devices the knob and the IR touch screen sensor that are likely configured before external devices.

Paul.

On 2020-05-16 6:48 a.m., Anders wrote:
On Mon, May 11, 2020 at 10:12 PM, al_kossow wrote:
dump from a salaea logic-16 of everything up until the 16500 is booted at 500khz samplerate

http://bitsavers.org/projects/hphil/16500.logicdata
Interestigly enough does the HIL docs claim that autoconfigure always starts with ACF1 (0x09) and so it does on my 340, but here it starts wth ACF3 (0x11). The way autoconfigure works is that the host sends, say 0x09 and the first unit takes the lower three bits as its address, increments and passes on.
After the host has gotten the incremented ACF back, it should issue an IDD for every address and then an EPT (enterpassthrough)
On my 340 it is the other ay around and it always seem to assume address 4, no matter what.


Anders
 

On Mon, May 11, 2020 at 10:46 PM, al_kossow wrote:
new trace
disconnected the ps2 mouse and added an hp kb and mouse to the loop,wiggled the mouse then typed abcdefg1234 on the kb
Is that the file 16500hpkbms.logicdata 2020-05-11 14:46 126K ?  


Anders
 

If possible, then I would like a trace with:
Just the mouse connected, where you move it, first horizontally, then vertically, then press each button once.

The docs are not clear how the mouse should report data. Is it absolute coordinates, or relative?


 

Do you want a hil mouse to play with?
I can send you one.

-Rik




On Fri, May 29, 2020 at 8:56 PM +0200, "Anders" <anders.gustafsson@...> wrote:

If possible, then I would like a trace with:
Just the mouse connected, where you move it, first horizontally, then vertically, then press each button once.

The docs are not clear how the mouse should report data. Is it absolute coordinates, or relative?


al_kossow
 

On 5/29/20 11:56 AM, Anders wrote:
If possible, then I would like a trace with:
Just the mouse connected, where you move it, first horizontally, then vertically, then press each button once.
there are two new traces up right,left,up,down l,m,r buttons from a a2838a 3 button mouse and a microspeed trackball
with some jitter. I had to take the trackball and 3button mouse apart and roll the interrupters to get clean h vs v motion


al_kossow
 

On 5/29/20 1:29 PM, al_kossow wrote:
On 5/29/20 11:56 AM, Anders wrote:
If possible, then I would like a trace with:
Just the mouse connected, where you move it, first horizontally, then vertically, then press each button once.
there are two new traces up  right,left,up,down l,m,r buttons from a a2838a 3 button mouse and a microspeed trackball
with some jitter. I had to take the trackball and 3button mouse apart and roll the interrupters to get clean h vs v motion
I need to do additional traces for initial ID. It was fiddly enough to get the movement done that I didn't want to go
through the whole boot sequence


Anders
 

I think I have the ID sorted. Your mouse sent:
68 = Mouse
12 = Describe header indicating, x and Y axes, IO descriptor byte follows
C2, 1E = should be resolution, counts per cm
0F = IO decriptor, buttons 1..7, report proximity keycodes
Pages C2-C3

It is the poll response I am unsure about. There is no mention of buttons in the manual example, just keycodes, so I assume that the mouse sends the buttons as keydodes? 0x80..0x8C. Page F-4


Anders
 

On Fri, May 29, 2020 at 11:24 PM, Rik Bos wrote:
Do you want a hil mouse to play with?
I can send you one.
Thanks! I will let you know if I cannot sort it in any other way. I just got the PS/2 port code done last night and we will probably go to the cottage today.I will keep you all posted on developments!


Anders
 

On Fri, May 29, 2020 at 11:35 PM, al_kossow wrote:
It was fiddly enough to get the movement done that I didn't want to go
through the whole boot sequence
Yeah.. I clearly have something going. As Piero mentioned does BASIC 6.2 sense the mouse. If i move it up and down, the screen scrolls, but strangely enough does not printing KNOBX and KNOBY produce anything but 0. Perhaps I need to do something to activate that? But anyway. Moving the PS/2 mouse makes the screen scroll. I feel like a champ! But I still need to figure out how to send data properly and with a reasonable scaling. The PS/2 mouse sends a 9-bit position, 8 bits + sign in 2's complement. The HIL mouse can send either 8 or 16 bits. Can I assume that it is 2's complement also? Anyway, I just send 2 bytes now, X and Y and since it scrolls, I assume that the format is right?


Anders
 

OK. Just so that you all know that I have not abandoned this...

PS/2 has been ready sinde May/June, but I wanted USB support as well for the sake of completeness. If you do not care, then just leave out those components. I am now working on the USB bit, using an VNC1L as the PIC I am using only has one USB port and the framework does not support hubs. There are commercial frameworks that do, but I am not prepared to fork out for those.

The VNC1L has two ports and I happened to have one from another project. Drawback is that you need to poll keyboard and mouse, but I have a rough prototype now that sends keypresses to the 9000/340. Will work on that and see where it leads.


Anders
 

While we are at it... I have a question: What type of connector should I plan for the HIL-side of things? I'd rather not use the standard HIL connector and the reasoning behind that is tat if you buy a HP9000 without keyboard, you will not have the cable either, so what should I use? A RJ connector, say the "Ethernet" variety so that you do not mix up with the one on 9000/200? Something else? Either way will you have to create a cable with a HIL-crimp for the computer sode.


Bruce
 

I am interested and I can wait till you are finished.

Cheers!

Bruce

Quoting Anders <anders.gustafsson@pedago.fi>:

OK. Just so that you all know that I have not abandoned this...

PS/2 has been ready sinde May/June, but I wanted USB support as well for the sake of completeness. If you do not care, then just leave out those components. I am now working on the USB bit, using an VNC1L as the PIC I am using only has one USB port and the framework does not support hubs. There are commercial frameworks that do, but I am not prepared to fork out for those.

The VNC1L has two ports and I happened to have one from another project. Drawback is that you need to poll keyboard and mouse, but I have a rough prototype now that sends keypresses to the 9000/340. Will work on that and see where it leads.



Anders
 

Any thoughts on the connector?