The Museum of HP Calculators

HP Forum Archive 21

[ Return to Index | Top of Index ]

Curious SINPLOT behavior on HP71B
Message #1 Posted by Christoph Giesselink on 11 July 2012, 2:56 p.m.

Hello,

I'm somehow curious with the HP71B SINPLOT example

5 DEGREES @ PRINT CHR$(27);"E";
10 FOR X=1 TO 32 @ Y=SIN(X*16)*4+4
20 PRINT CHR$(27);"%";CHR$(X);CHR$(Y);"*";
30 NEXT X

published here some weeks ago. The difference to the published version is, that I restricted to the X loop to 32 that the curve will only printed once on a 82163 video interface.

During my tests with Emu71/Win and a Virtual IL HP-82163A video simulator (ILVideo) I recognized sometimes garbage in the sineplot output. I analyzed the IL frame traffic and found "DAB 0D DAB 0A" data packages in the framing. So the garbage is created when the CR LF data frames are inside the cursor position ESC sequence like

DAB 1B  DAB 25  DAB 12  DAB 0D  DAB 0A  DAB 00  DAB 2A

Because the CR LF are in the IL framing data I was sure that my HP-82163A video simulator was working correctly. So the next suspect was the Emu71/Win emulator with it's HPIL processor simulation. But had no idea how to check this, so I decided to use a real HP71B (ROM rev. 1BBBB) instead of Emu71/Win.

So my loop now looked like

HP71B -> PILBOX | real HP-IL world
ILPilbox -> ILScope -> ILVideo -> back to ILPilbox | virtual HP-IL world

I got the same randomly garbage in the sineplot output and found also "DAB 0D DAB 0A" data packages in the ILScope output window. So IMHO the BASIC program itself is buggy. I tried to disable the "DAB 0D DAB 0A" data with the "WIDTH INF" command, but no success.

Any other idea?

Christoph

      
Re: Curious SINPLOT behavior on HP71B
Message #2 Posted by Mike (Stgt) on 12 July 2012, 9:43 a.m.,
in response to message #1 by Christoph Giesselink

Hallo Christoph! :)

Do you have the chance to capture the IL frames to a file, change the CRLF in question and send the modified data to ILVideo? Yes, I know, this is dirty but quick, only for one try. Do you need real HW for tests?

Ciao.....Mike

      
Re: Curious SINPLOT behavior on HP71B
Message #3 Posted by Olivier De Smet on 12 July 2012, 12:07 p.m.,
in response to message #1 by Christoph Giesselink

It seems that the HPIL loop decided to send the EOL default sequence (CR, LF) by itself, based certainly on a character count (HPIB can have the same behavior, I experienced it on emulating AMIGO disk protocol on HPIB ... receiving CR LF right in the middle of stream of data/command for a disk drive can be quite disturbing too)

Perhaps try to use CHR$(27);"H";CHR$(27);"%"; ... it can reset the emitted characters count in the HPIL loop ?

You can also redefine the EOL sequence of the HPIL loop temporary with ZERO length char string (you should be able to define a string up to 3 chars as EOL sequence, see manual,)

All is from memory so I can be completly wrong ...

Olivier

Edited: 12 July 2012, 12:07 p.m.

      
Re: Curious SINPLOT behavior on HP71B
Message #4 Posted by Christoph Giesselink on 12 July 2012, 12:32 p.m.,
in response to message #1 by Christoph Giesselink

I tried the program on Emu71/DOS and got the same garbage.

After changing the line 5 to

5 ENDLINE "" @ DEGREES @ PRINT CHR$(27);"E";
the spook was over.

To get normal end line behavior just enter ENDLINE on the command line or add a line 40 with

40 ENDLINE

That's all. So finally I have to test the roll screen ESC'S and ESC'T commands on ILVideo.

Christoph

            
Re: Curious SINPLOT behavior on HP71B
Message #5 Posted by J-F Garnier on 12 July 2012, 3:12 p.m.,
in response to message #4 by Christoph Giesselink

The easiest way is to do PWIDTH INF.

Actually, I never liked the automatic CR/LF insertion related to WIDTH/PWIDTH. I always set WIDTH INF and PWIDTH INF.


[ Return to Index | Top of Index ]

Go back to the main exhibit hall