Catalog · How the catalog works
netmodem2irc
NetModem/32 revival — virtual COM port FOSSIL Telnet server for classic Windows + DOS i8086 bridge. 34 tests, fpcirc cross-compile.
- ★ 3 on GitHub
Anyone may press Interesting, signed in or not. It helps others find this project.
README
netmodem2irc
Revival of Dedrick Allen's NetModem/32 (32-bit FOSSIL Telnet server, 1997-2001) for modern Windows, with a portable, tested Pascal modem-emulation engine.
"The virtual COM port is the foundation — without it, DOS BBS software is dead hardware. netmodem2irc makes DOS Mystic work on the modern internet. The FOSSIL driver, the serial code, the modem examples — they're not legacy, they're the bridge."
— Antonio Rico (verta1878)
Repository
See Directory Map below for the full annotated tree.
Key directories: engine/ (core), server/ (GUI), fossil/ (4 platforms),
driver/pascal-port/ (VxD port), tests/, docs/, InnoIRC561/ (installer).
Status
Three independent tracks. DOS doesn't feed i386. The installer packages i386.
i386 — the server (the core product)
| Milestone | What | Status |
|---|---|---|
| M0 | Recover Dedrick's original source | ✅ |
| M1 | Engine integrated — 38 tests, 0 failures | ✅ |
| M2 | Builds on Windows — dual compiler verified | ✅ |
| M3 | Live connection — 6 tests pass | ✅ |
| M4 | Virtual COM path (com0com NT + UMDF2 named pipe) | ✅ code written, needs hardware to test |
| M5 | Tagged installable release (= R5.3) | ✅ R5.3 tagged 2026-10-14 |
| Binary | Size | Compiler | Status |
|---|---|---|---|
| NMServer.exe | 2.6M | FPC 2.6.4irc | ✅ Win32 PE32 |
| NMServer.exe | 2.0M | FPC 3.2.2 | ✅ Win32 PE32 |
| NMServer | 5.1M | FPC 3.2.2 | ✅ Linux ELF |
| NMConfig.exe | 2.0M | FPC 3.2.2 | ✅ compiles |
| NETMODEM.CPL | 657K | Dedrick Allen | ✅ original binary |
| NETMODEM.vxd | 31K | JWasm + wlink | ✅ N4+N5 hardened, 0 TODOs |
DOS — the FOSSIL driver
| Phase | What | Status |
|---|---|---|
| D1 | Real 16550 UART — serial.pas (sysop/0) | ✅ |
| D2 | FOSSIL function set — fossil.pas | ✅ |
| D3 | INT 14h + Keep — netfosdl.pas | ✅ |
| D4 | Conformance testing — test suite ready | ✅ (needs 386 to run) |
| D5 | Direct UART relay — 50 tests pass | ✅ |
Installer — Inno Setup
| Phase | What | Status |
|---|---|---|
| Inno 1-8 | ISCC through Compil32 | ✅ |
| Inno 9-10 | Setup.exe + ISCmplr runtime AV | ✅ |
Release milestones
| Phase | What | Status |
|---|---|---|
| R1.1-R1.7 | Debug infrastructure (NM_Debug + panel + SynapseLink) | ✅ |
| R2.1-R2.5 | Setup.exe + ISCmplr AV fix | ✅ DEP fix + Wine deadlock fix |
| R3.3 | Binary safety — 37 tests pass | ✅ |
| R3.4 | Multinode — 25 tests pass (3 simultaneous nodes) | ✅ |
| R4.1 | Win9x VxD test | ✅ mock passes 39/39, needs Win98 VM for real |
| N1 | VxD gap audit — diffed nullmodem95 vs NETMODEM.VXD | ✅ 22/22 VCOMM + 34 FOSSIL + 17 IOCTLs |
| N3 | Engine features — phonebook, blocklist, config GUIs | ✅ 10 files, pushed to repo |
| N4 | VxD hardening — 4 patches, all 34 FIFO sites guarded | ✅ compiled, 0 errors |
| N5 | VxD stubs — ATI4-I7 + comm events | ✅ 0 TODOs remaining |
| R4.2 | NT com0com path — documented | ✅ |
| R4.3 | NT UMDF2 driver — specified | ✅ |
| R5.1 | Inno installer packaging | ✅ wine ISCC.exe builds installer |
| R5.3 | Tagged release — N3+N4+N5, 156 tests, VxD hardened | ✅ R5.3 tagged 2026-10-14 |
Test Results
| Suite | Tests | Pass |
|---|---|---|
| M0-M1 Engine | 38 | 38 |
| R3.3 Binary safety | 37 | 37 |
| M3 Live connection | 6 | 6 |
| R3.4 Multinode | 25 | 25 |
| D5 Direct relay | 50 | 50 |
| Total | 156 | 156 |
Engine Units
| Unit | Lines | What |
|---|---|---|
| NM_UART16550 | — | 16550 UART emulation (registers, RX/TX ring buffers) |
| NM_Debug | — | Three-channel debug (OutputDebugString, log file, callback) |
| NM_DebugView | 1,455 | Protocol analyzer — USR Courier LED panel, hex stream, event log, ANSI/AT/Zmodem decoders, session lifecycle, throughput, export |
| NM_DirectRelay | 299 | TCP↔UART bypass — no FOSSIL dispatch overhead |
| NM_Config | — | Registry configuration |
| NM_ATCommand | — | AT modem command parser |
| NM_Fossil | — | FOSSIL function emulation |
| NM_FossilDriver | — | FOSSIL driver interface |
| NM_Node | — | Node/connection manager (99 nodes) |
| NM_SeamProtocol | — | SEAM length-prefixed binary framing |
| NM_ServerBridge | — | Server bridge (listen, accept, pump) |
| NM_SynapseLink | — | Socket link with debug logging (R1.7) |
| NetTransport | — | Telnet BINARY negotiation, IAC doubling |
| NMVxD | — | VxD interface (cross-platform) |
| NetModemVxD | — | VxD interface (Windows-only) |
| NM_Phonebook | 225 | Virtual phonebook — 100 slots, CSV, AT&Z/ATDS |
| NM_BlockList | 309 | IP allow/block/forward — wildcard + CIDR, first-match-wins |
DOS FOSSIL Driver
dos/driver/
????????? serial.pas 203 lines ??? real 16550 UART (sysop/0)
????????? serial_irq.pas 195 lines ??? ISR + 4KB ring buffer (kiddo)
????????? fossil.pas 398 lines ??? FOSSIL dispatch FSC-0015/0072
????????? netfosdl.pas 323 lines ??? INT 14h hook, Keep, X00 paramsDebugger (NM_DebugView)
Real-time protocol analyzer. Three panels:
USR Courier LED Panel — AA CD OH RD SD TR MR CS HS ARQ. LEDs flicker on data flow, map to UART MSR/MCR register bits.
Event Log — full session lifecycle in plain English: connect, Telnet negotiation, FOSSIL init, login/password detection, menu detection, Zmodem transfer detection, goodbye, disconnect. Session summary with duration, bytes, username, transfer count.
Data Stream — human-readable byte dump. Auto-detects ANSI sequences, AT commands, Zmodem headers, IAC escapes. Throughput counter with peak rate. File transfer progress. Export to file.
See docs/DEBUGGER_GUIDE.md for the plain English reference.
Docs
| Doc | What |
|---|---|
| ROADMAP.md | 3 tracks, all phases, coding standards |
| docs/index.htm | Color-coded doc index with phase status |
| docs/DEBUGGER_GUIDE.md | Plain English debugger reference |
| docs/R42_com0com_NT_path.md | NT virtual COM port setup guide |
| docs/R43_UMDF2_virtual_COM.md | UMDF2 driver specification |
| docs/NETMODEM_VXD_HARDENING.md | VxD N4+N5 patches — 5 items, all compiled |
| docs/serial_irq_plan.md | ISR + ring buffer plan (implemented) |
74 docs total. See docs/index.htm for the full categorized index.
Build
FPC 3.2.2 + Lazarus 3.0 (Linux cross-compile)
# Engine only (no GUI)
fpc -Mobjfpc -Fuengine -Fucommon -Fulibs/synapse -dHAS_SYNAPSE server/NMServer.lpr
# Win32 cross-compile (needs upstream FPC source + LCL)
# Trick: compile forms.pp first, then interfaces.pp, exclude FV
ppcross386 -Twin32 ... server/NMServer.lprFPC 2.6.4irc (the shipping compiler)
# Uses verta1878/fpc264irc toolchain
ppc386 -Twin32 ... server/NMServer.lprTests
fpc -Mobjfpc -dHAS_SYNAPSE tests/test_binary_safety.pas && ./test_binary_safety
fpc -Mobjfpc -dHAS_SYNAPSE tests/test_r34_multinode.pas && ./test_r34_multinode
fpc -Mobjfpc -dHAS_SYNAPSE tests/test_d5_relay.pas && ./test_d5_relay
# D4 FOSSIL conformance: DOS only (ppcross386 -Tgo32v2 -Mtp)VxD Build (driver/build/)
Builds NETMODEM.VXD on Linux natively — no MASM, no DDK, no Wine.
cd driver/build
./build_vxd.shRequires:
- JWasm — MASM-compatible assembler (github.com/JWasm/JWasm)
- wlink — Open Watcom v2 linker (LE/VxD format)
Toolchain verified byte-exact against reference FOSSIL.VXD before first use.
| Build | Size | SHA256 (first 16) |
|---|---|---|
| Baseline (unpatched) | 27,688 | 739b273a54c30c93 |
| Final (N4+N5) | 31,921 | 4efa68d821033030 |
See docs/NETMODEM_VXD_HARDENING.md for all 5 patches.
The Stack
caller (telnet)
??? netmodem2irc (transport) wrench + verta1878
??? FOSSIL (virtual COM) sysop/0 + kiddo
??? PCBoard 15.4 (BBS) hexadecimal
??? Mystic BBS (BBS) evga + kiddo
??? RIPscrip (graphics) kiddo
??? OpenOLMS (offline mail) verta1878 + wrenchCredits
| Who | What |
|---|---|
| verta1878 | Project lead, architect |
| sysop/0 | Compiler (fpc264irc), terminal, serial UART |
| kiddo | Serial IRQ ring buffer, protocols, RIPscrip engine |
| wrench | Engine, debugger, network architecture |
| evga | Cyclades CD1400 driver (DOS + Windows), SIO/SIO2K OS/2 drivers, Display, Mystic |
| hexadecimal | PCBoard 15.4 (pcbrevival) |
| g00r00 | Mystic BBS (GPLv3 upstream) |
| Dedrick Allen | Original NetModem/32 (1997-2001) |
License
GPLv3. See LICENSE.
netmodem2irc — Directory Map
878 files. Annotated guide to every directory and key file.
netmodem2irc/
???
????????? README.md Project overview, status, build instructions
????????? ROADMAP.md 3 tracks, all phases, coding standards
????????? LICENSE GPLv3
????????? LICENSE-GPLv2 Original Dedrick Allen license
????????? LICENSES.md License summary for all components
????????? THIRD_PARTY.md Third-party code attributions
????????? AUTHORS Team members + credits
????????? CREDITS.md Detailed credits
????????? CHANGELOG.md Version history
????????? Makefile Build: make, make tests, make win32, make dos
????????? build.sh Build helper script
????????? DEFERRED-20260725.md Deferred items from session 2
???
????????? engine/ ?????? THE CORE ENGINE (18 units) ??????
??? ????????? NM_UART16550.pas 16550 UART emulation (registers, RX/TX rings)
??? ????????? NM_Debug.pas 3-channel debug (OutputDebugString, log, callback)
??? ????????? NM_DebugView.pas Protocol analyzer ??? 1,455 lines
??? ??? USR Courier LED panel (AA CD OH RD SD TR MR CS HS ARQ)
??? ??? Hex stream + human-readable data viewer
??? ??? Event log with session lifecycle tracing
??? ??? FOSSIL decoder, Telnet decoder, AT command scanner
??? ??? ANSI sequence decoder, throughput counter
??? ??? File transfer progress, session export
??? ????????? NM_DirectRelay.pas TCP???UART bypass (no FOSSIL overhead) ??? 299 lines
??? ????????? NM_Config.pas Registry configuration
??? ????????? NM_ConfigApply.pas Apply config changes at runtime
??? ????????? NM_DefaultConfig.pas Default configuration values
??? ????????? NM_GlobalConfig.pas Global config singleton
??? ????????? NM_ATCommand.pas AT modem command parser (ATDT, ATH, ATA, ATZ)
??? ????????? NM_Fossil.pas FOSSIL function emulation (INT 14h)
??? ????????? NM_FossilDriver.pas FOSSIL driver interface
??? ????????? NM_Int14ISR.pas INT 14h ISR hook (211 lines)
??? ????????? NM_Node.pas Node/connection manager (99 nodes max)
??? ????????? NM_SeamProtocol.pas SEAM length-prefixed binary framing
??? ????????? NM_SeamSender.pas SEAM frame sender
??? ????????? NM_ServerBridge.pas Server bridge (listen, accept, pump)
??? ????????? NM_ServerLink.pas Server link interface
??? ????????? NM_SynapseLink.pas Socket link + debug logging (R1.7)
??? ????????? NM_Listserv.pas Future mailing list server
??? ????????? NM_AutoNews.pas Auto-news feature
??? ????????? NM_TSR.pas TSR support (DOS)
??? ????????? NM_TSRResident.pas TSR resident code (DOS)
??? ????????? NM_NamedPipeLink.pas Named pipe transport
??? ????????? NetTransport.pas Telnet BINARY negotiation, IAC doubling
??? ????????? test/ M0-M1 engine unit tests (38 tests)
??? ????????? run-tests.sh Test runner
??? ????????? test_uart.pas UART emulation tests
??? ????????? test_atcommand.pas AT command tests
??? ????????? test_fossil.pas FOSSIL emulation tests
??? ????????? test_transport.pas Transport layer tests
??? ????????? test_seam*.pas SEAM protocol tests (6 files)
??? ????????? test_bridge*.pas Bridge tests
??? ????????? test_synapse*.pas Socket link tests
??? ????????? ... (28 test files total)
???
????????? server/ ?????? THE SERVER GUI ??????
??? ????????? NMServer.lpr Lazarus project (LCL entry point)
??? ????????? NetModemServer.lpr Alternate entry point (Windows-only deps)
??? ????????? MainForm.pas Main window ??? node list, debug panel (R1.5)
??? ????????? MainForm.lfm Lazarus form layout
??? ????????? SplashForm.pas Splash screen
??? ????????? SplashForm.lfm Splash form layout
??? ????????? NMServer.lpi Lazarus project info
??? ????????? NMServer.res Compiled resources
??? ????????? resources/ Icons + bitmaps (mainicon, splash, status icons)
???
????????? config/ ?????? THE CONFIG TOOL ??????
??? ????????? NMConfig.lpr Config editor entry point
??? ????????? ConfigMain.pas Config main form
??? ????????? ConfigMain.lfm Config form layout
??? ????????? ConfigMain_phonebook.pas Phonebook tab (N3, 172 lines)
??? ????????? ConfigMain_phonebook.lfm Phonebook form layout
??? ????????? ConfigMain_blocking.pas Block/allow tab (N3, 119 lines)
??? ????????? ConfigMain_blocking.lfm Blocking form layout
??? ????????? ConfigMain_listserv.pas Listserv tab (N3)
??? ????????? ConfigMain_listserv.lfm Listserv form layout
??? ????????? NMConfig.res Compiled resources
??? ????????? resources/ Icons + bitmaps (30 resource files)
???
????????? common/ ?????? SHARED UNITS ??????
??? ????????? NMVxD.pas VxD interface (cross-platform)
??? ????????? NetModemVxD.pas VxD interface (Windows-only)
???
????????? fossil/ ?????? FOSSIL DRIVERS (4 PLATFORMS) ??????
??? ????????? common/ Shared code
??? ??? ????????? m_fossil_socket.pas Socket FOSSIL backend (sysop/0, 189 lines)
??? ??? ????????? serial_ext.pas 6 extended serial functions (wrench)
??? ????????? dos/ netfosdl ??? DOS TSR (INT 14h)
??? ??? ????????? fossil.pas FOSSIL dispatch FSC-0015
??? ??? ????????? serial.pas 16550 UART Port[] I/O (sysop/0)
??? ??? ????????? serial_irq.pas ISR + 4KB ring buffer (kiddo)
??? ??? ????????? netfosdl.pas DOS TSR loader
??? ????????? linux/ netfosll ??? Linux ASYNC layer
??? ??? ????????? async_linux.c 23 ASYNC functions (wrench, 326 lines)
??? ????????? os2/ netfosol ??? OS/2 (DosDevIOCtl + socket)
??? ??? ????????? netfosol.pas 428 lines (wrench)
??? ????????? windows/ netfoswl ??? Windows (Win32 COM + socket)
??? ??? ????????? netfoswl.pas 392 lines (wrench)
??? ????????? cyclades/ Cyclades CD1400 ??? 32-port multiport (evga)
??? ????????? cd1400_regs.pas CD1400 register definitions (281 lines)
??? ????????? cy_fossil_bridge.pas 32-port bridge to engine (248 lines)
??? ????????? src/ Windows WDM kernel driver (9 files)
??? ????????? inc/ C headers (6 files)
??? ????????? test/ Test suite (4 files)
??? ????????? tools/ Installer
??? ????????? doc/ Audit, build guide, troubleshooting
???
????????? dos/ ?????? DOS TARGET ??????
??? ????????? driver/ FOSSIL driver (D1-D3)
??? ??? ????????? serial.pas Real 16550 UART ??? Port[] I/O (sysop/0, 203 lines)
??? ??? ????????? serial_irq.pas ISR + 4KB ring buffer, 8259 PIC (kiddo, 195 lines)
??? ??? ????????? fossil.pas FOSSIL dispatch FSC-0015/0072 (398 lines)
??? ??? ????????? netfosdl.pas INT 14h hook, Keep (TSR), X00 params (323 lines)
??? ??? ????????? SERIAL_README.md Driver documentation
??? ????????? fossil_dos.pas DOS FOSSIL interface
??? ????????? netmodem.pas DOS main program
??? ????????? fpc-sockets-request.md Socket API request for fpc264irc
??? ????????? retired/ Superseded DOS code
???
????????? driver/ ?????? VxD SOURCE + BUILD + BINARIES ??????
??? ????????? src/ Hardened VxD source (N4+N5, wrench 2026-10-13)
??? ??? ????????? NETMODEM.ASM 5,823L — patched, 0 TODOs
│ │ ├── NETMODEM.INC Main include (IRQ_Ready added)
│ │ ├── NETMODEM.DEF Module definition
│ │ ├── NETMODEM.RC Resource script
│ │ └── ... 12 more (DDK includes, license, info)
│ ├── build/ JWasm build system (Linux native)
│ │ ├── build_vxd.sh Build script (JWasm + wlink)
│ │ ├── VMM.inc JWasm-compatible DDK includes (7 files)
│ │ └── ... Shell.inc, VComm.inc, VPICD.inc, etc.
│ ├── bin/ Compiled VxDs
│ │ ├── NETMODEM.vxd 31,921B — N4+N5 hardened
│ │ ├── NETMODEM-BASELINE.vxd 27,688B — unpatched reference
│ │ └── SHA256SUMS.txt Checksums
│ └── pascal-port/ VxD → Pascal port (wrench)
│ ├── NM_VxD_Types.pas Packed records matching ASM structs (205 lines)
│ ├── VXD_PORT_PLAN.md 6-phase port plan
│ └── vxd_port_test.pas 7-phase test harness (39 tests)
│
├── libs/ ── LIBRARIES ──
│ └── synapse/ Ararat Synapse socket library (18 files)
│ ├── blcksock.pas TBlockSocket — core socket class
│ ├── synautil.pas Utility functions
│ ├── synaser.pas Serial port (not used — we have serial.pas)
│ ├── synacode.pas Encoding utilities
│ ├── synafpc.pas FPC compatibility
│ ├── synaip.pas IP address utilities
│ ├── synsock.pas Socket definitions
│ ├── *.inc Platform includes (win32, linux, posix, etc.)
│ ├── SYNAPSE_README.md Upstream documentation
│ └── README.md Directory documentation
│
├── tests/ ── INTEGRATION TESTS ──
│ ├── test_binary_safety.pas R3.3: 37 tests — all 256 bytes, CP437, IAC, Zmodem
│ ├── test_m3_server.pas M3: headless echo server
│ ├── test_m3_client.pas M3: test client (6 tests)
│ ├── test_r34_multinode.pas R3.4: 3 simultaneous nodes (25 tests)
│ ├── test_d4_fossil.pas D4: FOSSIL conformance (37 tests, DOS-only)
│ └── test_d5_relay.pas D5: direct UART relay (50 tests)
│
├── out/ ── COMPILED BINARIES ──
│ ├── i386/
│ │ ├── NMServer.exe 2.6M Win32 PE32 (fpc264irc)
│ │ ├── NMConfig.exe Config tool
│ │ ├── NMServer.res Server resources
│ │ ├── NMConfig.res Config resources
│ │ └── NETMODEM.CPL Original Dedrick Allen control panel applet
│ └── win32/
│ ├── NMServer.exe 2.0M Win32 PE32 (FPC 3.2.2)
│ ├── NMConfig.exe Config tool
│ └── NETMODEM.CPL Control panel applet
│
├── cpl/ ── CONTROL PANEL APPLET ──
│ ├── NetModemCPL.pas CPL source
│ ├── IconLegend.pas Status icon legend (N3, 42 lines)
│ ├── IconLegend.lfm Icon legend form layout
│ ├── original_forms/ Dedrick's original Delphi forms (6 .dfm files)
│ └── resources/ CPL icons
│
├── docs/ ── DOCUMENTATION (63 files) ──
│ ├── index.htm Color-coded doc index with phase status
│ ├── DEBUGGER_GUIDE.md Plain English debugger reference
│ ├── R42_com0com_NT_path.md NT virtual COM port setup guide
│ ├── R43_UMDF2_virtual_COM.md UMDF2 driver specification
│ ├── serial_irq_plan.md ISR + ring buffer plan (implemented)
│ ├── DRIVER_INTERFACE.md Driver interface specification
│ ├── GUI_BLUEPRINT.md GUI design blueprint
│ ├── BUILD.md Build instructions
│ ├── BUGS.md Known bugs
│ ├── original/ Dedrick's original docs (ATCOMNDS, README, WHATSNEW)
│ ├── test/ Older test files (M0-M1 era, 14 files)
│ └── ... (50+ architecture, audit, and protocol docs)
│
├── InnoIRC561/ ── INNO SETUP (FPC PORT) ──
│ ├── README.md Inno Setup 5.6.1 FPC port documentation
│ ├── INNO_FPC_PORT.md Port details
│ ├── INNO_ORIGINAL_SOURCE.md Original source notes
│ ├── netmodem2irc.iss Installer script
│ ├── lzma/ LZMA object files (3 .o files)
│ ├── out/ Built Inno binaries (Compil32, ISCC, ISCmplr, etc.)
│ ├── src/ Inno Setup 5.6.1 source (vendored, ~700 files)
│ └── superseded/ Old Inno docs (3 files)
│
├── history/ ── ORIGINAL ARTIFACTS ──
│ ├── ORIGINAL_NETMODEM.md Recovery story
│ ├── FILE_ID.DIZ Original BBS description file
│ ├── NETMODEM.CPL Original control panel applet
│ ├── net32_1b4.zip Dedrick's NetModem/32 beta 4 installer
│ ├── net32_b4/ Extracted installer (SETUP.EXE + packages)
│ ├── netmdb15.zip NetModem DOS 1.5 (Dedrick's DOS version)
│ └── netmdb15/ Extracted DOS version (NETFOSSL.EXE, NETMODEM.EXE)
│
├── attic/ Retired code (historical)
│ ├── driver-vxd-original/ NETMODEM.ASM (5,712 lines, Dedrick Allen)
│ ├── docs/ 50 retired planning docs
│ ├── README.md What's here and why
│ ├── WIN32COM.PAS Old Win32 COM port code
│ ├── docs/ Old docs (6 files, superseded by docs/)
│ ├── netmodem2irc_CREDITS.md Old credits
│ └── watt32/ Watt-32 TCP stubs (retired)
│
└── .github/
└── description GitHub repo descriptionFile Counts
| Directory | Files | What |
|---|---|---|
| engine/ | 22 units + 28 tests | Core modem emulation engine |
| server/ | 8 + resources | NMServer GUI (Lazarus/LCL) |
| config/ | 4 + resources | NMConfig GUI |
| common/ | 2 | Shared VxD interface |
| fossil/common/ | 2 | Shared FOSSIL socket backend |
| fossil/dos/ | 5 | DOS FOSSIL driver (TSR INT 14h) |
| fossil/linux/ | 2 | Linux ASYNC layer (async_linux.c) |
| fossil/os2/ | 2 | OS/2 FOSSIL driver (DosDevIOCtl + socket) |
| fossil/windows/ | 2 | Windows FOSSIL driver (Win32 COM + socket) |
| fossil/cyclades/ | 35 | Cyclades CD1400 driver + bridge + tests (evga) |
| dos/driver/ | 5 | FOSSIL driver (serial + IRQ + dispatch) |
| dos/ | 4 + retired | DOS target code |
| driver/pascal-port/ | 3 | VxD → Pascal port (types, plan, test) |
| libs/synapse/ | 18 | Ararat Synapse socket library |
| tests/ | 8 | Integration test suites (156 + 39 + 54 = 249 tests) |
| out/ | — | Removed (binaries → GitHub Releases) |
| cpl/ | 2 + forms + resources | Control panel applet |
| docs/ | 63 | Architecture, audits, guides, specs |
| InnoIRC561/ | ~720 | Inno Setup FPC port (mostly vendored source) |
| history/ | 15 | Original Dedrick Allen artifacts |
| attic/ | ~70 | Retired VxD source, 50 planning docs, old code |
| root | 13 | README, ROADMAP, LICENSE, Makefile, etc. |
| Total | ~920 |

