This is a collection of source code and documents from computing and programming courses completed at the "Politehnica" University of Timișoara, Romania, between 1992 and 1997.
The archive is preserved as-is, for its historical and sentimental value. Expect the fingerprints of its era throughout: 8.3 DOS filenames, Borland Turbo Pascal / Turbo C / Borland C++ projects (.PRJ/.DSK files), BGI graphics, direct video-memory writes, and hardware-level programming of the 8253 timer, 8259 interrupt controller, parallel port, and Sound Blaster DMA. Folder names are acronyms of the original Romanian course titles (decoded below), and source comments and identifiers are a mix of English and Romanian. New documentation, however, is English-only.
Most DOS-era programs no longer build or run on modern systems without an emulator (e.g. DOSBox) and the period Borland toolchain. The value here is the algorithms and the record of how things were done — not runnable binaries.
| Folder | Topic | Tech | Contents |
|---|---|---|---|
TRAJECT |
🎓 Bachelor thesis — robot trajectory planning and real-time control | Borland C++, DOS | Joint-space trajectory generation (linear, cubic, quintic, bang-bang, trapezoidal laws), cross-joint time synchronization, stepper-pulse quantization, and an interrupt-driven executor driving the 3-axis RIP02 robot over the parallel port. |
TURBO PASCAL |
Programming and computer graphics (largest folder) | Turbo Pascal, BGI | Bézier/Hermite curves and surfaces, 3D wireframe renderers with a custom matrix unit, classic algorithms (8-queens, quicksort, backtracking maze, stable marriage), record-file databases with text UIs; also a C++ windowing library and a Windows 3.1 MDI sample |
C |
C programming labs | Turbo C, BGI | 3D wireframe renderer from scratch (homogeneous 4×4 matrices, perspective projection), matrix and complex-number ADTs, file-handling exercises |
OOP |
Object-oriented programming, labs L1–L10 | Borland C++ | Encapsulation, dynamic allocation, constructors, friend functions, operator overloading, inheritance, virtual methods, multiple inheritance, streams — lab handout plus homework per topic |
SDA |
Data structures and algorithms (Structuri de Date și Algoritmi) | Docs, Pascal/C | Abstract-data-type theory handouts (strings, lists, trees, hash tables) and a recursive-descent parser that builds and evaluates expression trees |
TP |
Programming techniques in C | Docs with worked code | Strings and ctype.h, bitwise operators, pointers and function-pointer arrays, separate compilation, multi-linked-list record system |
68000 |
MC68000 assembly | 68k ASM, DOS simulator | Addressing-mode and instruction-family drills, a packed-BCD-to-ASCII converter, plus the simulator and assembler manuals |
ACA |
Computer architecture (Arhitectura Calculatoarelor) | 68k ASM | String-representation traversals (length-prefixed, NUL-terminated, fixed-length) and block-copy exercises |
MSDOS |
DOS systems programming | x86 MASM | A complete installable character device-driver skeleton (device header, strategy/interrupt routines, command dispatch) and a working clock driver |
SINCRET |
Real-time systems | Borland C++, DOS | ⭐ A hand-written preemptive multitasking kernel for the 8086 (~1,700 lines): task control blocks, priority scheduler on the timer interrupt, semaphores, events, mailboxes and pipes — with a four-task measurement-monitoring application on top |
SCR |
Real-time control systems (Sisteme de Conducere în timp Real) | Turbo C | Stepper-motor control through the parallel port: commutation tables, 8253 timer reprogramming, IRQ0 hooking, speed and direction control — the direct ancestor of TRAJECT |
TIMER |
Timer and interrupt experiments | Turbo C | INT 08h hooks with on-screen counters; TIME00.C is an early multi-axis motion profiler with acceleration ramps and precomputed per-step timer constants — a TRAJECT prototype |
CSFF |
Flexible manufacturing systems control | Turbo C / C++ | A manufacturing-cell simulator (60 sensors, 28 states, stacker crane, storage matrix) in both text-mode and animated graphical versions |
SPRC |
Unix network programming | C, BSD sockets | Stevens-style TCP client/server with fork, a mini-FTP with a binary command protocol, and a distributed key-value store over a hand-rolled hash map |
PSD |
Distributed control systems course | Docs only | Eight lab handouts that are, in practice, Novell NetWare 2.2/3.11 administration: drive mappings, user management, trustee rights, quotas, messaging |
WAVPROC |
Speech processing | Turbo C + TASM | ⭐ Technically the densest project: Sound Blaster capture via auto-init DMA, Hanning-windowed hand-written DFT (fixed-point and float), mel-scale binning, and a fixed-point feed-forward neural classifier |
NEURAL |
Neural networks | C (MSVC 4 projects) | Karsten Kutza's 1996 "Neural Networks at your Fingertips" collection: Adaline, ART1, BAM, Boltzmann machine, backpropagation, CPN, Hopfield, SOM — with captured run logs |
MATLAB |
System identification | MATLAB | Least-squares ARX parameter estimation using recursive Givens-rotation QR factorization, with convergence plots |
LYRICS |
Personal 🙂 | Text | The Pink Floyd discography's lyrics, one 8.3-named file per album |
Three folders form a clear technical lineage: SCR → TIMER → TRAJECT — the stepper-motor and timer-interrupt lab work grew step by step into the bachelor thesis. Beyond that, the standouts are SINCRET (a from-scratch preemptive RTOS kernel), WAVPROC (a complete speech-recognition pipeline on a Sound Blaster), and the 3D graphics work spread across TURBO PASCAL and C.