Installing TurboC++ on FreeDOS

Поділитися
Вставка
  • Опубліковано 26 сер 2023
  • Someone asked me online if it's possible to install other DOS applications without using FDIMPLES - like, can you install Borland TurboC. And the answer is yes, of course you can! FreeDOS is just DOS, so you can install any DOS application the usual DOS way.
    Visit our website
    www.freedos.org/
    Join us on Facebook
    / freedosproject
    Follow us on Mastodon
    fosstodon.org/@freedosproject
    Consider supporting me on Patreon
    / freedos
    And don't forget to Like and Subscribe!
    Standard comment rules apply.
  • Наука та технологія

КОМЕНТАРІ • 62

  • @TheSulross
    @TheSulross 5 місяців тому +2

    Borland Turbo C and C++ products had a cool trick where when compiling a translation unit it would generate an object file where it created records in the object file for each source file dependency involved in generating the object file. Then, when doing a make build, it scanned those records in the object file to check if any dependency file had a newer timestamp than the object file, and if so the a recompile would be done to update the obje

  • @ahmad-murery
    @ahmad-murery 9 місяців тому +8

    Look at that blue screen of life!
    I wish we could go back in time to that era.
    Looking forward for more great videos.
    Thanks Jim!

    • @OpenGL4ever
      @OpenGL4ever 9 місяців тому +2

      Why? You can have a blue background in modern editors too. And modern operating systems are preemptive multitasking capable. For example, you can simultaneously view a PDF file of a programming book while you have started an IDE. That is not possible in DOS.

    • @ahmad-murery
      @ahmad-murery 9 місяців тому +3

      ​@@OpenGL4ever Let's say I partially lived in a period of time when having this kind of screen was something I dreamed of but couldn't afford it, so it's a nostalgia stick with me from the happy days where things were simple enough for me to digest.

    • @OpenGL4ever
      @OpenGL4ever 9 місяців тому +3

      @@ahmad-murery Well you can still go back in time by just using an old computer with DOS.

    • @ahmad-murery
      @ahmad-murery 9 місяців тому +3

      @@OpenGL4ever Indeed but can't get that joy back again, everything was different.
      The feeling when I wrote my first program was indescribable.
      anyway, that doesn't mean that I'm not using a modern IDE today 😎

    • @freedosproject
      @freedosproject  9 місяців тому +3

      @@ahmad-murery I'm glad you like it! I also like that soothing gray-on-blue too. I created a custom theme for my GNOME editor that used white-on-blue (I used the same basic color theme I use in FED .. I just toned down the colors a little bit because #aaa on #00a is a bit much for a modern IDE with modern fonts). 🤓

  • @kamertonaudiophileplayer847
    @kamertonaudiophileplayer847 9 місяців тому +3

    Hooray, I can go back to my favorite language now.

  • @wcarlin
    @wcarlin 9 місяців тому +6

    The TC editor slow down must be an emulation related issue. It certainly wasn't slow on the Compaq SLT-286. For the time, this was a fantastic IDE and debugger/monitor. One of the cool features was the linker supported an overlay structure that allowed you to create DOS applications that exceeded 640k.

    • @freedosproject
      @freedosproject  9 місяців тому +2

      I think it's a VM issue too. QEMU has been good for most things, but sometimes I hit an issue where QEMU causes a problem. I think this is one of those times. (I should re-install VirtualBox and test there. ☺)

    • @dschoene57
      @dschoene57 9 місяців тому +1

      @@freedosproject I think it is both. FDIMPLES for instance is ridiculously sluggish on my old laptop and in PCEM, but works fine in Virtualbox, while TC++ seems to play up in virtualbox while running perfectly fine on my old laptop or even a 25Mhz 386 mule in PCEM.

    • @freedosproject
      @freedosproject  5 місяців тому +1

      Rugxulo reminded me later that the problem is something to do with FDAPM. Comment out FDAPM from your FDAUTO.BAT, then you can boot as usual. TurboC++ IDE will run fine after that. Or just boot with Emergency Mode from the boot menu, which disables FDAUTO.BAT processing anyway, so FDAPM doesn't get loaded.

  • @judgegroovyman
    @judgegroovyman 9 місяців тому +2

    I did this last year with "Borland C++ & Application Frameworks 3.1" and was able to write some simple games that (iirc) used specific calls to the bios to put pixels on the screen. I think it used some inline assembly features or something. The way you installed it though was much easier. Great video thank you!

    • @freedosproject
      @freedosproject  9 місяців тому +2

      Thanks! I'm glad you liked it! ☺

  • @chastitywhiterose
    @chastitywhiterose 7 місяців тому +1

    This could be helpful to me in the future. Commenting to remind myself to come back.

  • @Australian_Made
    @Australian_Made 9 місяців тому +1

    Back in the day ( 1986 )
    I used Norton Editor ( NE )
    👍👍👍👍👍

  • @denniseldridge2936
    @denniseldridge2936 9 місяців тому +1

    Ha! I learned C from Borland's TurboC and loved it. Lately I've played with Turbo C++, but I've not had an issue with the editor being slow. I'll have to look at my DOS86 box and check though.

    • @freedosproject
      @freedosproject  9 місяців тому +1

      I'm pretty sure the slowdown is a QEMU issue. Since you're using a different VM, that's probably why it's fast for you. (I need to reinstall VirtualBox and try it there.)

  • @nmosfet5797
    @nmosfet5797 9 місяців тому +2

    You missed the reason to actually USE TC: the amazingly useful debugger with single stepping, tracing variable values, register values etc. That's what's missing in most flows today: a simple fast integrated debugger that really integrated to the build environment. Could you show a demo of that?

    • @anon_y_mousse
      @anon_y_mousse 9 місяців тому

      I'm assuming you mean for free since Visual Studio does have an integrated debugger, and for such a price as free I don't know of an environment that has one integrated, unless maybe KDevelop has one, but I've never bothered to check. However, have you ever tried using gdb? It takes getting used to, but it works.

    • @freedosproject
      @freedosproject  9 місяців тому +2

      I think when I install VirtualBox and TC actually runs well, that will be the time to show the debugger. ☺

  • @maartenofbelgium
    @maartenofbelgium 9 місяців тому +3

    Can you swap diskettes with swsubst, while the installer is still running?

    • @freedosproject
      @freedosproject  9 місяців тому +7

      That would require dropping back to the DOS command line to run SWSUBST again - that would exit the installer.
      If you have multiple diskettes to install from, try copying *all* of their contents to one directory (like C:\TEMP\FLOPPY). Many installers just check for a "flag" file to indicate which install floppy this is - like INSTALL.1 and INSTALL.2 for a 2-disk installer. For those cases, copying everything to one directory will work. Might still need to use SWSUBST to "map" the A: drive to C:\TEMP\FLOPPY.

  • @peterveenendaal1864
    @peterveenendaal1864 9 місяців тому +1

    Nice video, question which compiler you like better: tcc, watcom or gcc ?

    • @OpenGL4ever
      @OpenGL4ever 9 місяців тому +1

      The C standard has evolved. TCC and Watcom do not support the new C standards.
      Turbo C supports C89/90 at best, but we already had C99, C11 and C18. The number stands for the year.
      C89 = 1989
      C90 = 1990
      C99 = 1999
      C11 = 2011
      C18 = 2018
      Watcom might support C99, but i am not sure about that. But it is a very fast compiler that creates fast binaries and well suited for DOS.
      GCC is definitely the newest C compiler in that list. But the version that is available for DOS or shipped with FreeDOS is GCC version 4.7.1a. This version was released on June 14, 2012. So it's 9 years old. You will not get C18 support with this. C99 and C11 support is incomplete in GCC version 4.7.1 according to the manual of version 4.7.1. But you can at least use C++ style comments and declare variables inside a for loop statement, for example. Both is not allowed in C90 and earlier.

    • @OpenGL4ever
      @OpenGL4ever 9 місяців тому +1

      BTW gcc version 4.9.0 is according to the manual the first with substantially complete C99 support.

    • @freedosproject
      @freedosproject  9 місяців тому +1

      I usually use OpenWatcom - but I also like IA-16 GCC. So I guess those. 👍

  • @TheRealRedRooster
    @TheRealRedRooster 9 місяців тому +2

    The slowness in the IDE is definitely an issue with your virtual machine, I think you are using QEMU still, right?

    • @OpenGL4ever
      @OpenGL4ever 9 місяців тому +2

      I agree. I experienced this problem with other GUI tools inside QEMU too. It should work better with Bochs.

    • @freedosproject
      @freedosproject  9 місяців тому +2

      Yes, this was running on QEMU. I find QEMU works great for most things - but sometimes I find a "corner case" where QEMU doesn't emulate something right. That's why I usually have two VMs on my computer: QEMU and VirtualBox … QEMU is better at emulating some things than VirtualBox, and VirtualBox is better at some things than QEMU. I haven't found a VM that's 100% great at everything, unfortunately.
      And yes, I also suspect the slowness was a QEMU issue. I should re-install VirtualBox on my system and try it there.

  • @KJ7JHN
    @KJ7JHN 3 місяці тому

    do you recommend us use the Borland compiler over the Fed?

    • @freedosproject
      @freedosproject  3 місяці тому

      It's a matter of preference. I happen to like FED because it suits my needs and preferences for coding in DOS. It's an editor that I can configure and make it do what I need to do without too much work. When I compile projects, I prefer to do that on the command line so I can use TurboC's compiler, or the OpenWatcom compiler, or the IA16 GCC compiler .. or whatever compiler I want to use.

  • @tigerstein
    @tigerstein 9 місяців тому +2

    You don't need to use SWSUBST, just specify D as the source drive, then it will ask for the source path like \TEMP\TC

    • @henrikholst7490
      @henrikholst7490 9 місяців тому

      Great insight. I was thrown off by the A there.

    • @freedosproject
      @freedosproject  9 місяців тому +3

      I may have also wanted to show SWSUBST because I sometimes get questions about "I can only install from A: but my VM doesn't have an A: drive." 😉
      But to be honest, I also didn't check typing in any other drive letter on that one. ☺

    • @kneekoo
      @kneekoo 9 місяців тому +3

      SUBST (in MS-DOS) was a great command that most people never used. This is one of those cases where the installer can handle changing the drive and path, but some installers are weird and expect a certain drive and won't let you change the path. And most people would have no idea how easy it is to solve with SUBST, so it's great to remind/show people that you can do this. :)

    • @nakfan
      @nakfan 27 днів тому

      Exactly…

  • @JamieBainbridge
    @JamieBainbridge 9 місяців тому +1

    I usually use Vim with DJGPP, no different to proper coding for work.

  • @ronbarhash
    @ronbarhash 5 місяців тому

    Привіт, чудові відео. Я зробив копі-паст в окрему папку, та згодом спробую ваш спосіб. Я поки недуже розумію які параметри "потрібні" ОС, але знайшов спосіб, щоб не тормозила IDE "TC++", потрібно завантажити в (Emergency Mode - №"4") редактор тоді не лагає. Буду й далі вивчати мови й цю систему :) Дякую.

    • @freedosproject
      @freedosproject  5 місяців тому

      Yes, "Emergency mode - 4" from the boot menu will definitely avoid the issue. Rugxulo reminded me later that the problem is FDAPM. If you comment out FDAPM from your FDAUTO.BAT, then you can boot as usual and run the TurboC++ IDE without issues.

  • @plato4ek
    @plato4ek 9 місяців тому +1

    Where can one grab a free copy of that TurboC++?

    • @freedosproject
      @freedosproject  9 місяців тому +3

      I didn't link to it because Borland took down the Museum website some years back. We link to a Wayback archive copy on our "Links" page. www.freedos.org/links/

    • @joe--cool
      @joe--cool 9 місяців тому

      I think only the very early v1.01 and Turbo Explorer were ever released as freeware. Everything else I would want to tell you is aggressively filtered.

  • @siavoshkasravi398
    @siavoshkasravi398 8 місяців тому

    No onw wanna speak about the Game program?

    • @freedosproject
      @freedosproject  8 місяців тому

      Maybe I should have showed that one. It simulates a baseball⚾ game, but only shows the scoreboard. It's basically an example of using randomize() and random() to generate random numbers. Here's a sample run of GAME.EXE:
      D:\TC\EXAMPLES>game
      Inning 1 2 3 4 5 6 7 8 9 Total
      Dodgers 2 2 1 1 1 1 1 1 1 11
      Giants 0 1 1 0 2 1 1 1 0 7

  • @errollleggo447
    @errollleggo447 9 місяців тому

    Haven't used TC in many many years.

    • @freedosproject
      @freedosproject  9 місяців тому +2

      My first C compiler on DOS was Microsoft QuickC, which did a good job. Later, I moved to Borland C. I don't recall ever using TurboC back in the day, but I might have. Not long after we started FreeDOS, we found free C compilers to use (although not all were very modern versions of C, so you had to be careful about coding style). These days, I like to use OpenWatcom C and IA-16 GCC on FreeDOS.

    • @errollleggo447
      @errollleggo447 9 місяців тому

      It is what we used to use in College back in the day.@@freedosproject

    • @errollleggo447
      @errollleggo447 9 місяців тому

      I have used GCC a bit for my own use later on in life. @@freedosproject

  • @grzechugrek3147
    @grzechugrek3147 3 місяці тому

    I'm think that Open Watcom C++ is much better than TurboC++ for DOS programming. Even is much better than Borland C++ 5.5 for Windows programming(especially for Win 3.11 and 9x). This is because:
    - OW is more up-to date than TC/BC++
    - Is more free and open source
    - Has more complete tools.
    - OW lets to compile C/C++ code with assembler inserts(asm/_asm keywords), while TCC and BCC don't let if you don'h have a Turbo Assembler (TASM/TASM32) in bin catalog. And TASM/TASM32 isn't free and don't contain in free version of TCC/BCC.
    - Open Watcom Assembler is contain in OW pack and is much better than Turbo Assembler when come to Masm like assembler. At least does support MMX.
    - Open Watcom Debugger is better than Turbo Debugger.
    IMHO isn't much sense to have and use TCC/BCC since now Open Watcom C/C++ is present. TCC is just a relic and a curiosity and should be treated.

    • @freedosproject
      @freedosproject  3 місяці тому

      I like OW too. I also like the IA16 GCC, especially with the libi86 library. But I have a special place for the Borland compilers (especially BC 3.1) since that was my favorite C compiler back in the day. ☺

  • @kroberts1964
    @kroberts1964 9 місяців тому +3

    just replace the A: with C: and it works fine without having to do swsubst

    • @freedosproject
      @freedosproject  9 місяців тому +1

      Someone else pointed that out too. I didn't really experiment with a full drive+path in there - but I also was looking for an excuse to show SWSUBST because people email me with "I don't have an A: drive, how do I install?" questions sometimes. 😛

  • @sgkonfetti
    @sgkonfetti 9 місяців тому

    Topic suggestion: Programming in Forth
    en.wikipedia.org/wiki/Forth_(programming_language)