David,
Were you using a Gimix Video Board per chance?
I worked for Gimix in 1980/1981.
There was a very good screen based editor called the Programma Improved
Editor (Pie) written by John F. Wakerly that made excellent use of the
Gimix Video Board. There was also a version for serial terminals.
One nice thing about the VT-100 is that you can scroll a region without
affecting other regions on the display. A well written driver that
takes this into account can be fairly fast even at 9600 board.
My goal here is to improve the application and not to write an entire
VT-100 windowing package.
The Txwindows package is more than I need but I am going to take the
linux version of it and see if I can get it working via a serial port on
a Raspberry Pi. I will convert all of the printf() and fwrite() calls
to my output routine.
Since the code was designed to run on Windows/Linux/OS2 it also has a
bunch of sprintf() calls. In general I avoid printf()/scanf() like the
plague because they are big and slow and I have found that i rarely need
that level of sophisticated output formatting in an embedded system.
I have written a set of functions (input and output) that fulfill most
of my text formatting needs. I will put it up on git one of these days.
Thank you,
Mike
On 12/11/2024 4:16 AM, David Wade via cctalk wrote:
On 10/12/2024 07:13, Tom Hunter via cctalk wrote:
If this were my project, I would read the VT100
manual and design and
implement a serial driver and basic text window library from scratch
running on the bare hardware. It wouldn't be more than 1000 lines of C,
more likely something like 500 lines. I am a retired embedded
software engineer and did these things for a living. I would budget 2
to 3
days including reading the manual.
Tom
I was wondering why no one else suggested this. I did something
similar for the memory mapped displays on my 6809 way back when....
.. as for doing it on a VT it might not be as simple as it sounds. If
you are going to allow side-by-side windows you will need to keep a
copy of the window text in memory and re-write each window every time
you want to scroll the windows.
Dave
On Tue, 10 Dec 2024, 1:27 pm Henry Bent via
cctalk,
<cctalk(a)classiccmp.org>
wrote:
> If this were my project, I would start by getting newlib going and then
> seeing if I could use that to run an older (presumably more simple,
> with
> fewer requirements) version of screen.
>
> -Henry
>
> On Mon, Dec 9, 2024, 22:04 Mike Katz <bitwiz(a)12bitsbest.com> wrote:
>
>> Overlapping would be amazing, different screen quadrants at a
>> minimum. I
>> am going to try to port Txwindows as that is the only package I could
> find
>> On Dec 9, 2024 8:40 PM, Henry Bent <henry.r.bent(a)gmail.com> wrote:
>>
>> On Thu, 5 Dec 2024 at 20:26, Mike Katz via cctalk
>> <cctalk(a)classiccmp.org
>>
>> wrote:
>>
>> Thank you.
>>
>> Screen is a linux utility. I am writing this on a bare metal (no
>> operating system) ESP32 dev board.
>>
>> Right now the program is text menu driven. I would like to enhance it
>> with textual windows.
>>
>> The Txwindows package is perfect but over kill and will need some
>> hacking to work in my environment and it doesn't support the VT-100's
>> region scrolling so screen updates might be slow.
>>
>>
>> What might be helpful is if you could be more specific about what
>> it is
>> you're trying to achieve. Do you want arbitrarily sized, overlapping
>> windows or do you just want the screen divided up into discrete
>> segments?
>>
>> -Henry
>>
>>
>>