VOGONS


First post, by CodeFuApprentice

User metadata
Rank Newbie
Rank
Newbie

Hi everyone,

I really hope no one minds me asking this, Does anyone here still use their old systems for programming? If you do, What software do you use?
Which programming languages? What open source development tools are there for Windows 95/98/DOS?

I've wanted to do some game programming for a while now with my Super Socket 7 system on Windows 98 SE, and didn't know where to start looking.
I've got a little bit of experience with C++, and more with C#, JAVA and HTML, though i've mostly used Visual Studio 2010 in Windows 7 on much newer hardware. (Socket AM3/4 platforms.)
However i really didn't enjoy using Visual Basic back when i tried it.

Thank you for any suggestions.

Last edited by CodeFuApprentice on 2020-08-31, 14:39. Edited 1 time in total.

AMD K6-3 400 | Gigabyte GA-5AX R4.1 | 256MB PC-100 | 20GB Quantum Fireball LMPlus | Windows 98 SE
*Alternating between: Geforce 2 MX AGP or 3DFX Voodoo 5 5500 AGP. *Sound Blaster AWE-32 CT2760 or Turtle Beach Santa Cruz w/ Yamaha DB50XG.

Reply 1 of 15, by amadeus777999

User metadata
Rank Oldbie
Rank
Oldbie

I use the 486s for programming using Open Watcom C and Tasm 5.0 under DOS. Albeit Watcom's inline assembler can serve you really well in most cases.
Also fiddled around with the old DJGPP 2.3.x I think. May come in handy if you want to compile the original Quake. Other than that ease of use of Watcom's linear address handling is "the best".

If you know Visual Basic use it to develop tools for your game or engine and write the rest using WatcomC. If you use wmake then only use the most up to date version of OpenWatcom as there used to be a bug(in regards to file names) which was nerve wrecking.

Pentium is dandy but is only worthwhile if you do some assembly coding where you try to take advantage of the architecture. Of course if you're a minimalist then just use the rdtsc instruction and ignore the rest.

Reply 2 of 15, by CodeFuApprentice

User metadata
Rank Newbie
Rank
Newbie

I think i'd heard about those being mentioned back in the early 2000s. Tasm rings a bell, and I'm sure i'd heard of Watcom.
Interesting, I'd never heard of DJGPP for DOS programming. I was only aware of QBasic at the time.

Thank you for those suggestions.

AMD K6-3 400 | Gigabyte GA-5AX R4.1 | 256MB PC-100 | 20GB Quantum Fireball LMPlus | Windows 98 SE
*Alternating between: Geforce 2 MX AGP or 3DFX Voodoo 5 5500 AGP. *Sound Blaster AWE-32 CT2760 or Turtle Beach Santa Cruz w/ Yamaha DB50XG.

Reply 3 of 15, by adalbert

User metadata
Rank Oldbie
Rank
Oldbie

I only have some experience with rapid GUI application development, Borland C++ Builder 1.0 - not open source but old CDs are available for 10-20USD (license is bonded to the disk so if you own it you can use it), IDE works natively on NT 3.51 and 95, you can target Windows 3.11 with win32s addon. Very easy to make GUI applications. There is also Delphi 1.0, IDE works in win 3.11 and interface is identical to C++ builder. But it rather isn't worth to learn that language...

Repair/electronic stuff videos: https://www.youtube.com/c/adalbertfix
ISA Wi-fi + USB in T3200SXC: https://www.youtube.com/watch?v=WX30t3lYezs
GUI programming for Windows 3.11 (the easy way): https://www.youtube.com/watch?v=d6L272OApVg

Reply 4 of 15, by Gered

User metadata
Rank Member
Rank
Member

I bounce around a bit with what I program in on my retro computers. For me this is 486 DX2 and Pentium MMX systems. Right now, I primarily have separate on-going projects in both Turbo Pascal 7 and Watcom C. Turbo Pascal 7 of course has it's own included IDE which is awesome, but for Watcom C projects, I use a heavily customized Aurora Text Editor installation. I've also dabbled a bit with Delphi 1.0 as well as re-visited some of my childhood projects from back in the day written in QuickBASIC 4.5 and Visual Basic 6. QBasic/QuickBASIC is what I self-taught myself programming with as a teenager in the 90's, so it's also something I will probably revisit for some new project in the future. DJGPP is very cool too... Allegro 3.x or 4.x is a really awesome "batteries included" library for doing game development with, for example.

As someone who was really big into QBasic back in the day, Turbo Pascal is really awesome to me. It's like QBasic on steroids in a way. Easy to learn syntax, really great built in help system with examples, near instant compile times even on 286/386/486 machines, pointers, inline assembly, etc. It is limited in many respects too, but I really think it hits a sweet spot between the easy of use of BASIC, and the advanced features of C/C++.

Watcom C/C++ is awesome too, but the set up is more involved as there is no (good) IDE included. Maybe Open Watcom has a good IDE included, I dunno, never used Open Watcom myself. Anyway, if you're comfortable setting up makefiles and configuring some random text editor to your liking then this will be fine. And Watcom C lets you write 32-bit protected mode code that runs under DOS/4GW.

Compared to Watcom C/C++, DJGPP can be seen as a nice step up. If you want to try DJGPP and are intending on doing development on actual retro computer hardware (as you said you intend to do), then do yourself a favour and grab an older build from somewhere around 1998-2000 or thereabouts. The nice thing about DJGPP is that it includes the (optional) IDE "RHIDE" which is very Borland-inspired. Very easy to use, built-in help system, integrated debugger, etc. I prefer Watcom C/C++ myself for various reasons (e.g. I prefer it's inline assembly syntax, and how DOS/4GW exposes the first 1MB of memory to your application as compared to CWSDPMI that DJGPP uses) but there are very good reasons why someone might prefer DJGPP.

486DX2-66/16MB/S3 Trio32 VLB/SBPro2/GUS
P233 MMX/64MB/Voodoo2/Matrox/YMF719/GUS CD3
Duron 800/256MB/Savage4 Pro/SBLive (IN PROGRESS)
Toshiba 430CDT

Reply 5 of 15, by steevf

User metadata
Rank Newbie
Rank
Newbie

For DOS I used:
IBM-ROM BASIC/BASICA/GW-BASIC
QBasic
Visual Basic for DOS 1.0
Mix Power C
Borland C++ 3.1

For Win 3.1:
Visual Basic 4.0
Visual C++ 1.0
Visual C++ 4.0

For Win 95
Visual Basic 6.0
Visual C++ 6.0
(Visual Studio 6.0)

I also had:
Microsoft Macro Assembler (MASM)
Borland's Turbo Assembler (TASM)
but ended up hardly ever using them.

I really liked working with Borland C++ 3.1 and Visual Basic for DOS in DOS and preferred Visual Studio 6.0 for Win95. I got a bit frustrated working in Win3.1 and ended not doing much in Win3.1.

While none of these are freeware or open source WinWorldPC (not going to link) does have ISOs or disk images, but I don't know how people feel about free distributions of supposed "abandon-ware". I own all of these, have the license keys, so grabbing a working ISO off the internet to replace my bad floppies doesn't concern me.

I never used Watcom C/C++ but I found out recently that it had gone open source way back in 2003 and I'm curious about trying it out.

Reply 6 of 15, by keenmaster486

User metadata
Rank l33t
Rank
l33t

I've had some fun playing around with Visual Basic in Windows 3.1/95/98.

And I've experimented with C/C++ in DOS.

Mostly I have programmed using FreeBASIC for DOS.

World's foremost 486 enjoyer.

Reply 7 of 15, by gerry

User metadata
Rank Oldbie
Rank
Oldbie

A large part of my enjoyment of older PCs comes from programming, I like trying to port simple applications across operating systems, or it might be fun to 'benchmark' an app on different systems and just to experience the different toolsets in use.

the various tools I use:

DOS: Borland pascal and C, Quick Basic, various assemblers
W9x: Borland Builder/command line, Borland Delphi, Visual Basic, MingW

There are lots of interesting guides for DOS still available - programming the VGA card and so forth, it's good to learn about hardware interrupts and so on as well as a little assembly. Likewise there's till a lot out there on the Win32 Api and Directx and so on if you want to know

If you want to program games there are lots of options, but less if you intend to port directly onto new systems. Allegro 4 seems to be the best bet there

A few toolsets actually have compatibility across multiple operating systems including DOS, Freebasic and Freepascal for starters

I like to program in a way that allows the application to run across many platforms and am impressed when software is developed that still runs on older PCs (Likewise i am sometimes puzzled when software has high minimum cpu and OS requirements whilst not seeming to do anything that needs them)

Reply 8 of 15, by Jo22

User metadata
Rank l33t++
Rank
l33t++
CodeFuApprentice wrote on 2020-08-31, 13:45:

However i really didn't enjoy using Visual Basic back when i tried it.

Thank you for any suggestions.

Sorry to hear, since VB Classic was the peak of Windows programming. Many normal, mentally healthy people used VB 3 to write popular programs.
A VB6 program can run from a 386DX/Win95 PC to a Ryzen/Win10 PC without modifications (MSVBVM60 is included since Win98).

Anyway, it depends on what type of programmer you are. If you want to realize your dream/project, then VB Classic can help you quickly without the need to dive into the depths of the Windows APIs.

However, if you love to optimize code, dig into the APIs etc. then Delphi 1 to 7 might be worth a try. Version 1 compiled Win16, V2 compiled Win32s, v3 Pro shipped with programming books and compiled Win32/Win32c.

The last one (7) also supports manifests, which give your programs a native look on XP+ (though you can also add manifests manually since Delphi 2).

Simply put, VB Classic programmers are like bus drivers. They love their job, but also enjoy their end of day, sharing their free time with friends and family.

C++ programmers, on the other hand, are like fighter jet pilots. They have a big ego and want to be the fastest, toughest, the coolest people around. Higher, farther, faster.. They continue optimizing no matter what. 😉

Edit: For clarification, VB programmers might perhaps not be the best coders, but they have knowledge in the fields they devoted themselves into.

Imagine a botanic, who is also a VB programmer. He/shey/they might not be a good coder, and his/her/their skills might be hobby grade, at best.
But the programs he/she/they works on likely serve very well their intended purposes and look very professional. Better than what a professional programmer could create, because he lacks the knowledge of the amateur (botany, in this example).

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 9 of 15, by Cyberdyne

User metadata
Rank Oldbie
Rank
Oldbie

Easy and slow, QuickBASIC, understandable and pretty fast (Borland) Pascal. C(++) is only for real maniacs. For me even Assembler is more understandable.

I am aroused about any X86 motherboard that has full functional ISA slot. I think i have problem. Not really into that original (Turbo) XT,286,386 and CGA/EGA stuff. So just a DOS nut.
PS. If I upload RAR, it is a 16-bit DOS RAR Version 2.50.

Reply 10 of 15, by gca

User metadata
Rank Member
Rank
Member

On DOS mainly Borland Turbo C++ 3.0 and a couple of the Turbo Pascal compilers. Then migrated to DJGPP because it made code easier to port between DOS and Linux platforms. Free Pascal compiler is also handy because its very similar to Turbo Pascal (you can just move code directly between them without modification for the most part). Plus the usual dabbling with Q and GWBASIC over the years.

Reply 11 of 15, by debs3759

User metadata
Rank Oldbie
Rank
Oldbie

I use nasm on older systems, and will be getting into Visual C++ 1.52 at some point.

See my graphics card database at www.gpuzoo.com
Constantly being worked on. Feel free to message me with any corrections or details of cards you would like me to research and add.

Reply 12 of 15, by hansor

User metadata
Rank Newbie
Rank
Newbie

Hi.

I do some programming at 386SX with 1.5MB RAM and here are my findings:

TL;DR:
Best tools for C/C++: OpenWatcom,DJGPP.
Most fun: Turbo Pascal, DOjS
Most modern with best modern libraries: FreePascal

Modern C++ compilers for DOS and Windows 3.11:

  • OpenWatcom and DJGPP are propably the only modern C++11/14/20 compilers avalible for MSDOS and 16 bit Windows. But they require at least +2MB of RAM (AFIK). And they are free!
  • Digital Marc C++ Compiler does have free version for Win32 - it is compatible with most of C++11 standard.
  • Orange C/C++ Compiler: C++14 support! Works on DOS 32 BIT and Windows.

Borland C++:

  • Borland C++ 3: DOS version, small(!), partial templates, no namespaces, works with 1MB of ram.
  • Borland C++ 4: Windows 3.11 IDE. No namespaces
  • Borland C++ 5.x: Windows 95 IDE. No namespaces.

Turbo C++ (simpler version of Borland C++):

  • Borland Turbo C++ 4: DOS and Windows 3.11 IDE. features as above.
  • Borland Turbo C++ 4.5: Windows 3.11 and NT(?) . No namespaces AFIK

Pascal:

  • Borland Turbo Pascal 3/4: DOS IDE, Battle-tested, robust and fun to use. Requires only 386KB of RAM(!). FUN FUN FUN and FREE as far I know.
  • Borland Turbo Pascal 7: DOS IDE, Larger with Object Oriented programming features - you do just about anything under DOS.
  • Borland Delphi 1.x: Windows 3.11 IDE. Great for easy Pascal graphical programming.
  • Borland Delphi 2/3/4: Windows 95 IDE. Great for easy Pascal graphical programming.
  • FreePascal is modern and maintained(2020) version. Not sure about DOS memory requirments. A lot of modern libraries like TCP/IP, json, sockets etc.

C. A lot of various C compilers. Best supported launguage in general across all platforms.

  • Openwatcom (modern C compiler - one of the best). Works on DOS. FREE. +2MB RAM (AFIK)
  • djgpp: super modern based on gcc. Works on DOS. FREE. +2MB RAM (AFIK)
  • Pacific C 7.51 Very small DOS compiler with FULL IDE works on 512kb of RAM. Free
  • Borland Turbo C 2. Super small and with very good IDE.

Modern JAVASCRIPT

  • DOjS is a JavaScript programming environment for DOS and Windows from 2020. Requires +4MB RAM. Amazing graphical capabilities like OpenGL in DOS! Free and Open Source

You can read the description and even download (if your country is OK with abandonware) some of those compilers from: https://winworldpc.com/search?vendor=Borland

Reply 13 of 15, by mikeossur

User metadata
Rank Newbie
Rank
Newbie

I am probably late to the party. I enjoy programming in DOS as it is simple and allows you to program against the metal vs layers of libs and packages.
I use/Have used:
Microsoft QC2.5 with assembler.
Turbo c 3.0/Borland 4.5
DJGPP which I currently use as my main compiler. gcc
Right now, I am using Microsoft c/c++ 6.0 for windows 98 with Directdraw for a couple of editing tools I am creating.
Nasm
VIsual Basic for dos.
I have Watcom C installed but I have yet to work with it as it sounds like a great tool.
I programming for fun especially during the cold and wet winter months.
Cheers everyone!

Reply 14 of 15, by ViTi95

User metadata
Rank Member
Rank
Member

Right now I develop for DOS under Linux and Windows, cross-compiling with OpenWatcom v2 + NASM. For testing DosBox-X + 86Box + real hardware. Debugging is still a problem for me, as it is really unstable. And usually do scripts in Python if I have to do some preprocessing, as is really easy to use and powerful.

https://www.youtube.com/@viti95

Reply 15 of 15, by Jo22

User metadata
Rank l33t++
Rank
l33t++

If you like PC/GEOS, too, then there's R-Basic, a successor to NewBasic, in both German and English.
It can compile applications for GeoWorks Ensemble 2.01 and higher, as far as I know.

http://www.rbettsteller.de/BASIC/BASICDLD.HTM

Edit: The language seems to be a cross of QBasic and KC85 Basic.
The KC85 was a home computer in Soviet Germany. Something like a ZX81 on sugar, so to say.

Edit: I forgot to mention.. PC/GEOS is now Open Source (FreeGEOS).
https://github.com/bluewaysw/pcgeos

An older rival, GEM, is also Open Source.
Locomotive Basic, a BASIC interpreter for GEM, shipped with the PC-1512/1640 PCs.
Much better than GW-Basic..
https://en.wikipedia.org/wiki/FreeGEM
https://www.youtube.com/watch?v=EH0BGEVYNYk

Edit: Or if you're more into masochism, try SEAL/2. 😉
It's an interesting, if not somewhat sluggy GUI for DOS.
It has its own SDK/API documents, however. So you technically can write programs for it.

https://www.youtube.com/watch?v=6Zc7-Ooif_c

I used it because of its MIDI player, albeit I'm not sure if it wasn't Allegro which did the hard works.

https://www.youtube.com/watch?v=wELcFW9u2V4

https://www.youtube.com/watch?v=JFo3luv-ByA

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//