Hi folks,First posting. BASIC user since TRS-80 Model 1 and CP/M MBASIC, but nowadays primarily C/C#/C++ .I love the idea and execution of FreeBASIC - having written (many) millions of lines of BASIC code in the past it's like "coming home" somehow. :-)

I do audio and RF DSP design work, and FreeBASIC looks like simple-but-fast way to plot inputs to and outputs from algorithms I'm working on. That leads me to my question:

Is there a way to create and draw to a persistent bitmap, then create and draw to a non-persistent bitmap that overlays it? The idea is to be able to place a reticule and markers "behind" the data to be plotted. Another way to express it would be overlaying a bitmap with a 32-bit bitmap that has an alpha channel - let's say "0" is the transparent color.

I know I could draw the reticule and then plot the data in the same bitmap, but since this will be happening at hopefully a flicker-free refresh rate, I'd rather not use the cycles required to re-draw or copy the persistent bitmap every time.

After expressing it, I'm thinking that it sounds unlikely, but I'm going to ask anyway. Thanks!

Firstly welcome to the forum.Don't know if this may give you some ideas, but....

Many years ago I built a machine that weighed diamonds as they slid down a tube.The background screen was black with a graticule dividing the X,Y axis.The weight signal was plotted onto the screen as individual white pixels.By selecting an area of the trace that was reasonably stable (read flat) I could get the weight within a few milligrams.

By remembering which pixels were changed, I could very quickly return these pixels back to blackand start a new trace. The only coordinates I had to remember was the Y, as the X was incremented in mSec.

Additionally I also allowed the colour to increment, which put one trace over the other if I wanted to see a trend, but then itbecame harder to remember the pixels and I had to redraw the screen.

This was done in QuickBasic and Assembly, although the pixel routines were QuickBasic.

I did some tinkering yesterday, and using Paint to clear the plot area between plots I was able to draw 1020 lines of up to 400 pixels height for a histogram. (1020x400 plot area) With 100ms Sleep between each plotting loop, the CPU usage actually stayed at 0% on the test machine. (i7 6700K @ 4 gHz) I was impressed. :-)

I found a ARM6 version of FreeBASIC on the net somewhere that so far seems to work with a Raspberry PI 3+, and the same program runs around 30% of the CPU as reported by "top" . I was impressed again - a RPI would make a very inexpensive display system for all kinds of projects.

Since FreeBASIC can load Win32 DLL's and Linux .so libs, it looks like I've found my new best friend. Now if I can find or build a socket library, (I haven't looked yet) I could build apps to connect to acquisition servers and stream/plot data over TCP. (I do that now with C# programs that call C libraries, but it's a pain to do realtime plotting in .NET . It can be done but, well it's a pain...)