(HP71B) Speed experience with Video (EMU71 and Video80 screen)
|
10-24-2023, 12:21 PM
Post: #1
|
|||
|
|||
(HP71B) Speed experience with Video (EMU71 and Video80 screen)
I was making some words which execution is large on EMU71 (no complain; i expect it represent the reality).
DRAW-FRAME takes 1min37s in a standard speed EMU71 (with Video80 from C. GIESSELINK connected to it) : XDIM 50 ; : YDIM 20 ; : AT-XY 27 EMIT 37 EMIT SWAP EMIT EMIT ; : DRAW-FRAME 0 0 AT-XY XDIM 0 2DUP = IF 2DROP ELSE DO ." +" LOOP THEN YDIM 0 2DUP = IF 2DROP ELSE DO XDIM I AT-XY ." +" CR ." +" LOOP THEN XDIM 0 2DUP = IF 2DROP ELSE DO ." +" LOOP THEN CR ; Has anybody a video interface and a screen to see if its a similar speed? or worse? My impression is: HP71B is for outputting things on a screen; not for representing dynamic/changing pictures. HP71B 4TH/ASM/Multimod, HP41CV/X/Y & Nov64d, PILBOX, HP-IL 821.62A & 64A & 66A, Deb11 64b-PC & PI2 3 4 w/ ILPER, VIDEO80, V41 & EMU71, DM41X |
|||
10-24-2023, 12:34 PM
Post: #2
|
|||
|
|||
RE: (HP71B) Speed experience with Video (EMU71 and Video80 screen)
(10-24-2023 09:13 AM)floppy Wrote:1. However, since I experienced 2x memory lost, I saved the FORTHRAM on virtual drive with ( basic prompt ) COPY FORTHRAM TO :HDRIVE1 and hopefully that will workYou could also add another RAM module, make it an IRAM (with FREE PORT) and then copy your FORTHRAM file into it. An IRAM is not cleared when you get a "Memory Lost". (10-24-2023 09:13 AM)floppy Wrote:2. the interaction with the video80 in EMU71 is very slow. I suppose this represent the reality when a 80 column screen is connected to an HP71B. Correct?If you are using DISPLAY IS then DELAY 0,0 and a WIDTH of 80 would help. (10-24-2023 09:13 AM)floppy Wrote:DRAW-FRAME takes 1min37s in a standard speed EMU71Wrong strategy, use low level HP-IL commands to speed things up and use escape sequences to position the display cursor at the desired place on the external video display. HP-71B BASIC commands are easy to use but not necessary fast, if you want to speed things up, you need to understand how things are working underneath and drive them directly. Sylvain Côté |
|||
10-24-2023, 01:56 PM
(This post was last modified: 10-24-2023 01:57 PM by floppy.)
Post: #3
|
|||
|
|||
RE: (HP71B) Speed experience with Video (EMU71 and Video80 screen)
DELAY00 ( from FTHUTILF , equivalent to basic DELAY 0,0 ) reduced to 9s
80 WIDTH ! (additionally to above) reduced to 8s looks better. Thanks. (<1s would be good) I will see what to do more (HP-IL codes for Video already used): ASCII code instead of " +" or others. HP71B 4TH/ASM/Multimod, HP41CV/X/Y & Nov64d, PILBOX, HP-IL 821.62A & 64A & 66A, Deb11 64b-PC & PI2 3 4 w/ ILPER, VIDEO80, V41 & EMU71, DM41X |
|||
10-24-2023, 02:59 PM
Post: #4
|
|||
|
|||
RE: (HP71B) Speed experience with Video (EMU71 and Video80 screen)
IMHO, the best strategy for a clock block-style graphic output to an external display would be to:
Sylvain Côté |
|||
10-27-2023, 01:54 PM
(This post was last modified: 10-27-2023 04:06 PM by Sylvain Cote.)
Post: #5
|
|||
|
|||
RE: (HP71B) Speed experience with Video (EMU71 and Video80 screen)
Setup
Code: +--------------------------------------------------------------------------+ BASIC program: Code: 10 ! SHOW FRAMES Note: buffers size are not optimized edit: changed DSEND parameters order to have parameters uniformity between subs Sylvain Côté |
|||
10-29-2023, 07:37 PM
(This post was last modified: 10-30-2023 01:50 PM by Sylvain Cote.)
Post: #6
|
|||
|
|||
RE: (HP71B) Speed experience with Video (EMU71 and Video80 screen)
This is a clock program that I just wrote.
It update the date and time on the external screen when there is a change only. The limitation here is the HP-71B processor speed. When I am using Emu71 at the fastest cpu speed the external display is updated at each second, but I am using Emu71 at the original cpu speed the external display is updated between 2 to 5 seconds. Click on "View a Printable Version" at the bottom of the page to get a version without scrollbar. External screen example: Code: +------------------------------------------------------------------------------+ Clock on external display video: FASTEST SPEED vs ORIGINAL SPEED I have created the following font for the external display: Code: 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 Code: 123456 123456 The BASIC clock program: Code: 5 ! show time edit #1: videos moved to YouTube and links updated. edit #2: there is another small optimization possible , I will update the program later (updated) edit #3: the above program was a good starting point, but I now see more optimization that could give a better refresh rate at normal speed, maybe later, if I have time. Sylvain Sylvain Côté |
|||
10-30-2023, 12:48 PM
Post: #7
|
|||
|
|||
RE: (HP71B) Speed experience with Video (EMU71 and Video80 screen)
Nice. Now, never a reason for not starting EMU71 at PC boot.
We can see approx a 3-4s refresh under normal conditions which is imho enough (for a clock). HP71B 4TH/ASM/Multimod, HP41CV/X/Y & Nov64d, PILBOX, HP-IL 821.62A & 64A & 66A, Deb11 64b-PC & PI2 3 4 w/ ILPER, VIDEO80, V41 & EMU71, DM41X |
|||
10-31-2023, 06:02 PM
(This post was last modified: 12-28-2023 05:36 PM by floppy.)
Post: #8
|
|||
|
|||
RE: (HP71B) Speed experience with Video (EMU71 and Video80 screen)
Another graphic program: SNAKE in forth (last update 13 Dec 2023; tested on EMU71; speed improvement)
2023 12 28 bug: will be corrected the next weeks.. in case the new apple location appear on the body area of the snake, it will disappear from the screen. Rarely happening. However > 0.26% Upload: FTHUTILA and C TIME (ASM) H71B1 SNAKE keys: w or W up a or A left s or S down d or D right start in the forth prompt with.. D-D ( redirect to the screen ) SSNAKE H71B1 Code: ( under CC BY SA CreativeCommons floppy @ ) SNAKE Code: ( original from https://github.com/robertpfeiffer/forthsnake/.. ) HP71B 4TH/ASM/Multimod, HP41CV/X/Y & Nov64d, PILBOX, HP-IL 821.62A & 64A & 66A, Deb11 64b-PC & PI2 3 4 w/ ILPER, VIDEO80, V41 & EMU71, DM41X |
|||
11-03-2023, 06:45 PM
(This post was last modified: 11-08-2023 07:37 PM by Sylvain Cote.)
Post: #9
|
|||
|
|||
RE: (HP71B) Speed experience with Video (EMU71 and Video80 screen)
I have optimized my clock program, the refresh rate is now at 2 seconds when running at original speed and under 1 second when running at full speed.
My test setup was:
Code: Device IP-address TCP-in-port TCP-out-port Files:
Code: 5 ! digital clock v2 Click on "View a Printable Version" at the bottom of the page to get a version without scrollbar. Edit: TCP/IP configuration information added Sylvain Côté |
|||
11-08-2023, 05:27 PM
(This post was last modified: 11-08-2023 05:32 PM by floppy.)
Post: #10
|
|||
|
|||
RE: (HP71B) Speed experience with Video (EMU71 and Video80 screen)
How to upload the program with ILPER ?
Dont work.. Code: unix2dos -v video2.txt unix2dos: Datei video2.txt wird ins DOS-Format umgewandelt … Code: wine "/home/user/.wine/drive_c/Program Files (x86)/HP-Emulators/alifhdr32/alifhdr.exe" video2.txt VIDEO2.b71 /T Code: COPY :DOSLINK Code: CAT ALL FORTHRAM FORTH 22947 01/01/00 00:00 workfile BASIC 0 01/01/00 00:00 .. VIDEO2 TEXT 7936 11/08/23 18:19 (weird VIDEO2 not as basic recognized) Code: RUN VIDEO2 Any advice is welcome. And putting the VIDEO.DAT from the thread into :HDRIVE1 in ILPER then download it to EMU71 (COPY VIDEO2:HDRIVE1 TO CLOCK2 then RUN CLOCK2 ) had the same error. HP71B 4TH/ASM/Multimod, HP41CV/X/Y & Nov64d, PILBOX, HP-IL 821.62A & 64A & 66A, Deb11 64b-PC & PI2 3 4 w/ ILPER, VIDEO80, V41 & EMU71, DM41X |
|||
11-08-2023, 07:14 PM
Post: #11
|
|||
|
|||
RE: (HP71B) Speed experience with Video (EMU71 and Video80 screen)
VIDEO.DAT is a lif volume. Open it using one of the virtual drives in ILPer with a 71B (real or emu) connected, in my examples drive HDRIVE1
To see the contents: CAT :TAPE(2) (assuming using the 2nd drive of ILPer) To copy the first program: COPY VIDEO1:TAPE(2) to VIDEO1 To copy the 2nd program: COPY VIDEO2:TAPE(2) to VIDEO2 I've verified this works and verified the types of files are correct (BASIC) --Bob Prosperi |
|||
11-08-2023, 08:34 PM
Post: #12
|
|||
|
|||
RE: (HP71B) Speed experience with Video (EMU71 and Video80 screen)
ok. probably the recurrent issue I have with ILPER started under linux (with wine) and some file structure coming from other systems.
Will try later with PyIlper. HP71B 4TH/ASM/Multimod, HP41CV/X/Y & Nov64d, PILBOX, HP-IL 821.62A & 64A & 66A, Deb11 64b-PC & PI2 3 4 w/ ILPER, VIDEO80, V41 & EMU71, DM41X |
|||
11-09-2023, 03:55 AM
Post: #13
|
|||
|
|||
RE: (HP71B) Speed experience with Video (EMU71 and Video80 screen)
System setup:
Test setup #2
In both setup, I was able to copy the video2 program from tape to HP-71B memory and successfully execute the program. note: pyILPer does not implement the video interface, so ILVideo80 is mandatory in this example. Sylvain Côté |
|||
11-09-2023, 08:11 AM
(This post was last modified: 11-09-2023 08:22 AM by J-F Garnier.)
Post: #14
|
|||
|
|||
RE: (HP71B) Speed experience with Video (EMU71 and Video80 screen)
Sylvain's programs also load and run fine in Emu71/DOS w/ DOSBox !
Emu71/DOS 1.45 DOSBox 0.74-3 No particular setup, use the default DISPLAY and HDRIVEx devices in the ini file and set e.g. HDRIVE2 video.dat , load with COPY VIDEO2:HDRIVE2 , but take care to do DISPLAY IS * to avoid mixing the DISP and SEND outputs. Thanks Sylvain, for this great HP-71B/HP-IL demo ! J-F |
|||
11-09-2023, 10:22 AM
Post: #15
|
|||
|
|||
RE: (HP71B) Speed experience with Video (EMU71 and Video80 screen)
Whatever happens before. It works now better.
sequence: (on debian 64bits with all EMU71 ILPER Video80 started with wine) video.dat into ILPER field HP9114B (not HDRIVE1 like before). COPY VIDEO2:HP9114B .. transfered a basic (not TEXT anymore) program VIDEO2 into EMU71. DISPLAY IS DISPLAY under Basic prompt activated the screen video80. Result of RUN VIDEO2 can be seen in the attachment. It differ from the already distributed appearance. I will have to look at why (its out at PRINTER from ILPER but not readable, and VIDEO80 as line output, and on the EMU71 screen). HP71B 4TH/ASM/Multimod, HP41CV/X/Y & Nov64d, PILBOX, HP-IL 821.62A & 64A & 66A, Deb11 64b-PC & PI2 3 4 w/ ILPER, VIDEO80, V41 & EMU71, DM41X |
|||
11-09-2023, 12:55 PM
(This post was last modified: 11-09-2023 12:57 PM by Sylvain Cote.)
Post: #16
|
|||
|
|||
RE: (HP71B) Speed experience with Video (EMU71 and Video80 screen)
(11-09-2023 10:22 AM)floppy Wrote: DISPLAY IS DISPLAY under Basic prompt activated the screen video80. Not correct, use DISPLAY IS * before running the program. The external display interface does not need to be activated, the program send the strings to the external display interface directly with SEND. 904 SEND UNT UNL LISTEN A MTA DATA B$ UNT UNL (11-09-2023 10:22 AM)floppy Wrote: I will have to look at why (its out at PRINTER from ILPER but not readable, and VIDEO80 as line output, and on the EMU71 screen). The program assume that the 92198 video interface/simulator is at address 1, if not, reorganize your loop so it is. Alternatively, you can change the target address by modifying the A variable content. 10 OPTION BASE 0 @ DELAY 0,0 @ A=1 While we are at it, add the following line to the program. 15 DISPLAY IS * Sylvain Côté |
|||
11-09-2023, 03:36 PM
Post: #17
|
|||
|
|||
RE: (HP71B) Speed experience with Video (EMU71 and Video80 screen)
+1. Works.
NO change in the VIDEO2 program. Changed the TCP/IP on my PC from In Out EMU71 6001 6000 ILPER 6000 6002 Vid80 6002 6001 to In Out EMU71 6001 6000 ILPER 6002 6001 Vid80 6000 6002 and in the basic prompt: Code: DISPLAY IS * HP71B 4TH/ASM/Multimod, HP41CV/X/Y & Nov64d, PILBOX, HP-IL 821.62A & 64A & 66A, Deb11 64b-PC & PI2 3 4 w/ ILPER, VIDEO80, V41 & EMU71, DM41X |
|||
11-15-2023, 11:32 AM
Post: #18
|
|||
|
|||
RE: (HP71B) Speed experience with Video (EMU71 and Video80 screen)
(11-03-2023 06:45 PM)Sylvain Cote Wrote: 904 SEND UNT UNL LISTEN A MTA DATA B$ UNT UNL I see you use a buffering. Is the Video command buffer B$ sensitive to blanks in the middle ? I never had controlled an IL device with such method. However, I suppose it will accelerate the video rendering of the current Forth programms I made (clock and snake): looping continuously with the word EMIT is probably not the quickest method (HP-71 SoftDevHandbook chapter 15.7) HP71B 4TH/ASM/Multimod, HP41CV/X/Y & Nov64d, PILBOX, HP-IL 821.62A & 64A & 66A, Deb11 64b-PC & PI2 3 4 w/ ILPER, VIDEO80, V41 & EMU71, DM41X |
|||
11-15-2023, 03:06 PM
Post: #19
|
|||
|
|||
RE: (HP71B) Speed experience with Video (EMU71 and Video80 screen)
(11-15-2023 11:32 AM)floppy Wrote:(11-03-2023 06:45 PM)Sylvain Cote Wrote: 904 SEND UNT UNL LISTEN A MTA DATA B$ UNT UNLI never had controlled an IL device with such method. However, I suppose it will accelerate the video rendering of the current Forth programms I made (clock and snake): looping continuously with the word EMIT is probably not the quickest method (HP-71 SoftDevHandbook chapter 15.7) (11-15-2023 11:32 AM)floppy Wrote: I see you use a buffering.Unless specified otherwise, BASIC is passing variable by reference, so B$ is a reference to the string variable of the caller. (11-15-2023 11:32 AM)floppy Wrote: Is the Video command buffer B$ sensitive to blanks in the middle ?I do not understand that question, the video interface will interprete and/or output any string it receives. (11-15-2023 11:32 AM)floppy Wrote: However, I suppose it will accelerate the video rendering of the current Forth programms I made (clock and snake): looping continuously with the word EMIT is probably not the quickest method (HP-71 SoftDevHandbook chapter 15.7)The video interface is a remote display, so it is slow. The HP-71B is also slow and sometime slower that the external interface. To get the feastest speed possible, you need to do the following:
add these configuration lines Code: 15 DISPLAY IS * @ PRINTER IS :A @ PWIDTH INF Code: 193 PRINTER IS * and the SEND replacement Code: 904 PRINT B$; Example: the following example generate the same set of HP-IL messages SEND UNL LISTEN 1 MTA DATA "HELLO!" UNT UNL or PRINT "HELLO!"; (assuming: PRINTER IS :1 @ PWIDTH INF) Code: UNL (43F) unlisten Sylvain Côté |
|||
11-15-2023, 04:43 PM
Post: #20
|
|||
|
|||
RE: (HP71B) Speed experience with Video (EMU71 and Video80 screen)
(11-15-2023 03:06 PM)Sylvain Cote Wrote: Example: the following example generate the same set of HP-IL messages A third (and intermediate) way is to use the OUTPUT statement: OUTPUT :1 ;"HELLO!"; that should do the same thing. I don't know which method is the fastest, the SEND method may be slower due to the individual command decoding, but that may be marginal relative the the intrinsic slowness of the HP-IL devices. J-F |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 2 Guest(s)