VOGONS


First post, by adalbert

User metadata
Rank Oldbie
Rank
Oldbie

Windows 3.11 has had its 30th anniversary, so I thought that it would be a fun idea to create a modern (or: not ancient) and easy way of developing new applications for that system, while retaining the compatibilty with modern Windows and having the option of building cross-platform applications.

The main idea was to simplify the process of making simple applications for legacy systems as much as possible. There are no modern RAD tools that allow you to easily create something for Windows 3.11, so I created an IDE package built around CodeBlocks, wxWidgets and various C++ compilers. Now you can create and run a test application for Windows 3.11 in less than a minute thanks to built-in configuration wizard. And thanks to wxWidgets, which miraculously can work with Win32s-extended Windows 3.11, you can write code that can be used with newer systems and has cross-platform capabilities. There is also Windows 95 integration built-in. You choose the build target and DOSBox-X acts like a debugger - the program executes through DOSBox-X automatically after you press the "Debug" button.

Details, installation files and sources of the installation and configuration scripts are available on GitHub: https://github.com/adbrt/cb-legacy-dev
I also made a video overview/tutorial: https://www.youtube.com/watch?v=d6L272OApVg

This system has an automated installer, you provide your own licensed Windows 3.11 and Win 95 files and it setups emulation in DOSBox-X automatically. Everything is set up in such a way that you have mouse integration and networking. You should be able to build and run a simple Windows 3.11-compatible application in less than a minute thanks to the built-in wizard and templates. These applications need Win32s extension for Win 3.11. You can also build and test applications in Windows 95 and DOS.

The attachment sample1.jpg is no longer available

Features:

  • Automatic installer (single batch file)
  • Pre-configured CodeBlocks IDE
  • Windows 3.11 and Windows 95 integrated with IDE (using DOSBox-X): you can build and run the application in Win 3.11/95 with a single mouse click
  • Automatic Windows 3.11/95 installation in DOSBox-X: you provide your own genuine installation disks/CD
  • Mouse and network integration between Win 3.11/95 guests and host system
  • Easy GUI development thanks to wxWidgets and easy-to-use configuration wizards
  • wxWidgets modified to work with Win 3.11 targets (version 2.8.12), version 3.0.5 modified to work with Win 95
  • Unicode for Win 9x targets thanks to MSLU/Unicows (works with wxWidgets 3.0.5)
  • TDM-GCC 4.7.1 for Win9x+ targets, BCC5.5 compiler (needs to be downloaded separately) for Win 3.11/Win32s targets
  • MinGW-w64 and wxWidgets 3.2 for modern 64-bit targets
  • As a bonus: DJGPP and OpenWatcom compilers for DOS (with DOSBox integration)

Prerequisites:

  • Windows for Workgroups 3.11 English version installation disks - for Win 3.11 IDE integration
  • Windows 95 OSR2 English installation CD (WIN95 subdirectory) - for Win 95 IDE integration
  • free Borland 5.5 C++ compiler - installation script will try to download it automatically
  • drivers and updates for Win 3.11/Win 95 - installation script will try to download them automatically

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 1 of 5, by adalbert

User metadata
Rank Oldbie
Rank
Oldbie

[Reserved]

You can even use the same code to build Win 3.11-compatible app and macOS app - however only Windows development is currently automated, you need to build everything manually on Mac.

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 3 of 5, by elszgensa

User metadata
Rank Member
Rank
Member

Watched your video, didn't try the actual software yet. You're saying "DOSBox-X acts like a debugger" but it looks like your "Debug" button is basically just "'Run' but in an emulator", i.e. no attaching to process, single stepping, viewing/editing of variables etc (you know, actual debugging)? Is that correct? If I'm wrong and all that works then you should definitely show that.

Reply 4 of 5, by adalbert

User metadata
Rank Oldbie
Rank
Oldbie
elszgensa wrote on 2023-11-20, 19:09:

"Debug" button

You see console output from DOSBox in the debug log - some information about resolution, hardware are coming out, so the DOSBox process is actually attached to the IDE, but unfortunately you can't control the program that you built. This is done thanks to a simple batch file that executes DOSBox when the IDE is trying to run GDB. But all commands are ignored, it just redirects the output.

HOWEVER, because there is network connection between DOSBox and the host machine, it might be possible to use a remote debugger and redirect it back to the IDE over network. I think that could work with Windows 95, because some older version of GDB could be used. Not sure about Windows 3.11, as we are using a Borland compiler. It would probably be necessary to create another wrapper for Borland debugger.

The actual debugging needs to be done by running the program on the host machine at this time, while Win 3.11 / 95 is for testing.

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 5 of 5, by winuser_pl

User metadata
Rank Member
Rank
Member

I remember borland products had their own remote debugger (probably win 95 only).

PC1: Highscreen => FIC PA-2005, 64 MB EDO RAM, Pentium MMX 200, S3 Virge + Voodoo 2 8 MB
PC2: AOpen => GA-586SG, 512 MB SDRAM, AMD K6-2 400 MHz, Geforce 2 MX 400