The Technomancer’s Tales — Stories of Compute from 8088 to the Modern Era, #2 | by Cypher619 | Sep, 2025

1756843462 bc1f8416df0cad099e43cda2872716e5864f18a73bda2a7547ea082aca9b5632.jpeg

Chapter 2 — Boot Disks, Memory Sorcery, and Low-RAM LANs

*This was surgical-precision boot engineering — done with nothing but a 3.5-inch disk, a text editor, and pure rage.*

I cut my teeth on MS-DOS 3.3 through 6.22, hand-crafting lean boot disks that squeezed every byte of memory dry. It was the era of the notorious 640 KB conventional-memory limit — my playground and my battleground. With a minimalist floppy boot disk, I’d bring the PC up into DOS with only the drivers I needed. In those early-’90s adventures, I took pride in outsmarting memory constraints and making my pirated copy of Windows for Workgroups 3.11 run on hardware that had no business handling a GUI. Every boot was a high-wire act, a nostalgic hacker dance I remember fondly.

Memory management was the core of it. I became a wizard with `CONFIG.SYS` and `AUTOEXEC.BAT`, crafting custom configurations to optimize RAM below 640 KB. The goal was simple: maximize free conventional memory so larger programs (and Windows 3.11) would actually run. I loaded MS-DOS into the High Memory Area (HMA) and stashed drivers in Upper Memory Blocks (UMBs) to reclaim low memory for applications. Each additional kilobyte freed felt like a victory. I still remember running `MEM /C /P` after a fresh boot and grinning at **605 KB free** — proof that my tweaks worked, and a clear improvement over the ~540 KB you’d get if you were careless.

**Everything ran in real mode. There was no room for bloat.**

## Tools & Tricks for Taming Memory

### Core tools I leaned on
– **QEMM** (Quarterdeck Expanded Memory Manager)
– **HIMEM.SYS** (XMS manager)
– **EMM386.EXE** (when I had to go full EMS mode)

### High Memory & UMBs
– Enable high memory with `HIMEM.SYS` and `DOS=HIGH,UMB` to lift the DOS kernel out of conventional memory and open up UMBs.

### Loading Drivers High
– Use `DEVICEHIGH=` in `CONFIG.SYS` and `LOADHIGH` (`LH`) in `AUTOEXEC.BAT` to push TSRs and drivers (mouse, CD-ROM, network) into upper memory.
– Keeps them out of the precious 0–640 KB window whenever possible.

### Optimized Memory Managers
– Prefer Quarterdeck’s **QEMM** over the stock `EMM386.EXE`.
– QEMM’s aggressive tuning — and its **OPTIMIZE** utility — shuffles things for maximum free base memory.
– Often run `EMM386.EXE`/QEMM with `NOEMS` to free more conventional RAM since most apps were happy with XMS.

### Lean Configurations
– Strip non-essentials and tune driver order.
– Disable unused devices, pare down `BUFFERS=` and `FILES=`, and trim the environment size (e.g., `SHELL=C:\DOS\COMMAND.COM /E:256 /P`) so every possible byte stays available.

### BIOS Tweaks
– Turn off video shadow RAM to reclaim space between 640 KB and 1 MB — prime real estate for stuffing drivers.

### The “True Magic”
– Use Quarterdeck’s **MANIFEST** to map used ranges, then cram drivers and TSRs into those awkward gaps — even spots “possibly in use” by system ROMs — in the UMB area. Risky? Sure. Effective? Absolutely.

### Load-Order Strategy
– Load the biggest memory hogs first, then pack smaller ones into the open spaces they leave behind.
– It was trial and error to nail the load order and memory use.
– One mistake and the machine would freeze on boot.

## My Boot Floppies Included

– NetWare Lite **VLM** files (e.g., `LSLC.VLM`, `IPXODI.COM`, `VLM.EXE`)
– Network drivers (`NE2000.COM`, `ODI.COM`, `IPX.COM`)
– Sound drivers
– Mouse drivers
– CD-ROM drivers
– `SMARTDRV.EXE`
– Menus to boot into **network mode**, **game mode**, or **diagnostics mode**

One bad line in `CONFIG.SYS`?

> *“Device driver not found.”*

One rogue TSR?

> *“Insufficient memory to run this application.”*

This was memory management as **a martial art**.

And when the system booted clean with around **600 KB free** and a mapped network drive?

> That was *victory.*

## Networking, the Second Boss

Networking added another layer of complexity and excitement. NetWare Lite — Novell’s peer-to-peer DOS networking — was my first taste of “real” networking beyond null-modem cables. With cheap clone NE2000 Ethernet cards, I wired up a small LAN that spoke IPX in real mode. Getting that stack to coexist on a memory-starved 486 was ultra-lightweight driver juggling — perfect for my boot-disk wizardry. When I needed network access, I’d boot from a special floppy that loaded the NetWare stack without wasting a single byte. Because the real-mode networking pieces had to be in place before Windows for Workgroups 3.11 started — and they ate a chunk of conventional memory — I kept everything as lean as possible.

**A typical DOS network driver stack on my setup included:**

**NE2000 ODI driver**
The low-level driver for my (clone) NE2000 Ethernet card, loaded as an ODI (Open Data-Link Interface) module to hook the card into the rest of the stack.

**`LSL.COM` and `IPXODI.COM`**
Novell’s Link Support Layer and IPX protocol driver. `LSL.COM` acted like a traffic cop between the card driver and protocols, while `IPXODI.COM` provided the IPX network layer required by NetWare. These stayed resident, so I pushed them into upper memory whenever possible.

**NetWare Lite VLMs**
A set of Virtual Loadable Modules driven by `VLM.EXE` (and friends) that let me log into network shares. They implemented DOS file/print services similar to the full NetWare client but pared down for peer-to-peer. Memory-hungry, so I loaded only what I needed — and unloaded what I could when I was done.

All this meticulous tuning paid off. Windows for Workgroups 3.11 benefitted hugely from the extra conventional-memory headroom. With more than **600 KB free** below the 640 KB line, Windows could load its networking and DOS support drivers without choking. The system was noticeably more responsive — Program Manager and File Manager ran smoother, and I could open more apps before hitting memory warnings. By optimizing my startup files, I eliminated the frustrating “Out of Memory” errors when launching Windows or switching back to DOS prompts. In essence, freeing up conventional memory meant Windows 3.11 spent less time shuffling things around and more time doing actual work. It felt like I’d turbo-charged a clunky old machine through sheer configuration magic.

## ⚔️ The DOS/4GW Wars

By the mid-90s, a new enemy appeared: **DOS extenders**.
The most infamous? **DOS/4GW**, bundled with the **Watcom C/C++** compiler.

This little program was the key that unlocked 32-bit **protected mode** for DOS games —
letting them escape the 640 KB box and feast on extended memory.

If you played *DOOM*, *Descent*, *Duke Nukem 3D*, or *Quake*, you saw it:

**DOS/4GW Professional Protected Mode Run-time**

The problem?
DOS/4GW was ruthless.

If your memory config wasn’t clean — if QEMM or `EMM386.EXE` left things messy — the game crashed.
Hard.

That’s when boot-disk alchemy became boot-disk **warfare**.
I had to balance:
– Sound Blaster drivers
– IPX/SPX network stacks for multiplayer
– `SMARTDRV.EXE` for caching

…all while leaving a pristine block of memory for DOS/4GW to hook into.

Most people gave up and rebooted endlessly.
Me? I mastered it.
My boot disks could launch *Descent* or *Duke Nukem 3D* flawlessly —
network, sound, and extender — no compromises.

## ⚡ The Impossible Made Real

While most people struggled to hit **570–580 KB free**, my tuned boot disks delivered:

– **595–605 KB free conventional memory**
– With **full sound, mouse, and CD support**
– Plus a **network stack**, so every machine was LAN-ready from boot

That meant I could run **Wing Commander**, **MechWarrior 2**, or even a full **IPX StarCraft** LAN match without having to kill sound or ditch the network.

Most gamers swapped boot disks like juggling acts — “network boot,” “sound boot,” “game boot.”
I had **one disk** that did it all.

## 🕹️ Why It Mattered

Looking back, it wasn’t just about playing games.
It was about *control*.

Every tweak taught me how systems worked under the hood.
Every kilobyte reclaimed was proof that I could bend the machine to my will.

Most kids played games.
I fought wars in `CONFIG.SYS` and `AUTOEXEC.BAT` — and I won.

That was Technomancy.

Source link

Leave a Reply

Your email address will not be published. Required fields are marked *