I have been experimenting with the graphical capabilities of the HP Prime in its BASIC language. I thought of this idea when I had a HP Prime G1 and it just didn't work, but the HP Prime G2 allows it to work.

It uses any spare (G1-G9) graphic screen GROB as a buffer of a Large (png) file, and then accesses it as it has to.

You can get short bursts of video playback, or longer scrolls of a wide image! (The SMB Level one is 3900px wide and the DOOM level is 30000px wide).




Here is a program to have a go at playing back a video on the HP Prime G2 for yourself:


Code:

EXPORT dvidW()
BEGIN
DIMGROB_P(G4,30000,240);
    LOCAL H,EXIT;
  H:=0;
  G4:=AFiles("WeeZ.png");
REPEAT
  BLIT_P(G0,0,0,320,240,G4,0+H,0,320+H,240);
 H:=H+320;
 IF H>29670 THEN H:=0;END;
 WAIT(0.04);
 IF ISKEYDOWN(4) THEN EXIT:=1; END;
UNTIL EXIT=1 ;
END;


And here is a formatted file that will allow a video to play: https://bit.ly/3Dbg7Uj - This file must be put into the Application Library 'Files' for the particular application you are running, otherwise it will give an error "Invalid Input". Only works on HP Prime G2.

At 25 FPS playback, it works out to be 3.72 seconds, displaying 93 frames. Remember it is running in HP PPL!

The video has to be short, but I didn't see any other video players for the HP Prime yet, did I miss any?
This is very impressive! I'm stunned how smooth it looks! I'm not sure if you want more fps , but if you write this same program in Python it might have even batter results since there's no speed limitation to Python programs.

I'm not aware of any other video playback programs so yours might be the first. Good job!
I am especially amazed by the video playback. To work on G1 hardware you would need to split all frames into separate images and load them one by one. I did try parralax mapping before and got good results but it was only 960x240 or something like that.
By the way, what did you use to convert the video file into individual images or a sequence of images?

Something I noticed when experimenting with converted videos is that past a certain ICON width I get a syntax error while I could use 65500 pixels of height. The max resolution I got is 80x60 at 4-ish FPS (I had to use a WAIT command to slow it down to 4 FPS, else it played too fast). 10.9 MB of video data that obviously won't fly well with a G1 revision model.

EDIT:

DJ Omnimaga wrote:

10.9 MB of video data that obviously won't fly well with a G1 revision model.


Your program can be reduced to less than 3 MB when you use "Resource" command instead of "ICON"; in the case of static graphics it works very well.

Piotr
DJ Omnimaga wrote:
By the way, what did you use to convert the video file into individual images or a sequence of images?


I actually just used Photoshop.
I've played around with graphical programming before, but never on a calculator like that. It's impressive that you can get video playback, even in short bursts or as scrolling images. I remember trying to push the limits of devices to see what kind of media they could handle, which was always a fun challenge.

When it comes to handling large image files or creating video content, I've often had to merge video segments or integrate images smoothly. Movavi has been a handy tool for me in these situations, allowing for easy merging and editing to create seamless video content. It's great for putting together different pieces without losing quality or coherence.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement