home.social

#turboc — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #turboc, aggregated by home.social.

fetched live
  1. New video for Patrons: Let's Code MS DOS 0x38: Huge Pointers in Turbo C

    In MS DOS you can only access up to one Megabyte of memory easily, on an original PC or XT. This memory in turn is segmented, so accessing more than 64K at a time becomes a bit more tricky. This is why languages like Turbo C and Pascal introduced near and far pointers to the programmer. However there are also huge pointers, which we will investigate in this episode.

    patreon.com/root42/posts/lets-

    #letscode #msdos #turboc

  2. New video for Patrons: Let's Code MS DOS 0x38: Huge Pointers in Turbo C

    In MS DOS you can only access up to one Megabyte of memory easily, on an original PC or XT. This memory in turn is segmented, so accessing more than 64K at a time becomes a bit more tricky. This is why languages like Turbo C and Pascal introduced near and far pointers to the programmer. However there are also huge pointers, which we will investigate in this episode.

    patreon.com/root42/posts/lets-

    #letscode #msdos #turboc

  3. TIL there's a dosbox fork (dosbox-x) with a bunch of fancy features, including more realistic emulation of hercules monographics displays, which lets me more accurately re-experience my middle school XT clone computing experience.

    #TurboC #PcHack361

  4. TIL there's a dosbox fork (dosbox-x) with a bunch of fancy features, including more realistic emulation of hercules monographics displays, which lets me more accurately re-experience my middle school XT clone computing experience.

    #TurboC #PcHack361

  5. I should have looked at the linker options more closely and turned on "Warn duplicate symbols" from the start...

    #TurboC #Hack361 #MSDOS

  6. I should have looked at the linker options more closely and turned on "Warn duplicate symbols" from the start...

    #TurboC #Hack361 #MSDOS

  7. Huh. For some reason Turbo C's time() is getting stuck in an infinite loop. Don't call it to seed the random number generator or determine the phase of moon and off we go...

    Hmm. Can't get the time() hang to repro in a trivial test program. I wonder what's going on here.

    Aha. time() called getdate() which conflicted with a function in Hack (that called getlt() that called time()). Not sure why that resulted in a hang instead of a crash due to stack overflow...

    #MSDOS #TurboC #Hack361

  8. Huh. For some reason Turbo C's time() is getting stuck in an infinite loop. Don't call it to seed the random number generator or determine the phase of moon and off we go...

    Hmm. Can't get the time() hang to repro in a trivial test program. I wonder what's going on here.

    Aha. time() called getdate() which conflicted with a function in Hack (that called getlt() that called time()). Not sure why that resulted in a hang instead of a crash due to stack overflow...

    #MSDOS #TurboC #Hack361

  9. Well this sure brings back memories.

    It runs a lot faster in DOSBOX than on the 10MHz 512KB Dual-360K-Floppy XT clone I originally ran it on when I was a kid.

    Disk Images
    archive.org/details/borland-tu

    User and Reference Manual:
    archive.org/details/bitsavers_
    archive.org/details/bitsavers_

    If you copy all 6 disks into a single INSTALL directory, you can run INSTALL.EXE from there and it'll do its thing.

    #Borland #TurboC

  10. Well this sure brings back memories.

    It runs a lot faster in DOSBOX than on the 10MHz 512KB Dual-360K-Floppy XT clone I originally ran it on when I was a kid.

    Disk Images
    archive.org/details/borland-tu

    User and Reference Manual:
    archive.org/details/bitsavers_
    archive.org/details/bitsavers_

    If you copy all 6 disks into a single INSTALL directory, you can run INSTALL.EXE from there and it'll do its thing.

    #Borland #TurboC

  11. Turbo C Debugger can identify when a variable points into video RAM. Nice.
    #turboc #msdos #letscode

  12. Turbo C Debugger can identify when a variable points into video RAM. Nice.
    #turboc #msdos #letscode

  13. New video for Patrons:

    Let's Code MS DOS 0x31: ANSI C Data Types

    The C programming language has only few builtin data types. But for a beginner those can be a bit confusing. So we will have a look at what data types are offered, and what kind of new datatypes you can build with C.

    patreon.com/posts/lets-code-ms

    #letscode #msdos #turboc

  14. New video for Patrons:

    Let's Code MS DOS 0x31: ANSI C Data Types

    The C programming language has only few builtin data types. But for a beginner those can be a bit confusing. So we will have a look at what data types are offered, and what kind of new datatypes you can build with C.

    patreon.com/posts/lets-code-ms

    #letscode #msdos #turboc

  15. Retro geek t-shirt 🤓 unfortunately it's an M and does not fit me, especially with these #poledance shoulders. 💪
    #borland #TurboC #retrocomputing

  16. Retro geek t-shirt 🤓 unfortunately it's an M and does not fit me, especially with these #poledance shoulders. 💪
    #borland #TurboC #retrocomputing

  17. 🚀 NEW on We ❤️ Open Source 🚀

    Jim Hall takes us on a journey through C compilers! Explore the unique quirks of TurboC and Open Watcom, and see why “not everything is GNU C.”

    Read now:
    buff.ly/3E4vhib

    #WeLoveOpenSource #CProgramming #TurboC #OpenWatcom

  18. 🚀 NEW on We ❤️ Open Source 🚀

    Jim Hall takes us on a journey through C compilers! Explore the unique quirks of TurboC and Open Watcom, and see why “not everything is GNU C.”

    Read now:
    buff.ly/3E4vhib

    #WeLoveOpenSource #CProgramming #TurboC #OpenWatcom

  19. @jamesog i cut my language teeth on #BASIC and #Pascal on my #Apple2e (and a bunch of #PET and #TRS80) back in the day. By college (1988) I was using #C, #LISP, et al on a variety of systems. I used #TurboPascal and #TurboC on a few college projects. Oh and #shell scripting. Lots of shell scripting. Ironically, I never touched #COBOL until I began work after college. Hehe #RetroComputing

  20. @jamesog i cut my language teeth on #BASIC and #Pascal on my #Apple2e (and a bunch of #PET and #TRS80) back in the day. By college (1988) I was using #C, #LISP, et al on a variety of systems. I used #TurboPascal and #TurboC on a few college projects. Oh and #shell scripting. Lots of shell scripting. Ironically, I never touched #COBOL until I began work after college. Hehe #RetroComputing

  21. Hm, I think Turbo C 2.01 has a very tricky, and VERY ancient bug. The intr() function from <dos.h> header SHOULD be able to pass ES:BP pointers to interrupts. However I think it doesn't. Using this gives garbage (or probably: the stack pointer) to the interrupt vector instead. I wonder if this could be patched...? How hard can it be to disassemble the .lib files?
    #retrocomputing #turboc #letscode

  22. Hm, I think Turbo C 2.01 has a very tricky, and VERY ancient bug. The intr() function from <dos.h> header SHOULD be able to pass ES:BP pointers to interrupts. However I think it doesn't. Using this gives garbage (or probably: the stack pointer) to the interrupt vector instead. I wonder if this could be patched...? How hard can it be to disassemble the .lib files?
    #retrocomputing #turboc #letscode

  23. I just got an interesting viewer comment which led me to investigate if you can force alignment of variables in Turbo C 2.0 — the answer seems to be „no“. In gcc you can do
    int x __attribute__ ((aligned (16))) = 0;
    But this is nit possible in Turbo C. Any ideas?
    #letscode #retrocomputing #c #turboc

  24. I just got an interesting viewer comment which led me to investigate if you can force alignment of variables in Turbo C 2.0 — the answer seems to be „no“. In gcc you can do
    int x __attribute__ ((aligned (16))) = 0;
    But this is nit possible in Turbo C. Any ideas?
    #letscode #retrocomputing #c #turboc

  25. I've enjoyed reading the source code of Turbo Pascal.

    Has Borland ever released the source code of one of its C or C++ compilers? I can't google one up, but if it's out there, I'd like to read that one, too.

    #retrocomputing #borland #turboc

  26. I've enjoyed reading the source code of Turbo Pascal.

    Has Borland ever released the source code of one of its C or C++ compilers? I can't google one up, but if it's out there, I'd like to read that one, too.

    #retrocomputing #borland #turboc

  27. A ver estoy saltando aquí algunas menciones honoríficas:

    Una para #TurboC que usé durante la olimpiada de informatica, otra para #Eclipse que probé después de NetBeans pero no me terminó de convencer. Y una más para #Atom que también usé brevemente. Me gustaba mucho pero no soportaba ese delay de algunos milisegundos que existía entre que presionaba una tecla y pasaba algo.

  28. A ver estoy saltando aquí algunas menciones honoríficas:

    Una para #TurboC que usé durante la olimpiada de informatica, otra para #Eclipse que probé después de NetBeans pero no me terminó de convencer. Y una más para #Atom que también usé brevemente. Me gustaba mucho pero no soportaba ese delay de algunos milisegundos que existía entre que presionaba una tecla y pasaba algo.

  29. This nostalgic post about the TUI IDEs from Borland felt so true.

    I doubt I'd have taken to programming if I hadn't learnt first in the friendly TUI IDEs of QBasic, Turbo Pascal, Turbo C & Turbo C++. Today's beginners are faced with the hard cliff of Vim/Emacs on one side & the bloated VSCode/Studio-like IDEs on the other side. There is no fast, friendly, lightweight all-in-one debugger-included IDE for students anymore.

    blogsystem5.substack.com/p/the

    #TurboC #QBasic #TurboPascal

  30. This nostalgic post about the TUI IDEs from Borland felt so true.

    I doubt I'd have taken to programming if I hadn't learnt first in the friendly TUI IDEs of QBasic, Turbo Pascal, Turbo C & Turbo C++. Today's beginners are faced with the hard cliff of Vim/Emacs on one side & the bloated VSCode/Studio-like IDEs on the other side. There is no fast, friendly, lightweight all-in-one debugger-included IDE for students anymore.

    blogsystem5.substack.com/p/the

    #TurboC #QBasic #TurboPascal

  31. My first plasma on a 486DX2 66Mhz, DOS executable!

  32. What did 1992 look like for you? Me? Well looking at these as it happens. Not both to be pedantic but Turbo Pascal 7 and Turbo C (sans pluses - I think that waited for visual C++).

    “Error 21: Too many errors” I think is one of the most memorable burns, still, 30 years on. #borland #turboc #turbopascal #softwareengineering