HP Forums
HP-IL with HP 82163A Video Interface - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html)
+--- Forum: General Forum (/forum-4.html)
+--- Thread: HP-IL with HP 82163A Video Interface (/thread-2401.html)



HP-IL with HP 82163A Video Interface - institches - 11-08-2014 03:52 AM

Hi,

I'm am a bit of a novice when it comes to this hardware but I tinker with it as a hobby.

I have an HP 82160A Interface Loop plugged into my HP41 and connected HP 82163A video interface. I have read in the manual about controlling the video interface with Data Byte messages in the form of excape sequences that are interpreted as instructions. There are no examples in the manual so I am struggling to understand the syntax/use of these codes. Any help would be appreciated.

Kind regards,
Gary


RE: HP-IL with HP 82163A Video Interface - brouhaha - 11-08-2014 09:33 AM

If you have a 41CX, or the Extended Function module on a 41C or 41CV (but NOT in a 41CX, it's built in), you can use XTOA to append any character by character code to the ALPHA register, though you can't use NUL characters (code 0) at the beginning of a string. If you needed a string ESC "7@" to send (not including the quotation marks), you could use CLA 27 XTOA ALPHA append 7 ALPHA 64 XTOA to compose it in ALPHA, since 27 is the character code of escape, and 64 is the character code of "@". All of the character codes are listed in an appendix in the Extended Function ROM manual and in the 41CX manual.


RE: HP-IL with HP 82163A Video Interface - institches - 11-08-2014 10:42 AM

Thanks for your prompt reply. I tried your example and I can display the @ character on the screen as you described. I take it the 7 refers to displaying the character on the screen?
I now have a better understanding of the codes but I still don't understand the manual when it says "Escape Sequence 'EC A' Character Codes 27 65 Moves the cursor up one line..."
I am reading this from the 82163 manual.


RE: HP-IL with HP 82163A Video Interface - Sylvain Cote - 11-08-2014 03:46 PM

(11-08-2014 10:42 AM)institches Wrote:  Thanks for your prompt reply. I tried your example and I can display the @ character on the screen as you described. I take it the 7 refers to displaying the character on the screen?
I now have a better understanding of the codes but I still don't understand the manual when it says "Escape Sequence 'EC A' Character Codes 27 65 Moves the cursor up one line..."
I am reading this from the 82163 manual.

Just in case, ESC or EC or Escape or character code 27 is all the same.

The following, is a small program extract that should get you started

Code:

01 LBL "VIS"    sub: Video Interface Selection
02 MANIO        set HP-IL in manual mode
03 1            device address in the loop, change this as needed
04 SELECT       select specified address
05 SF 17        activate hp-41 append mode
06 RTN          end sub
07 LBL 99       sub: build escape string with X code
08 27           the escape code
09 XTOA         generate the escape character
10 RDN          roll down stack
11 XTOA         generate the specified character
12 RTN          end sub
13 LBL "DTL"    sub: Display Text Line
14 CF 17        deactivate hp-41 append mode
15 OUTA         send the alpha string to the selected device and goto next line
16 SF 17        activate hp-41 append mode
17 RTN          end sub
18 LBL "DT"     sub: Display Text
19 OUTA         send the alpha string to the selected device
20 RTN          end sub
21 LBL "CUP"    sub: Cursor Up
22 CLA          clear alpha
23 65           cursor up code
24 XEQ 99       build escape string
25 OUTA         send the alpha string to the selected device
26 RTN          end sub
27 LBL "CDN"    sub: Cursor Down
28 CLA          clear alpha
29 66           cursor down code
30 XEQ 99       build escape string
31 OUTA         send the alpha string to the selected device
32 RTN          end sub
33 LBL "VCD"    sub: Video Clear Device
34 CLA          clear alpha
35 69           clear device code
36 XEQ 99       build escape string
37 OUTA         send the alpha string to the selected device
38 RTN          end sub
...             you add what you need at this point :-)

From the run mode ...

XEQ "VIS" will setup the interface and the calculator
XEQ "VCD" will clear the video device
XEQ "DTL" will display on video the alpha content and go to the beginning of the next line
XEQ "DT" will display on video the alpha content
XEQ "CUP" will move the cursor up by one line
XEQ "CDN" will move the cursor down by one line

Have fun!

Sylvain

edit: typo


RE: HP-IL with HP 82163A Video Interface - J-F Garnier - 11-08-2014 05:32 PM

(11-08-2014 03:46 PM)Sylvain Cote Wrote:  The following, is a small program extract that should get you started
Code:

01 LBL "VIS"    sub: Video Interface Selection
...
38 RTN          end sub

An improvement proposal:

Generally (including this case) it's not needed to use the HP-IL manual mode (MANIO).
In MANIO you can easily send data to the wrong device when using mass storage or printer functions at the same time.
The SELECT command is for sure needed to address the OUTA to the video display, but in this case it's easier to use ACA and PRA to avoid managing manually SELECT and SF/CF 17.

Then, if you don't have a HP-41CX or an Extended Function module, you can replace the sequence
<< 27 XTOA >> with << 27 BLDSPEC ARCL X >> to generate the escape character.

The sub 99 becomes:
Code:

07 LBL 99       sub: build the escape char
08 27           the escape code
09 ENTER      (to make sure BLDSPEC will work as expected)
10 BLDSPEC      generate the escape character
11 ARCL X       and put it in ALPHA
12 RTN          end sub

To use it, modify the CUP, CDN, etc routines like this:
Code:

21 LBL "CUP"    sub: Cursor Up
22 CLA          clear alpha
23 XEQ 99       build escape char
24 "|-A"        append char "A"
25 ACA          send the alpha string to the video device (w/o end of line)
26 RTN          end sub



RE: HP-IL with HP 82163A Video Interface - Garth Wilson - 11-08-2014 06:33 PM

or use synthetic programming to embed any character directly in an alpha string. It executes much faster. I did synthetic programming the more tedious way (with the byte grabber) before I got the ZENROM which makes synthetic instructions and operations natural, as if they had never been synthetic.


RE: HP-IL with HP 82163A Video Interface - Vincent Weber - 05-20-2015 06:46 AM

(11-08-2014 05:32 PM)J-F Garnier Wrote:  
(11-08-2014 03:46 PM)Sylvain Cote Wrote:  The following, is a small program extract that should get you started
Code:

01 LBL "VIS"    sub: Video Interface Selection
...
38 RTN          end sub

An improvement proposal:

Generally (including this case) it's not needed to use the HP-IL manual mode (MANIO).
In MANIO you can easily send data to the wrong device when using mass storage or printer functions at the same time.
The SELECT command is for sure needed to address the OUTA to the video display, but in this case it's easier to use ACA and PRA to avoid managing manually SELECT and SF/CF 17.

Then, if you don't have a HP-41CX or an Extended Function module, you can replace the sequence
<< 27 XTOA >> with << 27 BLDSPEC ARCL X >> to generate the escape character.

The sub 99 becomes:
Code:

07 LBL 99       sub: build the escape char
08 27           the escape code
09 ENTER      (to make sure BLDSPEC will work as expected)
10 BLDSPEC      generate the escape character
11 ARCL X       and put it in ALPHA
12 RTN          end sub

To use it, modify the CUP, CDN, etc routines like this:
Code:

21 LBL "CUP"    sub: Cursor Up
22 CLA          clear alpha
23 XEQ 99       build escape char
24 "|-A"        append char "A"
25 ACA          send the alpha string to the video device (w/o end of line)
26 RTN          end sub
Thanks JF.
I tried to use the video display in Emu41 and I have the following questions:
1/it seems that neither 32 nor 80 column are emulated, but 40.
Why ?
2/it seems that video inverse characters and cursor blinking is not emulated. why ? Is it what you mean by "partially emulated" for the escape sequences in Emu41 doc ?
3/what is the use of emulating the 82143a printer over emulating the video interface since you don't emulate the graphics ? To get a longer "paper" ? But I have not found how to control the paper length, nor how to scroll it...
4/why not emulating the 82162a printer ? Can you confirm that its new FMT instruction is dedicated to it and cannot be used with the video interface ?
5/you say in emu41 doc that the escape sequences "are not used with the hp-41, except with the paname rom". Can you confirm that you are not aware of significant applications that would make use of these features ?

Thanks in advance and regards


RE: HP-IL with HP 82163A Video Interface - institches - 12-28-2015 09:17 PM

Thank you all for your assistance. After revisiting this I'm able to do all I need at this stage.
Cheers
Gary