HP-IL with HP 82163A Video Interface
11-08-2014, 03:52 AM
Post: #1
 institches Junior Member Posts: 7 Joined: Jul 2014
HP-IL with HP 82163A Video Interface
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
11-08-2014, 09:33 AM
Post: #2
 brouhaha Member Posts: 142 Joined: Dec 2013
RE: HP-IL with HP 82163A Video Interface
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.
11-08-2014, 10:42 AM
Post: #3
 institches Junior Member Posts: 7 Joined: Jul 2014
RE: HP-IL with HP 82163A Video Interface
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.
11-08-2014, 03:46 PM (This post was last modified: 11-08-2014 03:56 PM by Sylvain Cote.)
Post: #4
 Sylvain Cote Senior Member Posts: 1,717 Joined: Dec 2013
RE: HP-IL with HP 82163A Video Interface
(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
11-08-2014, 05:32 PM
Post: #5
 J-F Garnier Senior Member Posts: 575 Joined: Dec 2013
RE: HP-IL with HP 82163A Video Interface
(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
11-08-2014, 06:33 PM
Post: #6
 Garth Wilson Senior Member Posts: 479 Joined: Dec 2013
RE: HP-IL with HP 82163A Video Interface
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.

05-20-2015, 06:46 AM
Post: #7
 Vincent Weber Member Posts: 226 Joined: May 2015
RE: HP-IL with HP 82163A Video Interface
(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 ?

12-28-2015, 09:17 PM
Post: #8
 institches Junior Member Posts: 7 Joined: Jul 2014
RE: HP-IL with HP 82163A Video Interface
Thank you all for your assistance. After revisiting this I'm able to do all I need at this stage.
Cheers
Gary
 « Next Oldest | Next Newest »

User(s) browsing this thread: 1 Guest(s)