A curated collection of 43 programming projects, demonstrations, reusable components, and experiments from the 1990s and early 2000s.
The archive is organized by implementation language. Each category has its own guide with toolchain, output-type, and compatibility details:
| Directory | Projects | Contents |
|---|---|---|
C++/ |
34 | C++, MFC, COM/ActiveX, Win32, OpenGL, and Borland C++Builder |
C/ |
5 | C, Win32 C, Windows CE, and C with x86 assembly |
Others/ |
4 | Visual Basic, mixed C/C++/IDL CORBA, and historical archives |
These projects are preserved primarily for study and historical reference. Most target discontinued operating systems, SDKs, compilers, or middleware and are not expected to build unchanged with a current toolchain.
There is no single root build. Each project is self-contained and usually has
its own README.md, legacy IDE project file, or Makefile.
| Goal | Start here |
|---|---|
| Build a project on modern macOS or Linux | C++/philsophe/ |
| Study Win32 processes and synchronization | C++/Process/ and C++/Proc&Thread/ |
| Explore COM, DCOM, and ActiveX | C++/COMObject/, C++/COMClient/, and C++/DCOM/ |
| Browse OpenGL demonstrations | C++/OpenGLSurefire/ and C++/texturemapping/ |
| Study a legacy game codebase | C/Wolf3DSrc/ |
| Compare historical CORBA implementations | Others/CORBA/ |
| Project | Description |
|---|---|
ActiveListBoxTest |
MFC test host for the Visual Basic ActiveListBox control |
CLSIDTest |
COM class/category identifier lookup experiment |
COMClient |
MFC client for the COMObject in-process server |
COMObject |
MFC/COM in-process automation server |
DCOM |
Distributed drawing service, client, and control samples |
DLLTest |
Borland C++ DLL import/export experiments |
Dialog Wnd |
Small diagnostic dialog/window helper |
dllDialog |
MFC dialog exported from a Windows DLL |
VisioPlugIn |
Visio VSL add-on that diagrams network resources |
XFloorWnd |
ActiveX tabbed “floor” navigation control |
XPropertiesWnd |
ActiveX property and shell-tree controls |
| Project | Description |
|---|---|
CreatePipe |
Parent/child process communication through a named pipe |
OldProcWrap |
Legacy process-wrapper experiment |
Proc&Thread |
Process, thread, wait, and signaling examples |
Process |
Mutex, semaphore, event, critical-section, and overlapped-I/O samples |
shmemcr |
Shared-memory creator half of a paired example |
shmemop |
Shared-memory opener half of a paired example |
ThreadTest |
Windows thread creation and synchronization test |
Timer |
Win32 multimedia timer demonstration |
mapfile |
Memory-mapped file examples |
| Project | Description |
|---|---|
C++Builder |
Borland C++Builder components, database, bitmap, service, and OpenGL samples |
OpenGLSurefire |
OpenGL/GLUT texture and rendering demonstration |
qknots |
Quaternion-knot visualization |
RGBtoGLByte |
RGB image conversion for OpenGL byte data |
texturemapping |
Texture mapping, lighting, transparency, Gouraud shading, and antialiasing demos |
| Project | Description |
|---|---|
Bin Tree |
Header-only template binary tree |
ExceptionTest |
C++ exception-handling experiment |
fstreamTest |
Standard stream and file-I/O test |
LISTS |
Linked-list implementation and test |
math |
Small numerical routine experiment |
Matrix |
Matrix class and test harness |
philsophe |
Modern C++17 dining-philosophers concurrency demos |
QSort |
Quicksort implementation and test |
| Project | Description |
|---|---|
dvcrpage |
Borland C++Builder device-context page sample |
| Project | Description |
|---|---|
main-puzzle |
IOCCC-style obfuscated recursive C program |
OCXREG |
Command-line utility for registering OCX controls |
winCE Winsock |
Windows CE socket test |
winsock |
Classic Win32 Winsock client/server sample |
Wolf3DSrc |
Wolfenstein 3D–era C and x86 assembly sources for Borland C++ 3.x |
| Project | Language or format | Description |
|---|---|---|
ActiveListBox |
Visual Basic 6 | ActiveX list-box control |
CORBA |
C, C++, IDL, and build scripts | Point-of-sale example ported across multiple historical CORBA ORBs |
RemoteShell OCX |
Visual Basic 6 / packaged OCX | Remote-shell ActiveX control and test application |
archives |
ZIP archives | Original historical packages retained for reference |
| Toolchain or dependency | Typical projects |
|---|---|
Visual C++ 5/6 (.dsp, .dsw) |
Most MFC, Win32, COM, and OpenGL projects |
Visual Basic 6 (.vbp, .frm, .ctl) |
ActiveListBox and RemoteShell OCX |
Borland C++Builder (.bpr, .bpg, .dfm) |
C++Builder, DLLTest, and dvcrpage |
| Borland C++ 3.x and an x86 assembler | Wolf3DSrc |
| Legacy CORBA ORB and IDL compiler | CORBA subprojects |
| Modern Clang or GCC with C++17 threads | philsophe |
Legacy Visual Studio files often contain relative paths and assumptions about SDK installation directories. Moving a complete project folder into its language category preserves paths internal to that folder, but machine-specific toolchain paths may still require adjustment.
The dining-philosophers project is the only project exercised by continuous integration:
cd "C++/philsophe"
make clean all
./philosopheThe other projects should be built from inside their individual directories with the compiler or IDE documented in their local README.
README.mdprovides modern navigation and build notes.ReadMe.txt,README.TXT, and similar files preserve original documentation.- Original filenames and project-internal layouts are retained where practical.
- Generated compiler and linker artifacts are excluded by the root
.gitignore. - Historical binaries already committed to the archive remain available for research, even when files with the same extensions are now ignored.
The GitHub Actions smoke test builds and runs
C++/philsophe on Ubuntu. Windows-only and
middleware-dependent projects are not compiled in CI.
Repository-level terms are in LICENSE (LGPL 2.1). Some imported
examples and SDK materials include their own notices, including the CORBA POS
example, third-party C++ components, and historical Visio SDK headers. Review
the documentation and source headers within a project before redistributing it.
This repository favors preservation over modernization. A successful build may require a virtual machine, an older Windows SDK, original middleware, or small source changes for modern compiler compatibility. Contributions that improve documentation, portability, or reproducibility should preserve the intent and history of the original examples.