analog_programmer wrote on 2025-02-16, 22:50:
Thank you very much for all the info and your suggestions, doshea! They may be useful to others too.
No worries, I hope this information helps someone to be much more successful at completing a project than I am 😁
What I miss most about this ancient Тurbo С++ 3 IDE is the quick shortcuts for switching between files in projects on mouse click
I thought that Turbo C++'s project window would do this, but I see that it will always open a new editor window, even if you have one open for the file already 🙁 I guess that back in the day I was used to hitting F6 to cycle through windows and Alt-0 to get a list of windows and was never really bothered by this. Once you're used to some way of working, though, you certainly hope to get every other editor to work that way, hence my trying to turn everything into Emacs 😁
the quick hints when hovering over keywords
Yeah, I think that is definitely a more modern feature!
Perhaps this can be achieved in DOS via some alternate drivers or add-on TSRs, although presumably they'd just turn mouse wheel actions into up and down arrow key presses, so it wouldn't be exactly the same.
Manually starting a new COMMAND.COM DOS-shell every time, so I can execute the freshly compiled and linked code, thus not allowing the run-command-window to auto-close itself after the DOS app stops, is also very anti-productive.
What about the Run menu - Ctrl-F9, etc. - and the Output window?
At least Turbo C++ 3 IDE has right-click on a keyword as a quick reference to so-called "online help" (of course it's OFFline), but the navigation there (in this "online help") is terrible.
Ahh yes, the navigation isn't very nice 🙁 It's more "online" than having to refer to a printed manual though, which I think you'd still need to do for some information like compiler options or information about memory models, and which was the only option available for some older compilers 😁
In case you're interested and not aware, here are some ways you can get access to relevant help outside the IDE:
- Turbo C++ 3 comes with a THELP.COM TSR you can run to get access to that help within any DOS program
- I'm pretty sure that there were third-party tools to decompile those help files. I can't remember what you could convert the decompiled source into other than recompiling it, but perhaps someone eventually made a way to turn it into something readable via some other software. If not perhaps I'll do it one day!
- Borland C++ 4.5 - which obviously has an expanded library and more compiler options - has standard Windows help files which can be decompiled to RTF, and also has the full manuals available in DynaText format, which I am able to convert into HTML using some work-in-progress tools. I hope one day to be able to generate that HTML in such a way that it works with a modern documentation browser like Zeal.
The closest thing to this primitive Turbo C++ IDE I also use is Code::Blocks IDE and still it's light years ahead of ancient Borland's DOS IDE 😀 Actually I like it for it's simplicity, but there's no way (or I don't know how) to set a cross-compiler for 16-bit DOS apps under Linux in it (I have settings for 32-bit Windows apps cross-compiling).
If you can tell it to run any command you want to do the compile - which I assume you can - then you should be able to tell it your compile command is something like:
dosbox -conf ~/Turbo_CPP_301/dosbox.conf -c "mount d $SOURCE_DIR$" -c c:\\tc\\bin\\make -c pause -c exit
assuming it has some way to specify a template where it will substitute in $SOURCE_DIR$, or if it will always run it with the current working directory set to the source directory, there would be some way to deal with that too. In this case ~/Turbo_CPP_301/dosbox.conf must have a "mount c ~/Turbo_CPP_301/drive_c" in its [autoexec] section or something.
There might be nicer options than using DOSBox for this, e.g. DOSemu and QEMU have ways to get console output to be written to standard output. Another option is having DOSBox run by a script which 'cat's some log file as I mentioned before.
This "RHIDE" name is somehow familiar to me, but I can't remember on what occasion I've met it. I found this link to SF, but don't know if this is exactly the same tool you've written for. And how to use DJGPP in Linux...?
Also found a SF link for SET's Editor, which is totally unknown to me.
I was just suggesting the DOS versions of those as probably a bit more advanced than the Turbo C++ IDE, so running those things under DOSBox or something. I think there could be a DJGPP cross-compiler for Linux, but that's definitely not what you want if you want to use the Turbo C++ compiler.
I don't remember the URLs I used to use for these, but https://setedit.sourceforge.net/ looks like an authentically old site, and spends time talking about the relationship to RHIDE, which I certainly remember reading about on the site previously. Sorry, I guess I got the name wrong - just SETEdit, not SET's Editor. That page says RHIDE adds "make facilities and interface to the debugger (gdb integrated inside)", so you probably want RHIDE, but it also says SETEdit has some extra features you could compile into RHIDE with some effort. It seems like RHIDE's site is down but you can view it here: https://web.archive.org/web/20220328223638/ht … /www.rhide.com/ Some RHIDE packages are available for download from the official DJGPP site: https://www.delorie.com/pub/djgpp/current/v2apps/