11

TurboVision was a library by Borland for developing TUI's (Text User Interfaces). It was included with their C++ and Pascal compilers.

Were there any other TUI libraries that supported multiple compilers (Borland/Watcom), and maybe different OS'es (DOS, Windows, OS/2)?

The only thing I found was a library called VIDMGR (https://github.com/zoomosis/vidmgr), but this one is more low-level, and doesn't provide any real widgets I think.

  • 3
    I don't think it was ever used much on DOS/Windows/OS/2, but the curses C library is cross-platform, and also has ports to those OS's. – dirkt Apr 7 '19 at 6:52
  • 2
    Something to be aware of is that TurboVision itself did not support multiple compilers or platforms. There was a Pascal version written in Pascal and a separate C++ version written in C++. My recollection is that TurboVision is a productized version of the framework Borland used internally to develop the TP6 IDE. Which explains a bit about why TurboVision was as powerful and well done as it was. (Microsoft had a similar CUA library they bundled with BASIC 7.0, and it was not nearly in the same league.) – mschaef Apr 8 '19 at 14:19
  • @dirkt TV could handle full window management. Curses is just an enabler. – Thorbjørn Ravn Andersen Apr 8 '19 at 16:11
  • Also at that time there was no incentative to be compiler agnostic. People were happy just to have SOMETHING. Borland was cheap for what you got. – Thorbjørn Ravn Andersen Apr 29 at 12:00
  • Also TurboVision for C++ and for Pascal to my understanding was two separate implementations, not the same library being linked in. – Thorbjørn Ravn Andersen May 2 at 23:14
14

This is not exactly a retro answer:

The modern FreePascal compiler which is available for a lot of platforms (some even considered retro, like Amiga and PalmOS) comes with a library called FreeVision, which is mostly API compatible to Turbo Vision and can be used to port old TurboVision applications to platforms different from pure DOS/IBM PC.

The OpenWatcom compiler includes a TUI library it uses for it's own IDE and debugger.

ncurses for Unix-like OSs can be considered a TUI library as well, it supports forms, windows and menus

| improve this answer | |
  • "whelp cpplib" doesn't show me any classes related to TUI. Any idea what the header files were for this library? – Jeroen Jacobs Apr 6 '19 at 23:47
  • Note that, as far as I can tell, "mostly API compatible" means that they haven't reimplemented TColorDialog (mentioned on the wiki) or TTerminal and TTextDevice (something I discovered by experimentation)... and possibly other things I didn't try. Their approach to API documentation is so non-automatic that, for FreeVision, the official documentation is "go on AbeBooks and buy a copy of the Borland Turbo Vision reference or do something else similar". – ssokolow May 2 at 21:20
8

In the early nineties, magazines carried adverts for a number of TUI libraries, many of them supporting multiple compilers and/or platforms. Examples include Vermont Views, any of the libraries in the “C Screens” section of the Programmer’s Paradise catalog, etc. However none of these captured a large market share, as far as I’m aware, with the possible exception of Turbo Power’s library and C-scape (which supports text and graphics, and is cross-platform).

There were some cross-platform TUIs provided by programming environments which were cross-platform and widely used, at least for bespoke software used in professional settings: the various form generation tools used by databases such as Fox Pro, dBase... Some of these were also available as TUIs or GUIs depending on the platform (e.g. Fox Pro for DOS and Macintosh).

While it doesn’t qualify as either multi-compiler or cross-platform, Visual Basic for DOS included a distinctive TUI library which was briefly popular.

| improve this answer | |
  • What popular applications were written in VB for Dos? – dashnick Apr 7 '19 at 3:26
  • I’m not sure there were any popular commercial applications written in VB for DOS, but I remember seeing a few shareware programs and a number of bespoke applications. – Stephen Kitt Apr 7 '19 at 19:18
  • The old MS-DOS FoxPro also had SCO UNIX, Linux and FreeBSD versions at the time so you could conceivably take a project created in one and build it on another, – Alan B Apr 30 at 8:19
6

There is the famous curses library, originally written for Unix, and its offsprings - most notable in this context PDCurses, available for MS-DOS, MS Windows, OS/2, Unix (X11 and SDL), and on MS-DOS supporting at least Turbo C and Microsoft C.

| improve this answer | |
  • Thanks. I did not know a Curses library was available for DOS/Win/OS2. I'll take a look at this. – Jeroen Jacobs Apr 7 '19 at 8:01
4

There was also the TesSeRact Screen Designer that I used in the 90s on some projects. https://www.pcorner.com/list/C/TDT-1.ZIP/INFO/

| improve this answer | |
3

Depending on the intent of the question, the requested TUI library that works on different platforms and compilers, and is similar to Turbo Vision might be Turbo Vision itself, or more specific, a port of Turbo Vision.

It seems Borland put the C++ sources of Turbo Vision into the public domain in one of the developments caused by this is a port that runs on may platforms and should work with GCC, MSVC, Watcom and Borland (porting efforts licensed under GPL), or an older port used as base for the GPL port, aimed at FreeBSD (porting efforts licensed under 2-clause BSD ("the FreeBSD license")).

| improve this answer | |
  • 2
    How do those relate to this GPL version and this BSD version? – ssokolow May 2 at 21:25
  • 1
    The GPL version I linked is based on the GPL version you linked. The BSD version you linked is the official home page of the BSD version I linked. Thanks for the pointer, I changed the link in my answer to the official site. – Michael Karcher May 2 at 21:51
1

I can't find any retrolinks for it, but my Googlefu isn't always all that strong. I do, however, remember using a cross-platform library called C-Worthy; the company I was working for at the time was doing development on both MS-DOS and CTOS, and we'd ported C-Worthy to CTOS so that we could write once, compile on both platforms, and release the company product on both platforms simultaneously.

| improve this answer | |
0

Greenleaf used to have a fantastic C, then later C++ based suite of libraries. Many of them were cross platform. Greenleaf Database worked with many different XBase file formats. DataWindows came out long before Microsoft Windows, but the evil empire managed to get a Windows trademark and sent weekly threatening letters to the small company in Texas. (I think they were in Texas.)

http://www.edm2.com/index.php/Greenleaf_Data_Windows

From here: https://www.drdobbs.com/new-products/184402584

Greenleaf Software, Inc. began shipping Greenleaf DataWindows v3.0, bundled with the screen designer, Greenleaf Make-Form. Single-user licenses for Greenleaf DataWindows for DOS, UNIX, or 386, are available for $549, and include source code and MakeForm. DataWindows v3.0 adds translucent shadows, device independence for many video modes (including VESA support) and mouse use in data entry and menus. The 386 version adds support for Rational Systems' 386 DOS/4G and the DOS version adds support for Phar Lap's 286 DOS extender. Dialog boxes now have controls including push buttons, check boxes, and radio buttons. New data types, mouse support and more flexible entry and exit points support data entry design. MakeForm allows programmers to "paint" a form and define its attributes in a WYSIWYG fashion.

I used to own this. Threw it out a few years ago during an office cleaning binge. Kind of wish I had it now.

| improve this answer | |
  • Pedantically, the link you provide says that Data Windows "had originally been released in 1987". Microsoft Windows was first demonstrated in public in 1983 and first released in 1985. – Tommy Apr 30 at 1:57
  • I was using it long before Windows came out. That said, I had many of their libraries and was on whatever they called their "developer network" so could have had Alpha-Beta releases initially. – user3450148 Apr 30 at 18:06
  • 1
    @user3450148 - I can't see any references to it online prior to '87, and given that most of the well known computing magazines and journals from the early 80s have been thoroughly scanned and archived, this seems reasonably conclusive that it just didn't exist earlier than that. Perhaps you were just unaware of Windows until it became more popular (mostly triggered by the wider availability of 286 and 386 machines around 88-89)? – occipita Apr 30 at 21:56
  • No. I was programming well before that. The first PC I owned was an NCR PC-4. It would not surprise me if you didn't find any references to it prior to when you say. Greenleaf put early beta versions in the field to prior customers for testing. Unlike today's hack on the fly AGILE development, these things could be in beta for several years. We were pulling them down off a BBS from them. – user3450148 May 1 at 22:05
  • No. I was programming well before that. The first PC I owned was an NCR PC-4. It would not surprise me if you didn't find any references to it prior to when you say. Greenleaf put early beta versions in the field to prior customers for testing. Unlike today's hack on the fly AGILE development, these things could be in beta for several years. We were pulling them down off a BBS from them. I bought an (AST 286 premium) [astmachines.com/] when they first came out. Nobody actually bought Windows until 3.1. MS didn't get Monopoly on name until Janet Reno in 98 – user3450148 May 1 at 22:13
0

There are three such libraries reviewed in this 1987 edition of BYTE magazine., namely C-Worthy, Windows For Data and Vitamin C.

| improve this answer | |
  • Oh, now I recall that I saw an ad for Vitamin C even in a Soviet (I think it was still Soviet in the first half of 1991) magazine named Computer Press – DmytroL May 5 at 7:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.